Exemplo n.º 1
0
    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;
        }
    }
Exemplo n.º 2
0
    private void Awake()
    {
        Instance = this;

        PassData.Instance.GiveUnits();

        PassData.Instance.GiveEnemies();
    }
Exemplo n.º 3
0
    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);
    }
Exemplo n.º 4
0
    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);
    }