Exemplo n.º 1
0
        public void LoadOther(Vector3 pos, BattlePlayerData other, int index, float scale)
        {
            int playerId = other.PlayerId;

            _dicPlayerIndex.Add(index, playerId);

            BattleField field = ResourceLoader.LoadAssetAndInstantiate("Prefab/BattleFiled", BattleRootTran, pos).GetComponent <BattleField>();

            field.SetScale(scale);
            field.Load(playerId, other.HeroId, other.SceneId);
            _dicField.Add(playerId, field);

            BattleHero heroE = ResourceLoader.LoadAssetAndInstantiate("Prefab/BattleHero", _dicField[playerId].ForegroundTran).GetComponent <BattleHero>();

            heroE.Init(playerId, other.IsRobot, other.HeroId);
            _dicHeros.Add(playerId, heroE);
        }
Exemplo n.º 2
0
        public override void ProcessMessage(ConnectBase conn, ByteBuffer data)
        {
            int moduleId = data.readByte();

            switch (moduleId)
            {
            case LOAD:
            {
                int type      = data.readByte();
                int roomId    = data.readInt();
                int seed      = data.readInt();
                int frequency = data.readByte();
                int stairs    = data.readInt();
                int size      = data.readByte();
                List <BattlePlayerData> others = new List <BattlePlayerData>();
                for (int i = 0; i < size; ++i)
                {
                    BattlePlayerData player = new BattlePlayerData();
                    player.PlayerId   = data.readInt();
                    player.IsRobot    = data.readBoolean();
                    player.PlayerName = data.readUTF();
                    player.SceneId    = data.readByte();
                    player.HeroId     = data.readByte();
                    player.HP         = 5;
                    others.Add(player);
                }
                if (type == 1)
                {
                    BattleManager.GetInst().LoadDouble(roomId, seed, frequency, stairs, others);
                }
                else if (type == 2)
                {
                    BattleManager.GetInst().LoadFive(roomId, seed, frequency, stairs, others);
                }

                break;
            }

            case START:
            {
                BattleManager.GetInst().BattleStart();
                SocketHandler.GetInst().UdpStart();
                break;
            }

            case SYNC_HP:
            {
                int playerId = data.readInt();
                int hp       = data.readByte();
                BattleManager.GetInst().SyncHp(playerId, hp);
                break;
            }

            case GET_ITEM:
            {
                int playerId = data.readInt();
                int item     = data.readByte();
                BattleManager.GetInst().EnqueueSkill(playerId, item);
                break;
            }

            case RELEASE_SKILL:
            {
                int  fromId = data.readInt();
                int  toId   = data.readInt();
                int  type   = data.readByte();
                bool bMain  = data.readBoolean();
                BattleManager.GetInst().ReleaseSkill(fromId, toId, type);
                if (!bMain)
                {
                    BattleManager.GetInst().DequeueSkill(fromId);
                }
                break;
            }

            case RESULT:
            {
                BattleManager.GetInst().IsBattleRun = false;
                int playerId = data.readInt();
                BattleManager.GetInst().DisableHero(playerId);
                BattleResultPanel.GetInst().ShowPanel(playerId);
                break;
            }

            case HERO_FAILED:
            {
                int playerId = data.readInt();
                BattleManager.GetInst().SetFailed(playerId);
                break;
            }
            }
        }
Exemplo n.º 3
0
 private void LoadPlayerInfo(BattlePlayerData data, int playerIndex)
 {
     LoadPlayerInfo(data.PlayerId, data.PlayerName, data.SceneId, data.HP, playerIndex);
 }