Example #1
0
 /// <summary>
 /// 同一个玩家在同一帧中有多个操作,后者会覆盖前者
 /// </summary>
 /// <param name="ID"></param>
 /// <param name="op"></param>
 public void AddPlayerOp(ulong ID, IPlayerOp op)
 {
     if (playerDict.ContainsKey(ID) == false)
     {
         return;
     }
     else
     {
         if (opDict.ContainsKey(ID) == true)
         {
             opDict.Remove(ID);
         }
         opDict.Add(ID, op);
     }
 }
Example #2
0
        public void ApplyOp(IPlayerOp op)
        {
            if (this.isDie)
            {
                return;
            }

            switch (op.Type)
            {
            case PlayerOpEnum.Move:
                WalkAction wa = new WalkAction();
                wa.dir = (op as MoveOp).Direction;
                this.ApplyChangePos(wa);

                break;

            case PlayerOpEnum.Jump:

                JumpAction ja = new JumpAction();
                this.ApplyChangePos(ja);
                break;
            }
        }