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); }
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; } } }
private void LoadPlayerInfo(BattlePlayerData data, int playerIndex) { LoadPlayerInfo(data.PlayerId, data.PlayerName, data.SceneId, data.HP, playerIndex); }