Exemple #1
0
    private void ViewSyncFromPC(Vector3 cameraPos, Vector3 cameraRot,
                                Vector3 modelPos, Vector3 modelRot, Vector3 modelScale)
    {
        NFHeroCameraFollow controller = mMainCamera.GetComponent <NFHeroCameraFollow>();

        controller.MoveTo(cameraPos, cameraRot);
        Vector3 newModelPos = new Vector3(modelPos.x, modelPos.y, modelPos.z);
        Vector3 newModelRot = new Vector3(modelRot.x, modelRot.y, modelRot.z);

        transform.position    = newModelPos;
        transform.eulerAngles = newModelRot;
    }
Exemple #2
0
        public void LoadSceneEnd(int nSceneID)
        {
            if (!mbInitSend)
            {
                mbInitSend = true;

                //NFNetController.Instance.mxNetSender.RequireEnterGameFinish (NFNetController.Instance.xMainRoleID);
            }

            if (false == mbLoadedScene)
            {
                return;
            }

            BeforeLoadSceneEnd(nSceneID);

            mbLoadedScene = false;

            //主角贴地,出生点

            /*
             * GameObject xGameObject = (GameObject)mhtObject[mLoginModule.mRoleID];
             * if (null != xGameObject)
             * {
             *  xGameObject.transform.position = mvSceneBornPos;
             *  //xGameObject.GetComponent<NFCStateMachineMng> ().ChangeState (NFAnimaStateType.Idle);
             * }
             */
            GameObject xGameObject = (GameObject)mhtObject[mLoginModule.mRoleID];

            foreach (Transform child in xGameObject.GetComponentsInChildren <Transform>())
            {
                if (child.name.Contains("Shadow"))
                {
                    child.GetComponent <MeshRenderer>().enabled = false;
                }
                if (child.name.Contains("Hero001"))
                {
                    foreach (Transform grandchild in child.GetComponentsInChildren <Transform>())
                    {
                        if (!grandchild.name.Contains("Shadow"))
                        {
                            continue;
                        }
                    }
                }
            }


            GameObject xModelGameObject = new GameObject();

            xModelGameObject.transform.parent = xGameObject.transform.parent;
            Transform shadow = GetChild(xGameObject.transform, "Shadow (1)");

            shadow.gameObject.GetComponent <MeshRenderer>().enabled = false;
            Transform heroMesh = GetChild(xGameObject.transform, "Customer");

            heroMesh.gameObject.GetComponent <SkinnedMeshRenderer>().enabled = false;
            // xGameObject.GetComponent<MeshRenderer>().enabled = false;
            InitCadModel(xModelGameObject);
            mModelObject = xModelGameObject;
            NFHeroCameraFollow xHeroCameraFollow = Camera.main.GetComponent <NFHeroCameraFollow>();

            if (!xHeroCameraFollow)
            {
                xHeroCameraFollow = Camera.main.GetComponentInParent <NFHeroCameraFollow>();
            }

            xHeroCameraFollow.SetPlayer(mModelObject.transform);


            NFMsg.ESceneType nType = (NFMsg.ESceneType)mElementModule.QueryPropertyInt(nSceneID.ToString(), NFrame.Scene.Type);
            mUIModule.CloseAllUI();
            mUIModule.ShowUI <NFUIMain>();
            // mUIModule.ShowUI<NFUIEstateBar>();
            mUIModule.ShowUI <NFUIJoystick>();

            Debug.Log("LoadSceneEnd: " + nSceneID + " " + nType);
        }
Exemple #3
0
        private void OnConfigIDChangeHandler(NFGUID self, string strProperty, NFDataList.TData oldVar, NFDataList.TData newVar, Int64 reason)
        {
            Vector3 vec = GetRenderObjectPosition(self);

            DestroyObject(self);

            if (vec.Equals(Vector3.zero))
            {
                NFVector3 vec3 = mKernelModule.QueryPropertyVector3(self, NPC.Position);
                vec.x = vec3.X();
                vec.y = vec3.Y();
                vec.z = vec3.Z();
            }

            string strCnfID      = newVar.StringVal();
            string strPrefabPath = mElementModule.QueryPropertyString(strCnfID, NPC.Prefab);

            if (strPrefabPath.Length <= 0)
            {
                strPrefabPath = mElementModule.QueryPropertyString("DefaultObject", NPC.Prefab);
            }
            GameObject xPlayer = CreateObject(self, strPrefabPath, vec, NFrame.Player.ThisName);

            if (xPlayer)
            {
                xPlayer.name = NFrame.Player.ThisName;
                xPlayer.transform.Rotate(new Vector3(0, 90, 0));

                NFBodyIdent xBodyIdent = xPlayer.GetComponent <NFBodyIdent>();
                if (null != xBodyIdent)
                {//不能没有
                    xBodyIdent.enabled = true;
                    xBodyIdent.SetObjectID(self);
                    xBodyIdent.cnfID = strCnfID;
                }
                else
                {
                    Debug.LogError("No 'BodyIdent' component in " + strPrefabPath);
                }

                if (self == mLoginModule.mRoleID)
                {
                    InitPlayerComponent(self, xPlayer, true);
                }
                else
                {
                    InitPlayerComponent(self, xPlayer, false);
                }

                if (Camera.main && self == mLoginModule.mRoleID)
                {
                    NFHeroCameraFollow xHeroCameraFollow = Camera.main.GetComponent <NFHeroCameraFollow>();
                    if (!xHeroCameraFollow)
                    {
                        xHeroCameraFollow = Camera.main.GetComponentInParent <NFHeroCameraFollow>();
                    }

                    xHeroCameraFollow.SetPlayer(xPlayer.transform);
                }

                Debug.Log("Create Object successful" + NFrame.Player.ThisName + " " + vec.ToString() + " " + self.ToString());
            }
            else
            {
                Debug.LogError("Create Object failed" + NFrame.Player.ThisName + " " + vec.ToString() + " " + self.ToString());
            }
        }
Exemple #4
0
        public void InitPlayerComponent(NFGUID xID, GameObject self, bool bMainRole)
        {
            if (null == self)
            {
                return;
            }

            if (!self.GetComponent <Rigidbody>())
            {
                self.AddComponent <Rigidbody>();
            }

            if (!self.GetComponent <NFHeroSyncBuffer>())
            {
                self.AddComponent <NFHeroSyncBuffer>();
            }

            if (!self.GetComponent <NFHeroSync>())
            {
                self.AddComponent <NFHeroSync>();
            }

            NFHeroInput xInput = self.GetComponent <NFHeroInput>();

            if (!xInput)
            {
                xInput = self.AddComponent <NFHeroInput>();
            }

            if (bMainRole)
            {
                xInput.enabled = true;
                xInput.SetInputEnable(true);
            }
            else
            {
                xInput.enabled = false;
                xInput.SetInputEnable(false);
            }

            if (!self.GetComponent <GroundDetection>())
            {
                GroundDetection groundDetection = self.AddComponent <GroundDetection>();
                groundDetection.enabled    = true;
                groundDetection.groundMask = -1;
            }

            if (!self.GetComponent <CharacterMovement>())
            {
                CharacterMovement characterMovement = self.AddComponent <CharacterMovement>();
                characterMovement.enabled = true;
            }

            if (!self.GetComponent <NFHeroMotor>())
            {
                NFHeroMotor xHeroMotor = self.AddComponent <NFHeroMotor>();
                xHeroMotor.enabled = true;
            }

            if (!self.GetComponent <NFAnimatStateController>())
            {
                NFAnimatStateController xHeroAnima = self.AddComponent <NFAnimatStateController>();
                xHeroAnima.enabled = true;
            }

            if (!self.GetComponent <NFAnimaStateMachine>())
            {
                NFAnimaStateMachine xHeroAnima = self.AddComponent <NFAnimaStateMachine>();
                xHeroAnima.enabled = true;
            }

            if (bMainRole)
            {
                if (Camera.main)
                {
                    NFHeroCameraFollow xHeroCameraFollow = Camera.main.GetComponent <NFHeroCameraFollow>();
                    if (!xHeroCameraFollow)
                    {
                        xHeroCameraFollow = Camera.main.GetComponentInParent <NFHeroCameraFollow>();
                    }

                    xHeroCameraFollow.target = self.transform;
                }


                CapsuleCollider xHeroCapsuleCollider = self.GetComponent <CapsuleCollider>();
                xHeroCapsuleCollider.isTrigger = false;
            }
            else
            {
                CapsuleCollider xHeroCapsuleCollider = self.GetComponent <CapsuleCollider>();
                Rigidbody       rigidbody            = self.GetComponent <Rigidbody>();

                string         configID = mKernelModule.QueryPropertyString(xID, NFrame.IObject.ConfigID);
                NFMsg.ENPCType npcType  = (NFMsg.ENPCType)mElementModule.QueryPropertyInt(configID, NFrame.NPC.NPCType);
                //NFMsg.esub npcSubType = (NFMsg.ENPCType)mElementModule.QueryPropertyInt(configID, NFrame.NPC.NPCSubType);
                if (npcType == NFMsg.ENPCType.TurretNpc)
                {
                    //is trigger must false if it is a building
                    // and the kinematic must true
                    xHeroCapsuleCollider.isTrigger = false;
                    //rigidbody.isKinematic = true;
                    //rigidbody.useGravity = true;
                    rigidbody.mass = 10000;
                }
                else
                {
                    xHeroCapsuleCollider.isTrigger = true;
                }
            }
        }