Ejemplo n.º 1
0
        public void ProcessState()
        {
            if (processCtr % msgRate == 0)
            {
                //Send scoreboard updates
                IEnumerator byStat = playerStatsById.GetEnumerator();
                byStat.Reset();
                while (byStat.MoveNext())
                {
                    KeyValuePair <StatBoardEnum, Dictionary <int, int> > curKV = (KeyValuePair <StatBoardEnum, Dictionary <int, int> >)byStat.Current;
                    StatBoardEvent statBoard = new StatBoardEvent(curKV.Key, curKV.Value);
                    eventMgr.SendEvent(statBoard);
                }
            }
            //calculate ship stats

            //TO-DO
            foreach (Ship shipOne in shipMgr.ShipTable.Values)
            {
                foreach (Ship shipTwo in shipMgr.ShipTable.Values)
                {
                    Vector3 distance = shipOne.ShipState.Orientation.Inverse() * (shipOne.Position - shipTwo.Position);
                    if (distance.z < 0 && distance.x * distance.x + distance.y * distance.y < distance.z * distance.z && distance.Length < FOLLOW_DISTANCE)
                    {
                        playerStatsById[StatBoardEnum.PositiveTime][shipTwo.ID]++;
                        playerStatsById[StatBoardEnum.NegativeTime][shipOne.ID]++;
                    }
                }
            }
            processCtr++;
        }
Ejemplo n.º 2
0
 private void handleStatUpdate(GameEvent e)
 {
     try {
         StatBoardEvent sbe = (StatBoardEvent)e;
         if (sbe.Stat == StatBoardEnum.PositiveTime)
         {
             int myScore;
             if (sbe.ValueById.TryGetValue(playerId, out myScore))
             {
                 TextRenderer.UpdateTextBox("score", "Game Mode: " + GameModeFactory.GetName(gameMode) + "\nScore: " + myScore);
             }
         }
     }
     catch (Exception err) {
         Util.RecordException(err);
     }
 }
Ejemplo n.º 3
0
        public void ProcessState()
        {
            if (processCtr % msgRate == 0) {
                //Send scoreboard updates
                IEnumerator byStat = playerStatsById.GetEnumerator();
                byStat.Reset();
                while (byStat.MoveNext()) {
                    KeyValuePair<StatBoardEnum, Dictionary<int, int>> curKV = (KeyValuePair<StatBoardEnum, Dictionary<int, int>>)byStat.Current;
                    StatBoardEvent statBoard = new StatBoardEvent(curKV.Key, curKV.Value);
                    eventMgr.SendEvent(statBoard);
                }

            }
            //calculate ship stats
            foreach (Ship shipOne in shipMgr.ShipTable.Values)
            {
                foreach (Ship shipTwo in shipMgr.ShipTable.Values)
                {
                    Vector3 distance = shipOne.ShipState.Orientation.Inverse() * (shipOne.Position - shipTwo.Position);
                    if (distance.z < 0 && distance.x * distance.x + distance.y * distance.y < distance.z *distance.z && distance.Length < FOLLOW_DISTANCE)
                    {
                        playerStatsById[StatBoardEnum.PositiveTime][shipTwo.ID]++;
                        playerStatsById[StatBoardEnum.NegativeTime][shipOne.ID]++;
                    }
                }
            }
            processCtr++;
        }