public static void HandlePlayerConnected(Packet p) { if (current.Both) { return; } int session = p.ReadInt(); p.ReadInt(); // unused int guid = p.ReadInt(); int game_mode = p.ReadByte(); float game_duration = p.ReadFloat(); int nb_player = p.ReadByte(); int powerup_enable = p.ReadInt(); bool[] powerup = new bool[12]; for (int i = 0, len = powerup.Length; i < len; i++) { powerup[i] = (powerup_enable & 1 << i) != 0; } GameIntel gintel = new GameIntel(game_duration, game_mode, powerup, nb_player, 0, false, false, ""); GameMgr.Instance.gameIntel = gintel; if (current.Session < 0) { current.Session = session; current.Guid = guid; } }
private void Awake() { Instance = this; PassData.Instance.GiveUnits(); PassData.Instance.GiveEnemies(); }
public void Init() { active = true; gameIntel = GameMgr.Instance.gameIntel; int len = gameIntel.nb_players + gameIntel.nb_cpus; player_names = new TextMesh[4]; player_scores = new TextMesh[4]; m_scores = new int[len]; float j = 0; for (int i = 0; i < len; i++) { if (i == 2) { j += 4f; } player_names[i] = (TextMesh)Instantiate(textMeshPrefab, new Vector3(textMeshPrefab.transform.position.x + (3f * i) + j, textMeshPrefab.transform.position.y, textMeshPrefab.transform.position.z), Quaternion.identity); player_names[i].text = "Player " + (i + 1); player_names[i].renderer.material.color = colors[i]; player_names[i].transform.parent = m_timeDisplayer.gameObject.transform; player_scores[i] = (TextMesh)Instantiate(textMeshPrefab, new Vector3(textMeshPrefab.transform.position.x + (3f * i) + j, textMeshPrefab.transform.position.y - 0.4f, textMeshPrefab.transform.position.z), Quaternion.identity); player_scores[i].text = gameIntel.game_mode == Config.GameMode.ARCADE ? "0" : ""; m_scores[i] = 0; } offensiveStr = "Offensive (" + MenuUtils.GetStringFromKeycode((KeyCode)PlayerPrefs.GetInt("OffensiveItemKey")) + ")"; defensiveStr = "Defensive (" + MenuUtils.GetStringFromKeycode((KeyCode)PlayerPrefs.GetInt("DefensiveItemKey")) + ")"; // BindOffensivePower(Config.PowerType.BACK_TO_SCHOOL); // BindDefensivePower(Config.PowerType.IMPENETRABLE_TRINKET); if (gameIntel.game_mode == Config.GameMode.ARCADE) { m_timerscript.Init(); } m_displayer.SetActive(true); }
public static Packet BuildPlayerConnectPacket(int sessionId, int guid, int player_index, GameIntel gintel) { Packet p = new Packet(12 + 1 + 4 + 1 + 4, (int)Opcode.SMSG_PLAYER_CONNECTED); p.Write(sessionId); p.Write(player_index); p.Write(guid); p.Write((byte)gintel.game_mode); p.Write(gintel.game_duration); p.Write((byte)gintel.nb_players); int powerUpEnable = 0; foreach (var power in gintel.power_ups) { powerUpEnable |= 1 << (int)power; } p.Write(powerUpEnable); return(p); }