// Logic Event public bool OnRoleList(NFIDataList valueList) { ArrayList serverList = NFCPlayerLogic.Instance().mRoleList; Debug.Log("OnRoleList" + serverList.Count); ArrayList lst = new ArrayList(); foreach (Transform child in mContentList.transform) { lst.Add(child); Debug.Log(child.gameObject.name); } foreach (Transform child in lst) { Destroy(child.gameObject); } int nIndex = 0; foreach (NFMsg.RoleLiteInfo info in serverList) { GameObject item = Instantiate(mItemModle); item.transform.SetParent(mContentList); item.transform.localScale = UnityEngine.Vector3.one; item.GetComponentInChildren <Text>().text = System.Text.Encoding.Default.GetString(info.noob_name); int nRoleIndex = nIndex; item.GetComponent <Button>().onClick.AddListener(() => { OnRoleClick(nRoleIndex); }); nIndex++; } return(true); }
void Start() { NFCKernelModule.Instance().RegisterClassCallBack(NFrame.Player.ThisName, OnClassPlayerEventHandler); NFCKernelModule.Instance().RegisterClassCallBack(NFrame.NPC.ThisName, OnClassNPCEventHandler); NFCPlayerLogic.Instance().RegisterCallback((int)NFCPlayerLogic.Event.PlayerMove, OnPlayerMove); }
// Update is called once per frame void FixedUpdate() { // read inputs float h = CrossPlatformInputManager.GetAxis("Horizontal"); float v = CrossPlatformInputManager.GetAxis("Vertical"); bool crouch = Input.GetKey(KeyCode.C); // calculate move direction to pass to character if (m_Cam != null) { // calculate camera relative direction to move: m_CamForward = Vector3.Scale(m_Cam.forward, new Vector3(1, 0, 1)).normalized; m_Move = v * m_CamForward + h * m_Cam.right; } else { // we use world-relative directions in the case of no main camera m_Move = v * Vector3.forward + h * Vector3.right; } #if !MOBILE_INPUT // walk speed multiplier if (Input.GetKey(KeyCode.LeftShift)) { m_Move *= 0.5f; } #endif // pass all parameters to the character control script m_Character.Move(m_Move, crouch, m_Jump); m_Jump = false; // 同步坐标给服务器 bool bMove = false; if ((h != 0.0f || v != 0.0f)) { bMove = true; } if (mSyncTimeTick > mSyncTime || (mSyncTimeTick > 0 && !bMove) || m_LastMove != m_Move) { NFCPlayerLogic.Instance().RequireMove(transform.position); mSyncTimeTick = 0.0f; } if (bMove) { mSyncTimeTick += Time.deltaTime; } m_LastMove = m_Move; }
// Use this for initialization void Start() { mContentList = transform.Find("Panel/ListView/Mask/Content"); mItemModle = mContentList.Find("Item").gameObject; mItemModle.transform.SetParent(null); mCreateRole = transform.Find("Panel/CreateRole").GetComponent <Button>(); mCreateRole.onClick.AddListener(onCreateRoleClick); NFCPlayerLogic.Instance().RegisterCallback((int)NFCPlayerLogic.Event.RoleList, OnRoleList); NFCPlayerLogic.Instance().RequireRoleList(); }
private void OnClassPlayerEventHandler(NFGUID self, int nContainerID, int nGroupID, NFIObject.CLASS_EVENT_TYPE eType, string strClassName, string strConfigIndex) { if (eType == NFIObject.CLASS_EVENT_TYPE.OBJECT_CREATE) { Debug.Log("OBJECT_CREATE:" + self.ToString()); string strConfigID = NFCKernelModule.Instance().QueryPropertyString(self, "ConfigID"); Vector3 vec = new Vector3(); vec.x = (float)NFCKernelModule.Instance().QueryPropertyFloat(self, "X"); vec.y = (float)NFCKernelModule.Instance().QueryPropertyFloat(self, "Y"); vec.z = (float)NFCKernelModule.Instance().QueryPropertyFloat(self, "Z"); // MainPlayer string strPrefabPath = "Player/AIThirdPersonController"; if (self == NFCPlayerLogic.Instance().mRoleID) { strPrefabPath = "Player/ThirdPersonController"; } //if (strConfigID.Length <= 0) //{ // strPrefabPath = NFCElementModule.Instance().QueryPropertyString("Player", "Prefab"); //} //else //{ // strPrefabPath = NFCKernelModule.Instance.GetElementModule().QueryPropertyString(strConfigID, "Prefab"); //} //CreateObject(self, strPrefabPath, vec, strClassName); GameObject perfb = Resources.Load <GameObject>(strPrefabPath); GameObject player = GameObject.Instantiate(perfb); player.name = self.ToString(); player.transform.SetParent(transform); player.transform.position = vec; // MainPlayer if (self == NFCPlayerLogic.Instance().mRoleID) { player.AddComponent <MainPlayer>(); } else { var other = player.AddComponent <OtherPlayer>(); other.MoveTo(vec); } } else if (eType == NFIObject.CLASS_EVENT_TYPE.OBJECT_DESTROY) { DestroyObject(transform.Find(self.ToString())); } }
// Update is called once per frame void FixedUpdate() { bool bMove = false; if (Input.GetKey(KeyCode.W) | Input.GetKey(KeyCode.UpArrow)) //前 { this.transform.Translate(mCamera.transform.forward * m_speed * Time.deltaTime); bMove = true; } if (Input.GetKey(KeyCode.S) | Input.GetKey(KeyCode.DownArrow)) //后 { this.transform.Translate(mCamera.transform.forward * -m_speed * Time.deltaTime); bMove = true; } if (Input.GetKey(KeyCode.A) | Input.GetKey(KeyCode.LeftArrow)) //左 { this.transform.Translate(mCamera.transform.right * -m_speed * Time.deltaTime); bMove = true; } if (Input.GetKey(KeyCode.D) | Input.GetKey(KeyCode.RightArrow)) //右 { this.transform.Translate(mCamera.transform.right * m_speed * Time.deltaTime); bMove = true; } if (bMove) { mSyncTimeTick += Time.deltaTime; } if (mSyncTimeTick > mSyncTime || (mSyncTimeTick > 0 && !bMove)) { NFCPlayerLogic.Instance().RequireMove(transform.position); mSyncTimeTick = 0.0f; } //float horizontal = Input.GetAxis("Horizontal"); //A D 左右 //float vertical = Input.GetAxis("Vertical"); //W S 上 下 //mSyncTimeTick //transform.Translate(Vector3.forward * vertical * m_speed * Time.deltaTime);//W S 上 下 //transform.Translate(Vector3.right * horizontal * m_speed * Time.deltaTime);//A D 左右 //NFCPlayerLogic.Instance().RequireMove(transform.position); }
public bool OnPlayerMove(NFIDataList valueList) { NFGUID tar = valueList.ObjectVal(0); if (tar == NFCPlayerLogic.Instance().mRoleID) { return(true); } OtherPlayer player = transform.Find(tar.ToString()).GetComponent <OtherPlayer>(); double fSpeed = valueList.FloatVal(1); NFVector3 pos = valueList.Vector3Val(2); player.MoveTo(new Vector3(pos.X(), pos.Y(), pos.Z())); return(true); }
private void OnRoleClick(int nIndex) { NFCPlayerLogic.Instance().RequireEnterGameServer(nIndex); NFCUIManager.Instance().CloseUI(); Application.LoadLevel(1); }
// UI Event private void onCreateRoleClick() { string strRoleName = "TestRole" + Random.Range(0, 1000); NFCPlayerLogic.Instance().RequireCreateRole(strRoleName, 1, 1); }