示例#1
0
 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);
         }
     }
 }
示例#2
0
 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);
         }
     }
 }
示例#3
0
 public FlyDragonState_Hide(FlyDragon flyDragon) : base(flyDragon)
 {
 }
示例#4
0
 public override void StateUpdate()
 {
     FlyDragon.Move(MoveDirect);
     CheckHide();
 }
示例#5
0
 public FlyDragonState_FlyAway(FlyDragon flyDragon, bool isClickRight) : base(flyDragon)
 {
     MoveDirect = (isClickRight) ? Vector2.left : Vector2.right;
 }
示例#6
0
 public override void OnPointerClick(PointerEventData pointerEvent)
 {
     FlyDragon.SetFlyAwayState(pointerEvent.pointerCurrentRaycast.worldPosition.x > FlyDragon.TransformRoot.position.x);
 }
示例#7
0
 public FlyDragonState_Wander(FlyDragon flyDragon) : base(flyDragon)
 {
 }
示例#8
0
 public IFlyDragonState(FlyDragon flyDragon) : base(flyDragon)
 {
 }