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); }
public BasicRobotProxy(IRobotItem specification, IHostManager hostManager, IRobotPeer peer, RobotStatics statics) : base(specification, hostManager, peer, statics) { eventManager = new EventManager(this); graphicsProxy = new GraphicsProxy(); // dummy execResults = new ExecResults(null, null, null, null, null, false, false, false); setSetCallCount(0); setGetCallCount(0); var sharedBuffer = new byte[10*1024*100]; execJavaBuffer = new DirectByteBuffer(sharedBuffer); execNetBuffer = ByteBuffer.wrap(sharedBuffer); rbSerializerN = new RbSerializerN(); this.peer.setupBuffer(execJavaBuffer); }
private void DeserializeResults() { execNetBuffer.position(0); execNetBuffer.limit(execJavaBuffer.limit()); execResults = (ExecResults) rbSerializerN.deserialize(execNetBuffer); }
public override void cleanup() { base.cleanup(); // Cleanup and remove current wait condition waitCondition = null; // Cleanup and remove the event manager if (eventManager != null) { eventManager.cleanup(); eventManager = null; } graphicsProxy = null; execResults = null; status = null; commands = null; }
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; }