예제 #1
0
        private void OnRecvPlayerMove(IChannel channel, Message message)
        {
            SPlayerMove     msg      = message as SPlayerMove;
            NetworkEntity   self     = networkEntities[msg.ID];
            IPlayerBehavior behavior = (IPlayerBehavior)(self.behavior);
            Vector2         move     = new Vector2(msg.move.x, msg.move.y);
            Vector3         position = new Vector3(msg.pos.x, msg.pos.y, msg.pos.z);
            Quaternion      rotation = new Quaternion(msg.rot.x, msg.rot.y, msg.rot.z, msg.rot.w);

            switch (msg.state)
            {
            case MoveState.BEGIN:
            {
                behavior.MoveBegin(move, position, rotation);
                break;
            }

            case MoveState.STEP:
            {
                behavior.MoveStep(move, position, rotation);
                break;
            }

            case MoveState.END:
            {
                behavior.MoveEnd(move, position, rotation);
                break;
            }

            default:
                break;
            }
        }
예제 #2
0
        /**
         * @brief 접속 종료
         * @param nickName 이름
         * @param pos 생성 위치
         * @param isPlayer 나 인가 아닌가
         */
        public void CreateUser(int idx, string nickName, Vector3 pos, MOVE_CONTROL moveC, bool isPlayer)
        {
            GameObject  obj    = Instantiate(playerPrefs, pos, Quaternion.identity) as GameObject;
            SPlayerMove player = obj.GetComponent <SPlayerMove>();

            player.myIdx    = idx;
            player.nickName = nickName;
            player.isPlayer = isPlayer;
            player.myMove   = moveC;

            v_user.Add(player);
        }
예제 #3
0
        private void OnRecvPlayerMove(IChannel channel, Message message)
        {
            CPlayerMove request = message as CPlayerMove;
            Player      player  = (Player)World.Instance.GetEntity(request.player);

            player.Position = Entity.V3ToPoint3d(request.pos);
            SPlayerMove response = new SPlayerMove();

            response.ID    = request.player;
            response.state = request.state;
            response.pos   = request.pos;
            response.rot   = request.rot;
            response.move  = request.move;
            response.state = request.state;
            player.Broadcast(response, true);
        }
예제 #4
0
 void Start()
 {
     HeroSc = GameObject.Find("PLAYER").GetComponent <SPlayerMove>();
 }