예제 #1
0
            public object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                bool aborted = serializer.deserializeBoolean(buffer);
                var  results = (BattleResults)serializer.deserializeAny(buffer);

                return(new BattleEndedEvent(aborted, results));
            }
예제 #2
0
            public object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                string robotName = serializer.deserializeString(buffer);
                double bearing   = buffer.getDouble();
                double energy    = buffer.getDouble();
                bool   atFault   = serializer.deserializeBoolean(buffer);

                return(new HitRobotEvent(robotName, bearing, energy, atFault));
            }
예제 #3
0
            public Object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                double power           = buffer.getDouble();
                bool   fireAssistValid = serializer.deserializeBoolean(buffer);
                double fireAssistAngle = buffer.getDouble();
                int    bulletId        = buffer.getInt();

                return(new BulletCommand(power, fireAssistValid, fireAssistAngle, bulletId));
            }
예제 #4
0
            public Object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                double power = buffer.getDouble();
                bool fireAssistValid = serializer.deserializeBoolean(buffer);
                double fireAssistAngle = buffer.getDouble();
                int bulletId = buffer.getInt();

                return new BulletCommand(power, fireAssistValid, fireAssistAngle, bulletId);
            }
예제 #5
0
            public Object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                var res = new ExecResults();

                res.halt         = serializer.deserializeBoolean(buffer);
                res.shouldWait   = serializer.deserializeBoolean(buffer);
                res.paintEnabled = serializer.deserializeBoolean(buffer);

                res.commands = (ExecCommands)serializer.deserializeAny(buffer);
                res.status   = (RobotStatus)serializer.deserializeAny(buffer);

                Object item = serializer.deserializeAny(buffer);

                res.events        = new List <Event>();
                res.teamMessages  = new List <TeamMessage>();
                res.bulletUpdates = new List <BulletStatus>();
                while (item != null)
                {
                    if (item is Event)
                    {
                        res.events.Add((Event)item);
                    }
                    item = serializer.deserializeAny(buffer);
                }
                item = serializer.deserializeAny(buffer);
                while (item != null)
                {
                    if (item is TeamMessage)
                    {
                        res.teamMessages.Add((TeamMessage)item);
                    }
                    item = serializer.deserializeAny(buffer);
                }
                item = serializer.deserializeAny(buffer);
                while (item != null)
                {
                    if (item is BulletStatus)
                    {
                        res.bulletUpdates.Add((BulletStatus)item);
                    }
                    item = serializer.deserializeAny(buffer);
                }
                return(res);
            }
예제 #6
0
            public object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                bool        isJuniorRobot      = serializer.deserializeBoolean(buffer);
                bool        isInteractiveRobot = serializer.deserializeBoolean(buffer);
                bool        isPaintRobot       = serializer.deserializeBoolean(buffer);
                bool        isAdvancedRobot    = serializer.deserializeBoolean(buffer);
                bool        isTeamRobot        = serializer.deserializeBoolean(buffer);
                bool        isTeamLeader       = serializer.deserializeBoolean(buffer);
                bool        isDroid            = serializer.deserializeBoolean(buffer);
                string      name           = serializer.deserializeString(buffer);
                string      shortName      = serializer.deserializeString(buffer);
                string      veryShortName  = serializer.deserializeString(buffer);
                string      fullClassName  = serializer.deserializeString(buffer);
                string      shortClassName = serializer.deserializeString(buffer);
                BattleRules battleRules    = HiddenAccessN.createRules(
                    serializer.deserializeInt(buffer),
                    serializer.deserializeInt(buffer),
                    serializer.deserializeInt(buffer),
                    serializer.deserializeDouble(buffer),
                    serializer.deserializeLong(buffer)
                    );

                var    teammates = new List <string>();
                object item      = serializer.deserializeString(buffer);

                while (item != null)
                {
                    if (item is string)
                    {
                        teammates.Add((string)item);
                    }
                    item = serializer.deserializeString(buffer);
                }

                string teamName        = serializer.deserializeString(buffer);
                int    index           = serializer.deserializeInt(buffer);
                int    contestantIndex = serializer.deserializeInt(buffer);


                return(new RobotStatics(
                           isJuniorRobot,
                           isInteractiveRobot,
                           isPaintRobot,
                           isAdvancedRobot,
                           isTeamRobot,
                           isTeamLeader,
                           isDroid,
                           name,
                           shortName,
                           veryShortName,
                           fullClassName,
                           shortClassName,
                           battleRules,
                           teammates.ToArray(),
                           teamName,
                           index,
                           contestantIndex
                           ));
            }
예제 #7
0
            public Object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                int    bulletId   = buffer.getInt();
                String victimName = serializer.deserializeString(buffer);
                bool   isActive   = serializer.deserializeBoolean(buffer);
                double x          = buffer.getDouble();
                double y          = buffer.getDouble();

                return(new BulletStatus(bulletId, x, y, victimName, isActive));
            }
예제 #8
0
            public Object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                int bulletId = buffer.getInt();
                String victimName = serializer.deserializeString(buffer);
                bool isActive = serializer.deserializeBoolean(buffer);
                double x = buffer.getDouble();
                double y = buffer.getDouble();

                return new BulletStatus(bulletId, x, y, victimName, isActive);
            }
            public object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                string name          = serializer.deserializeString(buffer);
                double energy        = buffer.getDouble();
                double heading       = buffer.getDouble();
                double bearing       = buffer.getDouble();
                double distance      = buffer.getDouble();
                double velocity      = buffer.getDouble();
                bool   isSentryRobot = serializer.deserializeBoolean(buffer);

                return(new ScannedRobotEvent(name, energy, bearing, distance, heading, velocity, isSentryRobot));
            }
예제 #10
0
            public object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                double headingRadians = buffer.getDouble();
                double x          = buffer.getDouble();
                double y          = buffer.getDouble();
                double power      = buffer.getDouble();
                string ownerName  = serializer.deserializeString(buffer);
                string victimName = serializer.deserializeString(buffer);
                bool   isActive   = serializer.deserializeBoolean(buffer);
                int    bulletId   = serializer.deserializeInt(buffer);

                return(new Bullet(headingRadians, x, y, power, ownerName, victimName, isActive, bulletId));
            }
예제 #11
0
            public object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                string robotName = serializer.deserializeString(buffer);
                double bearing = buffer.getDouble();
                double energy = buffer.getDouble();
                bool atFault = serializer.deserializeBoolean(buffer);

                return new HitRobotEvent(robotName, bearing, energy, atFault);
            }
예제 #12
0
            public Object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                var res = new ExecCommands();

                res.bodyTurnRemaining  = buffer.getDouble();
                res.radarTurnRemaining = buffer.getDouble();
                res.gunTurnRemaining   = buffer.getDouble();
                res.distanceRemaining  = buffer.getDouble();

                res.isAdjustGunForBodyTurn      = serializer.deserializeBoolean(buffer);
                res.isAdjustRadarForGunTurn     = serializer.deserializeBoolean(buffer);
                res.isAdjustRadarForBodyTurn    = serializer.deserializeBoolean(buffer);
                res.isAdjustRadarForBodyTurnSet = serializer.deserializeBoolean(buffer);

                res.bodyColor   = buffer.getInt();
                res.gunColor    = buffer.getInt();
                res.radarColor  = buffer.getInt();
                res.scanColor   = buffer.getInt();
                res.bulletColor = buffer.getInt();

                res.maxTurnRate = buffer.getDouble();
                res.maxVelocity = buffer.getDouble();

                res.moved           = serializer.deserializeBoolean(buffer);
                res.scan            = serializer.deserializeBoolean(buffer);
                res.isIORobot       = serializer.deserializeBoolean(buffer);
                res.isTryingToPaint = serializer.deserializeBoolean(buffer);

                res.outputText = serializer.deserializeString(buffer);

                res.graphicsCalls = serializer.deserializeBytes(buffer);

                Object item = serializer.deserializeAny(buffer);

                while (item != null)
                {
                    if (item is BulletCommand)
                    {
                        res.bullets.Add((BulletCommand)item);
                    }
                    item = serializer.deserializeAny(buffer);
                }
                item = serializer.deserializeAny(buffer);
                while (item != null)
                {
                    if (item is TeamMessage)
                    {
                        res.teamMessages.Add((TeamMessage)item);
                    }
                    item = serializer.deserializeAny(buffer);
                }
                item = serializer.deserializeAny(buffer);
                while (item != null)
                {
                    if (item is DebugProperty)
                    {
                        res.debugProperties.Add((DebugProperty)item);
                    }
                    item = serializer.deserializeAny(buffer);
                }
                return(res);
            }
예제 #13
0
            public object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                double headingRadians = buffer.getDouble();
                double x = buffer.getDouble();
                double y = buffer.getDouble();
                double power = buffer.getDouble();
                string ownerName = serializer.deserializeString(buffer);
                string victimName = serializer.deserializeString(buffer);
                bool isActive = serializer.deserializeBoolean(buffer);

                return new Bullet(headingRadians, x, y, power, ownerName, victimName, isActive, -1);
            }
예제 #14
0
            public Object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                var res = new ExecResults();

                res.halt = serializer.deserializeBoolean(buffer);
                res.shouldWait = serializer.deserializeBoolean(buffer);
                res.paintEnabled = serializer.deserializeBoolean(buffer);

                res.commands = (ExecCommands) serializer.deserializeAny(buffer);
                res.status = (RobotStatus) serializer.deserializeAny(buffer);

                Object item = serializer.deserializeAny(buffer);

                res.events = new List<Event>();
                res.teamMessages = new List<TeamMessage>();
                res.bulletUpdates = new List<BulletStatus>();
                while (item != null)
                {
                    if (item is Event)
                    {
                        res.events.Add((Event) item);
                    }
                    item = serializer.deserializeAny(buffer);
                }
                item = serializer.deserializeAny(buffer);
                while (item != null)
                {
                    if (item is TeamMessage)
                    {
                        res.teamMessages.Add((TeamMessage) item);
                    }
                    item = serializer.deserializeAny(buffer);
                }
                item = serializer.deserializeAny(buffer);
                while (item != null)
                {
                    if (item is BulletStatus)
                    {
                        res.bulletUpdates.Add((BulletStatus) item);
                    }
                    item = serializer.deserializeAny(buffer);
                }
                return res;
            }
예제 #15
0
            public object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                string name = serializer.deserializeString(buffer);
                double energy = buffer.getDouble();
                double heading = buffer.getDouble();
                double bearing = buffer.getDouble();
                double distance = buffer.getDouble();
                double velocity = buffer.getDouble();
                bool isSentryRobot = serializer.deserializeBoolean(buffer);

                return new ScannedRobotEvent(name, energy, bearing, distance, heading, velocity, isSentryRobot);
            }
예제 #16
0
            public object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                string robocodeVersion = serializer.deserializeString(buffer);
                bool isJuniorRobot = serializer.deserializeBoolean(buffer);
                bool isInteractiveRobot = serializer.deserializeBoolean(buffer);
                bool isPaintRobot = serializer.deserializeBoolean(buffer);
                bool isAdvancedRobot = serializer.deserializeBoolean(buffer);
                bool isTeamRobot = serializer.deserializeBoolean(buffer);
                bool isTeamLeader = serializer.deserializeBoolean(buffer);
                bool isDroid = serializer.deserializeBoolean(buffer);
                bool isSentryRobot = serializer.deserializeBoolean(buffer);
                string name = serializer.deserializeString(buffer);
                string shortName = serializer.deserializeString(buffer);
                string veryShortName = serializer.deserializeString(buffer);
                string fullClassName = serializer.deserializeString(buffer);
                string shortClassName = serializer.deserializeString(buffer);
                BattleRules battleRules = HiddenAccessN.createRules(
                    serializer.deserializeInt(buffer), // BattlefieldWidth
                    serializer.deserializeInt(buffer), // BattlefieldHeight
                    serializer.deserializeInt(buffer), // NumRounds
                    serializer.deserializeDouble(buffer), // GunCoolingRate
                    serializer.deserializeLong(buffer), // InactivityTime
                    serializer.deserializeBoolean(buffer), // HideEnemyNames
                    serializer.deserializeInt(buffer) // SentryBorderSize
                    );

                var teammates = new List<string>();
                object item = serializer.deserializeString(buffer);
                while (item != null)
                {
                    if (item is string)
                    {
                        teammates.Add((string) item);
                    }
                    item = serializer.deserializeString(buffer);
                }

                string teamName = serializer.deserializeString(buffer);
                int index = serializer.deserializeInt(buffer);
                int contestantIndex = serializer.deserializeInt(buffer);

                return new RobotStatics(
                    robocodeVersion,
                    isJuniorRobot,
                    isInteractiveRobot,
                    isPaintRobot,
                    isAdvancedRobot,
                    isTeamRobot,
                    isTeamLeader,
                    isDroid,
                    isSentryRobot,
                    name,
                    shortName,
                    veryShortName,
                    fullClassName,
                    shortClassName,
                    battleRules,
                    teammates.ToArray(),
                    teamName,
                    index,
                    contestantIndex
                    );
            }
예제 #17
0
            public object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                string      robocodeVersion    = serializer.deserializeString(buffer);
                bool        isJuniorRobot      = serializer.deserializeBoolean(buffer);
                bool        isInteractiveRobot = serializer.deserializeBoolean(buffer);
                bool        isPaintRobot       = serializer.deserializeBoolean(buffer);
                bool        isAdvancedRobot    = serializer.deserializeBoolean(buffer);
                bool        isTeamRobot        = serializer.deserializeBoolean(buffer);
                bool        isTeamLeader       = serializer.deserializeBoolean(buffer);
                bool        isDroid            = serializer.deserializeBoolean(buffer);
                bool        isSentryRobot      = serializer.deserializeBoolean(buffer);
                string      name           = serializer.deserializeString(buffer);
                string      shortName      = serializer.deserializeString(buffer);
                string      veryShortName  = serializer.deserializeString(buffer);
                string      fullClassName  = serializer.deserializeString(buffer);
                string      shortClassName = serializer.deserializeString(buffer);
                BattleRules battleRules    = HiddenAccessN.createRules(
                    serializer.deserializeInt(buffer),     // BattlefieldWidth
                    serializer.deserializeInt(buffer),     // BattlefieldHeight
                    serializer.deserializeInt(buffer),     // NumRounds
                    serializer.deserializeDouble(buffer),  // GunCoolingRate
                    serializer.deserializeLong(buffer),    // InactivityTime
                    serializer.deserializeBoolean(buffer), // HideEnemyNames
                    serializer.deserializeInt(buffer)      // SentryBorderSize
                    );

                var    teammates = new List <string>();
                object item      = serializer.deserializeString(buffer);

                while (item != null)
                {
                    if (item is string)
                    {
                        teammates.Add((string)item);
                    }
                    item = serializer.deserializeString(buffer);
                }

                string teamName        = serializer.deserializeString(buffer);
                int    index           = serializer.deserializeInt(buffer);
                int    contestantIndex = serializer.deserializeInt(buffer);

                return(new RobotStatics(
                           robocodeVersion,
                           isJuniorRobot,
                           isInteractiveRobot,
                           isPaintRobot,
                           isAdvancedRobot,
                           isTeamRobot,
                           isTeamLeader,
                           isDroid,
                           isSentryRobot,
                           name,
                           shortName,
                           veryShortName,
                           fullClassName,
                           shortClassName,
                           battleRules,
                           teammates.ToArray(),
                           teamName,
                           index,
                           contestantIndex
                           ));
            }
예제 #18
0
            public object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                bool aborted = serializer.deserializeBoolean(buffer);
                var results = (BattleResults) serializer.deserializeAny(buffer);

                return new BattleEndedEvent(aborted, results);
            }
예제 #19
0
            public Object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                var res = new ExecCommands();

                res.bodyTurnRemaining = buffer.getDouble();
                res.radarTurnRemaining = buffer.getDouble();
                res.gunTurnRemaining = buffer.getDouble();
                res.distanceRemaining = buffer.getDouble();

                res.isAdjustGunForBodyTurn = serializer.deserializeBoolean(buffer);
                res.isAdjustRadarForGunTurn = serializer.deserializeBoolean(buffer);
                res.isAdjustRadarForBodyTurn = serializer.deserializeBoolean(buffer);
                res.isAdjustRadarForBodyTurnSet = serializer.deserializeBoolean(buffer);

                res.bodyColor = buffer.getInt();
                res.gunColor = buffer.getInt();
                res.radarColor = buffer.getInt();
                res.scanColor = buffer.getInt();
                res.bulletColor = buffer.getInt();

                res.maxTurnRate = buffer.getDouble();
                res.maxVelocity = buffer.getDouble();

                res.moved = serializer.deserializeBoolean(buffer);
                res.scan = serializer.deserializeBoolean(buffer);
                res.isIORobot = serializer.deserializeBoolean(buffer);
                res.isTryingToPaint = serializer.deserializeBoolean(buffer);

                res.outputText = serializer.deserializeString(buffer);

                res.graphicsCalls = serializer.deserializeBytes(buffer);

                Object item = serializer.deserializeAny(buffer);

                while (item != null)
                {
                    if (item is BulletCommand)
                    {
                        res.bullets.Add((BulletCommand) item);
                    }
                    item = serializer.deserializeAny(buffer);
                }
                item = serializer.deserializeAny(buffer);
                while (item != null)
                {
                    if (item is TeamMessage)
                    {
                        res.teamMessages.Add((TeamMessage) item);
                    }
                    item = serializer.deserializeAny(buffer);
                }
                item = serializer.deserializeAny(buffer);
                while (item != null)
                {
                    if (item is DebugProperty)
                    {
                        res.debugProperties.Add((DebugProperty) item);
                    }
                    item = serializer.deserializeAny(buffer);
                }
                return res;
            }
예제 #20
0
            public object deserialize(RbSerializerN serializer, ByteBuffer buffer)
            {
                bool isJuniorRobot = serializer.deserializeBoolean(buffer);
                bool isInteractiveRobot = serializer.deserializeBoolean(buffer);
                bool isPaintRobot = serializer.deserializeBoolean(buffer);
                bool isAdvancedRobot = serializer.deserializeBoolean(buffer);
                bool isTeamRobot = serializer.deserializeBoolean(buffer);
                bool isTeamLeader = serializer.deserializeBoolean(buffer);
                bool isDroid = serializer.deserializeBoolean(buffer);
                string name = serializer.deserializeString(buffer);
                string shortName = serializer.deserializeString(buffer);
                string veryShortName = serializer.deserializeString(buffer);
                string fullClassName = serializer.deserializeString(buffer);
                string shortClassName = serializer.deserializeString(buffer);
                BattleRules battleRules = HiddenAccessN.createRules(
                    serializer.deserializeInt(buffer),
                    serializer.deserializeInt(buffer),
                    serializer.deserializeInt(buffer),
                    serializer.deserializeDouble(buffer),
                    serializer.deserializeLong(buffer)
                    );

                var teammates = new List<string>();
                object item = serializer.deserializeString(buffer);
                while (item != null)
                {
                    if (item is string)
                    {
                        teammates.Add((string) item);
                    }
                    item = serializer.deserializeString(buffer);
                }

                string teamName = serializer.deserializeString(buffer);
                int index = serializer.deserializeInt(buffer);
                int contestantIndex = serializer.deserializeInt(buffer);


                return new RobotStatics(
                    isJuniorRobot,
                    isInteractiveRobot,
                    isPaintRobot,
                    isAdvancedRobot,
                    isTeamRobot,
                    isTeamLeader,
                    isDroid,
                    name,
                    shortName,
                    veryShortName,
                    fullClassName,
                    shortClassName,
                    battleRules,
                    teammates.ToArray(),
                    teamName,
                    index,
                    contestantIndex
                    );
            }