Example #1
0
    // 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);
    }
Example #2
0
    void Start()
    {
        NFCKernelModule.Instance().RegisterClassCallBack(NFrame.Player.ThisName, OnClassPlayerEventHandler);
        NFCKernelModule.Instance().RegisterClassCallBack(NFrame.NPC.ThisName, OnClassNPCEventHandler);

        NFCPlayerLogic.Instance().RegisterCallback((int)NFCPlayerLogic.Event.PlayerMove, OnPlayerMove);
    }
Example #3
0
    // 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;
    }
Example #4
0
    // 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();
    }
Example #5
0
    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()));
        }
    }
Example #6
0
    // 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);
    }
Example #7
0
    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);
    }
Example #8
0
 private void OnRoleClick(int nIndex)
 {
     NFCPlayerLogic.Instance().RequireEnterGameServer(nIndex);
     NFCUIManager.Instance().CloseUI();
     Application.LoadLevel(1);
 }
Example #9
0
    // UI Event
    private void onCreateRoleClick()
    {
        string strRoleName = "TestRole" + Random.Range(0, 1000);

        NFCPlayerLogic.Instance().RequireCreateRole(strRoleName, 1, 1);
    }