Beispiel #1
0
        //沿着指定方向行走 结束
        public static void ReceiveWalkEnd(byte[] data)
        {
            S2CNwarMoveStop playerWalkStop = S2CPackBase.DeserializePack <S2CNwarMoveStop>(data);

            if (playerWalkStop.stop.id.Equals(Game.GetInstance().LocalPlayerID.obj_idx))
            {
                return;
            }

            Actor actor = ActorManager.Instance.GetPlayer(playerWalkStop.stop.id);

            if (null == actor)
            {
                return;
            }

            MoveCtrl ctrl = actor.MoveCtrl;

            if (null != ctrl)
            {
                ctrl.ReceiveWalkEnd(playerWalkStop);
            }
        }
Beispiel #2
0
        public void ReceiveWalkEnd(S2CNwarMoveStop walk)
        {
            if (false == mIsRecvMsg)
            {
                return;
            }

            Vector3 pos = Vector3.zero;
            Vector3 dir = Vector3.zero;

            pos.x = walk.stop.pos.px * GlobalConst.UnitScale;
            pos.z = walk.stop.pos.py * GlobalConst.UnitScale;
            Maths.Util.AngleToVector(walk.stop.dir, ref dir);// 停止移动时,默认z轴方向为0

            MoveStep step = new MoveStep();

            step.type  = EActorStepType.AT_WALK_END;
            step.pos   = pos;
            step.dir   = dir;
            step.speed = 0.0f;

            mCurStep = step;
            mbDirty  = true;
        }