예제 #1
0
        public override void ClientDo(ServerConnectionWorker connectionWork)
        {
            GameObject monster = HasActionObjectManager.Instance.monsterManager.getObjById(aoId);

            //做动作的时候,可能还没有真正实例化出来
            if (monster == null)
            {
                return;
            }
            monster.transform.localRotation = Quaternion.AngleAxis(yRotate, Vector3.up);
            GameObjectController controller = monster.GetComponent <GameObjectController>();

            if (controller.baseAttribute.isNetObj)
            {
                controller.Move(direction);
                if (isJump)
                {
                    controller.Jump();
                }
                else
                {
                    controller.StopJump();
                }
                controller.DoAction(actionId);
            }
        }
예제 #2
0
        public override void ClientDo(ServerConnectionWorker connectionWork)
        {
            GameObject player = HasActionObjectManager.Instance.playerManager.getObjById(aoId);

            //做动作的时候,可能还没有真正实例化出来
            if (player == null)
            {
                return;
            }

            GameObjectController controller = player.GetComponent <GameObjectController>();

//			if(!controller.IsRead)return;
            player.transform.localRotation = Quaternion.AngleAxis(yRotate, Vector3.up);
            controller.Move(direction);
            if (isJump)
            {
                controller.Jump();
            }
            else
            {
                controller.StopJump();
            }
            controller.DoAction(actionId);
        }
예제 #3
0
 private void moveToNextblock()
 {
     if (_movePath == null || _movePath.pathData == null)
     {
         _controller.StopMove();
         return;
     }
     _nextPoint = _movePath.pathData[_moveStep];
     _lookObj.transform.position = new Vector3(_nextPoint.x, gameObject.transform.position.y, _nextPoint.z);
     faceToNextBlock(_lookObj.transform);
     if (isMoveToBlock(_nextPoint))
     {
         _moveStep++;
         if (_moveStep >= _movePath.pathData.Length - 1)
         {
             isAutoMove = false;
             _controller.StopMove();
             EventManager.SendEvent(EventMacro.MOVE_TO_DESPOINT, gameObject);
             return;
         }
     }
     _controller.Move(new Vector3(0, 0, _movespeed));
 }