예제 #1
0
    public void GamestateApplyTeamPacketListenerTest()
    {
        short actorNumber = 1;
        GamestateCommitTestHelper <TeamEntry> testHelper = new GamestateCommitTestHelper <TeamEntry>(actorNumber);
        GamestateTable <TeamEntry>            teams      = testHelper.TestTable(GamestateTracker.Table.Teams);
        GamestateRandomTestingUnit            generator  = new GamestateRandomTestingUnit(145);

        for (short i = 0; i < 100; i++)
        {
            TeamEntry teamEntry = teams.Create(i);
            generator.RandomiseTeamEntry(teamEntry);

            GamestatePacket packet = GamestatePacketManager.GetPacket();

            bool listenerACalled = false;
            bool listenerBCalled = false;
            bool listenerCCalled = false;

            teamEntry.AddListener((TeamEntry entry) => {
                GamestateAssertionUnit.AssertPacketApplied(entry, packet);
                entry.Release();
                listenerACalled = true;
            });

            teamEntry.AddListener((TeamEntry entry) => {
                GamestateAssertionUnit.AssertPacketApplied(entry, packet);
                entry.Release();
                listenerBCalled = true;
            });

            teamEntry.AddListener((TeamEntry entry) => {
                GamestateAssertionUnit.AssertPacketApplied(entry, packet);
                entry.Release();
                listenerCCalled = true;
            });

            teamEntry.Commit();

            packet = testHelper.commitedPackets[0];
            testHelper.Apply(packet);

            Assert.That(listenerACalled, Is.EqualTo(true));
            Assert.That(listenerBCalled, Is.EqualTo(true));
            Assert.That(listenerCCalled, Is.EqualTo(true));

            testHelper.commitedPackets.Clear();
        }
    }
    void AddListenerToThisTeam()
    {
        TeamEntry teamEntry = gamestateTracker.teams.Read((short)teamId);

        teamEntry.AddListener(TeamListenerCallback);
        //   teamEntry.Commit();
    }
 void SetUpScoreboard()
 {
     for (int i = 0; i < gamestateTracker.teams.count; i++)
     {
         TeamEntry team = gamestateTracker.teams.GetAtIndex(i);
         team.AddListener(TeamListener);
         team.Release();
         teamPanels[i].gameObject.SetActive(true);
         teamPanels[i].Setup();
     }
     UpdateScores();
 }