예제 #1
0
        public void Update(GameFightSynchronizeMessage msg)
        {
            if (msg == null)
            {
                throw new ArgumentNullException("msg");
            }

            TimeLine.Update(msg);

            foreach (var info in msg.fighters)
            {
                var fighter = GetFighter(info.contextualId);

                if (fighter == null)
                {
                    logger.Error("(GameFightSynchronizeMessage) Fighter {0} not found", info.contextualId);
                }
                else
                {
                    fighter.Update(info);
                }
            }
        }
예제 #2
0
        public void Update(GameFightTurnListMessage msg)
        {
            if (msg == null)
            {
                throw new ArgumentNullException("msg");
            }

            foreach (var id in msg.ids.Except(msg.deadsIds))
            {
                var fighter = GetFighter(id);

                if (fighter == null)
                {
                    logger.Error("(GameFightTurnListMessage) Fighter {0} not found", id);
                }
                else
                {
                    fighter.IsAlive = true;
                }
            }

            foreach (var deadsId in msg.deadsIds)
            {
                var fighter = GetFighter(deadsId);

                if (fighter == null)
                {
                    logger.Error("(GameFightTurnListMessage) Fighter {0} not found", deadsId);
                }
                else
                {
                    fighter.IsAlive = false;
                }
            }

            TimeLine.RefreshTimeLine(msg.ids.Except(msg.deadsIds));
        }