private void Move(DeltaDirection direction, float deltaTime)
 {
     if (direction.X != 0 || direction.Y != 0)
     {
         anim.Run();
         float angle = Mathf.Atan2(direction.X, direction.Y) * Mathf.Rad2Deg;
         // 混乱状态下,操作与移动方向相反
         if (attr.isChaos)
         {
             angle += 180;
         }
         transform.rotation = Quaternion.Euler(new Vector3(0, angle, 0));
         if (!attr.canMove)
         {
             return;
         }
         RaycastHit hit;
         if (!Physics.Raycast(transform.position + transform.forward * deltaTime * speed, transform.forward, out hit, FightScene.instance.wallDistance, LayerMask.GetMask(LayerEunm.WALL)))
         {
             transform.Translate(Vector3.forward * deltaTime * speed, Space.Self);
             if (RoomData.isMainRole(attr.seat))
             {
                 action.Night();
             }
         }
     }
     else
     {
         anim.Idle();
     }
 }
 void SendMoveMsg(float x, float y, float deltaTime)
 {
     if (attr.isDied)
     {
         return;
     }
     if (!FrameActions.instance.isLock)
     {
         DeltaDirection direction = new DeltaDirection();
         direction.X = x;
         direction.Y = y;
         FrameInfo move = new FrameInfo();
         move.Skillid   = (int)SkillEunm.SkillID.notSkill;
         move.Move      = direction;
         move.DeltaTime = Time.deltaTime;
         FrameActions.instance.Add(move);
     }
 }
Esempio n. 3
0
        protected bool HandleDragDelta(DeltaDirection deltaDirection)
        {
            if (deltaDirection == DeltaDirection.Next)
            {
                if (CurrentPage != NumberOfPages || LoopEndlessly)
                {
                    NextPage();
                }
                return(true);
            }
            else if (deltaDirection == DeltaDirection.Previous)
            {
                if (CurrentPage != 1 || LoopEndlessly)
                {
                    PreviousPage();
                }
                return(true);
            }

            return(false);
        }
Esempio n. 4
0
        void HandleScrollWheel(DeltaDirection direction)
        {
            bool handled = false;

            if (LoopSeamlessly && !ShowPagePreviews)
            {
                // Slightly different logic if we're on the first or last pages
                var pagePosition = GetPagePosition(CurrentPage);
                if (NumberOfPages >= 3 && (pagePosition == 1 || pagePosition == NumberOfPages))
                {
                    if (direction == DeltaDirection.Next)
                    {
                        MoveFirstPageToEnd();
                        NextPage();
                        handled = true;
                    }
                    else if (direction == DeltaDirection.Previous)
                    {
                        MoveLastPageToStart();
                        PreviousPage();
                        handled = true;
                    }
                }
            }

            if (!handled)
            {
                if (direction == DeltaDirection.Next)
                {
                    NextPage();
                }
                else if (direction == DeltaDirection.Previous)
                {
                    PreviousPage();
                }
            }
        }