private void CheckHide() { if (FlyDragon.CameraController != null) { Vector2 pos = FlyDragon.TransformRoot.position; float leftX = FlyDragon.CameraController.boundaryLeftBottom.x; float rightX = FlyDragon.CameraController.boundaryRightTop.x; if (pos.x <= leftX || pos.x >= rightX) { FlyDragon.SetState(eFlyDragonState.Hide); } } }
public override void StateUpdate() { if (FlyDragon.FaceDirect == Vector2.right) { FlyDragon.Move(Vector2.right); if (FlyDragon.TransformRoot.position.x >= WanderXLimit) { FlyDragon.Move(Vector2.left); } } if (FlyDragon.FaceDirect == Vector2.left) { FlyDragon.Move(Vector2.left); if (FlyDragon.TransformRoot.position.x <= -WanderXLimit) { FlyDragon.Move(Vector2.right); } } }
public FlyDragonState_Hide(FlyDragon flyDragon) : base(flyDragon) { }
public override void StateUpdate() { FlyDragon.Move(MoveDirect); CheckHide(); }
public FlyDragonState_FlyAway(FlyDragon flyDragon, bool isClickRight) : base(flyDragon) { MoveDirect = (isClickRight) ? Vector2.left : Vector2.right; }
public override void OnPointerClick(PointerEventData pointerEvent) { FlyDragon.SetFlyAwayState(pointerEvent.pointerCurrentRaycast.worldPosition.x > FlyDragon.TransformRoot.position.x); }
public FlyDragonState_Wander(FlyDragon flyDragon) : base(flyDragon) { }
public IFlyDragonState(FlyDragon flyDragon) : base(flyDragon) { }