Beispiel #1
0
    void OnSetChaClass(params object[] param)
    {
        excel_cha_class chaClass = param[0] as excel_cha_class;

        if (chaClass == null)
        {
            return;
        }
        if (btnTriggers == null)
        {
            return;
        }
        for (int i = 0; i < chaClass.skillIDs.Length && i < btnTriggers.Length; ++i)
        {
            int skillID = chaClass.skillIDs[i];
            excel_skill_list skillList = excel_skill_list.Find(skillID);
            if (skillList == null)
            {
                Debug.LogError("UIFight技能初始化失败,未找到ID为" + skillID + "的技能数据");
                continue;
            }

            EventTriggerListener listener = btnTriggers[i];

            GameObject   go           = listener.gameObject;
            SkillBtnData skillBtnData = new SkillBtnData();
            Transform    joystick     = go.transform.Find("Joystick");
            if (joystick != null)
            {
                skillBtnData.joystick = joystick.transform;
            }
            Transform joystickBG = go.transform.Find("Joystick_BG");
            if (joystickBG != null)
            {
                skillBtnData.joystickBG = joystickBG.gameObject;
            }
            skillBtnData.btnImage  = go.GetComponent <Image>();
            skillBtnData.maxRadius = 64.0f;
            skillBtnData.opType    = (SkillPreOpType)skillList.skillPreOpType;
            skillBtnData.opData1   = skillList.skillPreOpData1;
            skillBtnData.opData2   = skillList.skillPreOpData2;
            skillBtnData.skillID   = skillID;
            skillDatas.Add(go, skillBtnData);

            listener.onDrag        += OnSkillBtnDrag;
            listener.onPointerDown += OnSkillBtnPress;
            listener.onPointerUp   += OnSkillBtnRelease;
        }
    }
Beispiel #2
0
    void OnInitPlayers(byte[] data)
    {
        NotifyStartGame startGame = ProtoBufUtils.Deserialize <NotifyStartGame>(data);
        excel_scn_list  scnList   = SceneSystem.Instance.mCurrentScene.mScnLists;

        GameController.mServerStartTime = startGame.ServerStartTime;
        GameController.mClientStartTime = Time.realtimeSinceStartup;

        for (int i = 0; i < startGame.Players.Count; ++i)
        {
            ScnPlayerInfo playerInfo = startGame.Players[i];

            excel_cha_class chaClass = excel_cha_class.Find(mScnLists.temp);
            if (chaClass == null)
            {
                continue;
            }

            excel_cha_list chaList = excel_cha_list.Find(chaClass.chaListID);

            GameObject o = ResourceSystem.Load <GameObject>(chaList.path);
            if (o != null)
            {
                GameObject mainPlayer = GameObject.Instantiate(o);
                Player     player     = mainPlayer.GetComponent <Player>();
                player.gid      = playerInfo.GID;
                player.UserID   = playerInfo.UserID;
                player.mChaList = chaList;

                mainPlayer.transform.position   = new Vector3(82.51f, 7.25f, 34.82f);
                mainPlayer.transform.localScale = new Vector3(chaList.scale[0], chaList.scale[1], chaList.scale[2]);

                mPlayersList.Add(player);
                mCharacterList.Add(player);
                mPlayers.Add(player.gid, player);
                mCharacters.Add(player.gid, player);

                if (GameController.mUserInfo.uid == playerInfo.UserID)
                {
                    player.mEvent += TargetChgEvent;

                    MessageSystem.Instance.MsgDispatch(MessageType.OnSetChaClass, chaClass);

                    GameController.OnPlayerInit(player);
                }
            }

            //ResourceSystem.LoadAsync<GameObject>(chaList.path, (obj) =>
            //{
            //    GameObject o = obj as GameObject;
            //    if (o != null)
            //    {
            //        GameObject mainPlayer = GameObject.Instantiate(o);
            //        Player player = mainPlayer.GetComponent<Player>();
            //        player.gid = playerInfo.GID;
            //        player.UserID = playerInfo.UserID;
            //        player.mChaList = chaList;

            //        mainPlayer.transform.position = new Vector3(82.51f, 7.25f, 34.82f);
            //        mainPlayer.transform.localScale = new Vector3(chaList.scale[0], chaList.scale[1], chaList.scale[2]);

            //        mPlayersList.Add(player);
            //        mCharacterList.Add(player);
            //        mPlayers.Add(player.gid, player);
            //        mCharacters.Add(player.gid, player);

            //        if (GameController.mUserInfo.uid == playerInfo.UserID)
            //        {
            //            player.mEvent += TargetChgEvent;

            //            MessageSystem.Instance.MsgDispatch(MessageType.OnSetChaClass, chaClass);

            //            GameController.OnPlayerInit(player);
            //        }
            //    }
            //});
        }
    }