diff --git a/Assets/Scripts/PlayerMovement.cs b/Assets/Scripts/PlayerMovement.cs index 951aed3..97868f0 100644 --- a/Assets/Scripts/PlayerMovement.cs +++ b/Assets/Scripts/PlayerMovement.cs @@ -175,7 +175,7 @@ public class PlayerMovement : MonoBehaviour { } } - class NormalMovementState : BaseStatePlayerMovement { + public class NormalMovementState : BaseStatePlayerMovement { public NormalMovementState(PlayerMovement playerMovement) : base(playerMovement) {} public override void EnterState() { @@ -256,6 +256,7 @@ public class PlayerMovement : MonoBehaviour { playerMovement.globalCamera.SetActive(true); playerMovement.rb.SetEnabled(false); + safeZone.canvas.gameObject.SetActive(false); } protected override BaseState Transition() => new ImmobileMovementState(playerMovement); @@ -274,6 +275,7 @@ public class PlayerMovement : MonoBehaviour { base.LeaveState(); playerMovement.rb.SetEnabled(true); + safeZone.canvas.gameObject.SetActive(true); } protected override float ModifyLerpTime(float t) => safeZone.Stats.JumpSpeedCurve.Evaluate(t); diff --git a/Assets/Scripts/SafeZone.cs b/Assets/Scripts/SafeZone.cs index f5201c9..44b3b0d 100644 --- a/Assets/Scripts/SafeZone.cs +++ b/Assets/Scripts/SafeZone.cs @@ -6,7 +6,7 @@ public class SafeZone : MonoBehaviour { public SafeZoneStats Stats { get; private set; } [SerializeField] Collider2D moatCollider; - [SerializeField] RectTransform canvas; + [SerializeField] public RectTransform canvas; public float OutsideDistance => moatCollider.bounds.extents.x + Stats.JumpOffset; @@ -19,7 +19,7 @@ public class SafeZone : MonoBehaviour { } private void OnTriggerStay2D(Collider2D other) { - if(!(other.GetComponent() is null)){ + if(other.GetComponent() is {} playerMovement && playerMovement.currentState is PlayerMovement.NormalMovementState){ Vector3 diff = (other.transform.position - transform.position); //Player is in the zone around the moat if(diff.magnitude >= moatCollider.bounds.extents.x){