diff --git a/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/Corn.cs b/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/Corn.cs index 29fb7949..729ad60f 100644 --- a/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/Corn.cs +++ b/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/Corn.cs @@ -32,8 +32,8 @@ public class Corn : MonoBehaviour private float cornBurntTime; private float cornGrowTime; private float cornGrowSpeed; - private float maxSpeed = 50f; - private float popSpeed = 20f; + private float cornSpillSpeed; + private float cornPopSpeed; public IReadOnlyReactiveProperty Condition => condition; private readonly ReactiveProperty condition = new ReactiveProperty(CornCondition.Seed); @@ -59,7 +59,7 @@ public class Corn : MonoBehaviour // コーンが飛んでいく this.ObserveEveryValueChanged(x => x.rigidbody.velocity.magnitude) - .Where(x => x >= maxSpeed) + .Where(x => x >= cornSpillSpeed) .FirstOrDefault() .Subscribe(_ => { @@ -116,7 +116,7 @@ public class Corn : MonoBehaviour private void CornPop() { spriteRenderer.sprite = cornSimpleSprite; - rigidbody.AddForce(popSpeed * new Vector2(Random.value * 2 - 1, Random.value * 2 - 1), ForceMode2D.Impulse); + rigidbody.AddForce(cornPopSpeed * new Vector2(Random.value * 2 - 1, Random.value * 2 - 1), ForceMode2D.Impulse); animator.SetTrigger(HashCornGrow); } @@ -132,10 +132,12 @@ public class Corn : MonoBehaviour GetComponent().enabled = false; } - public void SetCornProperty(float popTime, float burntDuration) + public void SetCornProperty(float popTime, float burntDuration, float spillSpeed, float popSpeed) { cornPopTime = popTime + Random.Range(0, 2f); cornBurntTime = cornPopTime + burntDuration + Random.Range(0, 1f); + cornSpillSpeed = spillSpeed; + cornPopSpeed = popSpeed; } public void ChangeGrowSpeed(float speed) diff --git a/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/CornManager.cs b/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/CornManager.cs index d7e2ebf2..4f581109 100644 --- a/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/CornManager.cs +++ b/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/CornManager.cs @@ -21,6 +21,8 @@ public class CornManager : MonoBehaviour [SerializeField] private float hotGrowSpeed; [SerializeField] private float baseCornPopTime = 5f; [SerializeField] private float cornBurntDuration = 5f; + [SerializeField] private float cornSpillSpeed = 50f; + [SerializeField] private float cornPopSpeed = 20f; public IReadOnlyReactiveProperty Result => result; private readonly ReactiveProperty result = new ReactiveProperty(); @@ -62,7 +64,7 @@ public class CornManager : MonoBehaviour { var corn = Instantiate(cornPrefab, cornSpawnTarget); cornArray[i] = corn; - corn.SetCornProperty(baseCornPopTime, cornBurntDuration); + corn.SetCornProperty(baseCornPopTime, cornBurntDuration, cornSpillSpeed, cornPopSpeed); // 進行速度の変更時、コーン速度変更 cornGrowSpeed.TakeWhile(_ => !isCompleted).Subscribe(x =>