コード例 #1
0
ファイル: NFNormalSkill5.cs プロジェクト: zli1989/NFUnitySDK
 public NFNormalSkill5(GameObject gameObject, NFAnimaStateType eState, NFAnimaStateMachine xStateMachine, float fHeartBeatTime, float fExitTime, bool input = false)
     : base(gameObject, eState, xStateMachine, fHeartBeatTime, fExitTime, input)
 {
     xBodyIdent = gameObject.GetComponent <NFBodyIdent>();
     xInput     = gameObject.GetComponent <NFHeroInput>();
     xHeroMotor = gameObject.GetComponent <NFHeroMotor>();
     xHeroSync  = gameObject.GetComponent <NFHeroSync>();
 }
コード例 #2
0
ファイル: NFHeroMotor.cs プロジェクト: sl-sandy/NFUnitySDK
    void Start()
    {
        mAnima             = GetComponent <NFAnimatStateController>();
        mBodyIdent         = GetComponent <NFBodyIdent>();
        mAnimaStateMachine = GetComponent <NFAnimaStateMachine>();
        mHeroInput         = GetComponent <NFHeroInput>();
        mHeroSync          = GetComponent <NFHeroSync>();

        mxGUID        = mBodyIdent.GetObjectID();
        moveDirection = new Vector3();

        mKernelModule.RegisterPropertyCallback(mxGUID, NFrame.Player.MOVE_SPEED, PropertyEventHandler);
    }
コード例 #3
0
        private void EGMI_ACK_MOVE_IMMUNE(int id, MemoryStream stream)
        {
            Debug.Log("EGMI_ACK_MOVE_IMMUNE " + Time.time);
            NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream);

            NFMsg.ReqAckPlayerPosSync xData = NFMsg.ReqAckPlayerPosSync.Parser.ParseFrom(xMsg.MsgData);

            if (xData.SyncUnit.Count <= 0)
            {
                return;
            }

            for (int i = 0; i < xData.SyncUnit.Count; ++i)
            {
                NFMsg.PosSyncUnit posSync = xData.SyncUnit[i];
                NFGUID            xMover  = mHelpModule.PBToNF(posSync.Mover);
                if (xMover.IsNull())
                {
                    return;
                }

                GameObject xGameObject = mSceneModule.GetObject(xMover);
                if (!xGameObject)
                {
                    return;
                }

                NFHeroSync xHeroSync = xGameObject.GetComponent <NFHeroSync>();
                if (!xHeroSync)
                {
                    return;
                }


                //TODO
                //GC----------

                /*
                 * UnityEngine.Vector3 v = new UnityEngine.Vector3();
                 * v.x = vector.X;
                 * v.y = vector.Y;
                 * v.z = vector.Z;
                 */
                //xHeroSync.AddSyncData(v);

                //float fSpeed = mKernelModule.QueryPropertyInt(xMover, NFrame.NPC.MOVE_SPEED) / 100.0f;
                //fSpeed *= 1.5f;
                //mSceneModule.MoveImmuneBySpeed(PBToNF(xData.mover), new Vector3(xData.target_pos[0].x, xData.target_pos[0].y, xData.target_pos[0].z), fSpeed, true);
            }
        }
コード例 #4
0
    public override void Enter(GameObject gameObject, int index)
    {
        xBodyIdent = gameObject.GetComponent <NFBodyIdent>();
        xHeroMotor = gameObject.GetComponent <NFHeroMotor>();
        xHeroSync  = gameObject.GetComponent <NFHeroSync>();

        base.Enter(gameObject, index);

        if (mStateMachine.IsMainRole())
        {
            //xHeroSync.SendSyncMessage();
        }
        //看是否还按住移动选项,如果按住,则继续walk

        if (!xHeroMotor.isOnGround)
        {
            mAnimatStateController.PlayAnimaState(NFAnimaStateType.Fall, -1);
        }
    }
コード例 #5
0
        private void EGMI_ACK_POS_SYNC(int id, MemoryStream stream)
        {
            NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream);

            NFMsg.ReqAckPlayerPosSync xData = NFMsg.ReqAckPlayerPosSync.Parser.ParseFrom(xMsg.MsgData);


            NFGUID xMover = mHelpModule.PBToNF(xData.Mover);

            if (xMover.IsNull())
            {
                Debug.LogError("xMover " + Time.time);
                return;
            }

            if (xMover == mLoginModule.mRoleID)
            {
                return;
            }

            GameObject xGameObject = mSceneModule.GetObject(xMover);

            if (!xGameObject)
            {
                Debug.LogError("xGameObject " + Time.time);
                return;
            }

            NFHeroSync xHeroSync = xGameObject.GetComponent <NFHeroSync>();

            if (!xHeroSync)
            {
                Debug.LogError("xHeroSync " + Time.time);
                return;
            }

            xHeroSync.AddSyncData(xData);
        }
コード例 #6
0
        private void EGMI_ACK_SKILL_OBJECTX(int id, MemoryStream stream)
        {
            NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream);

            NFMsg.ReqAckUseSkill xData = NFMsg.ReqAckUseSkill.Parser.ParseFrom(xMsg.MsgData);

            NFGUID     xUser       = mHelpModule.PBToNF(xData.User);
            GameObject xGameObject = mSceneModule.GetObject(xUser);

            if (xGameObject)
            {
                NFHeroSync xHeroSync = xGameObject.GetComponent <NFHeroSync>();
                if (!xHeroSync)
                {
                    Debug.LogError("xHeroSync " + Time.time);
                    return;
                }

                //xHeroSync.Clear();

                //NFHeroSkill xHeroSkill = xGameObject.GetComponent<NFHeroSkill>();
                //xHeroSkill.AckSkill(xUser, xData.UseIndex, xData.SkillId.ToStringUtf8(), xData.EffectData.ToList<NFMsg.EffectData>());
            }
        }
コード例 #7
0
        //////////////////////////////////
        ///
        private void EGMI_ACK_MOVE(int id, MemoryStream stream)
        {
            Debug.Log("Move " + Time.time);

            NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream);

            NFMsg.ReqAckPlayerPosSync xData = NFMsg.ReqAckPlayerPosSync.Parser.ParseFrom(xMsg.MsgData);

            if (xData.SyncUnit.Count <= 0)
            {
                return;
            }

            for (int i = 0; i < xData.SyncUnit.Count; ++i)
            {
                NFMsg.PosSyncUnit syncUnit = xData.SyncUnit[i];

                NFGUID xMover = mHelpModule.PBToNF(syncUnit.Mover);

                if (xMover.IsNull())
                {
                    Debug.LogError("xMover " + Time.time);
                    return;
                }

                if (xMover == mLoginModule.mRoleID && syncUnit.Type == PosSyncUnit.Types.EMoveType.EmtWalk)
                {
                    //平常自己行走不需要同步
                    return;
                }

                GameObject xGameObject = mSceneModule.GetObject(xMover);
                if (!xGameObject)
                {
                    Debug.LogError("xGameObject " + Time.time);
                    return;
                }

                NFHeroMotor xHeroMotor = xGameObject.GetComponent <NFHeroMotor>();
                if (!xHeroMotor)
                {
                    Debug.LogError("xHeroSync " + Time.time);
                    return;
                }

                NFHeroSync xHeroSync = xGameObject.GetComponent <NFHeroSync>();
                if (!xHeroSync)
                {
                    Debug.LogError("xHeroSync " + Time.time);
                    return;
                }
                UnityEngine.Vector3 v = new UnityEngine.Vector3();
                v.x = syncUnit.Pos.X;
                v.y = syncUnit.Pos.Y;
                v.z = syncUnit.Pos.Z;

                if (syncUnit.Type == PosSyncUnit.Types.EMoveType.EmtWalk)
                {
                    xHeroSync.AddSyncData(xData.Sequence, syncUnit);
                }
                else if (syncUnit.Type == PosSyncUnit.Types.EMoveType.EetSpeedy)
                {
                    xHeroMotor.MoveToImmune(v, 0.1f);
                }
                else if (syncUnit.Type == PosSyncUnit.Types.EMoveType.EetTeleport)
                {
                    xHeroMotor.MoveToImmune(v, 0.001f);
                }
            }
        }