public static BaseResponse messageFromBytes(byte[] buffer) { VRage.ByteStream stream = new VRage.ByteStream(buffer, buffer.Length); TYPE t = (TYPE)stream.getUShort(); stream.Seek(0, SeekOrigin.Begin); BaseResponse msg = null; switch (t) { case TYPE.NOTIFICATION: msg = new NotificationResponse(); break; case TYPE.DIALOG: msg = new DialogResponse(); break; case TYPE.SETTINGS: msg = new SettingsResponse(); break; case TYPE.FLEET: msg = new FleetResponse(); break; } if (msg != null) { msg.deserialize(stream); } return(msg); }
private void processFleetResponse(FleetResponse resp) { log("Loading fleet data from server", "processFleetResponse"); List <GridEnforcer.GridData> gridData = resp.FleetData; // Clear our current data to get fresh data from server Array.Clear(m_Counts, 0, m_Counts.Length); for (int i = 0; i < m_Counts.Length; ++i) { m_SupportedGrids[i].Clear(); m_UnsupportedGrids[i].Clear(); } // Saving data from server to client for (int i = 0; i < gridData.Count; ++i) { int classID = (int)gridData[i].shipClass; m_Counts[classID] += 1; if (gridData[i].supported) { m_SupportedGrids[classID].Add(gridData[i]); } else { m_UnsupportedGrids[classID].Add(gridData[i]); } } // Building fleet info to display in a dialog string fleetInfoBody = buildFleetInfoBody(resp.OwnerType); string fleetInfoTitle = buildFleetInfoTitle(resp.OwnerType); // Displaying the fleet information Utility.showDialog(fleetInfoTitle, fleetInfoBody, "Close"); }
private void processFleetRequest(FleetRequest req) { // Get an Owner object from the palyer ID of the request GridOwner.OWNER owner = GridOwner.ownerFromPlayerID(req.ReturnAddress); // Retrieve that owner's fleet FactionFleet fleet = GardenConquest.Core.StateTracker .getInstance().getFleet(owner.FleetID, owner.OwnerType); FleetResponse resp = new FleetResponse() { Fleet = fleet, Owner = owner, Destination = new List <long>() { req.ReturnAddress }, DestType = BaseResponse.DEST_TYPE.PLAYER }; send(resp); }
private void processFleetResponse(FleetResponse resp) { log("Loading fleet data from server", "processFleetResponse"); List<GridEnforcer.GridData> gridData = resp.FleetData; // Clear our current data to get fresh data from server Array.Clear(m_Counts, 0, m_Counts.Length); m_SupportedGrids.Clear(); m_UnsupportedGrids.Clear(); // Saving data from server to client for (int i = 0; i < gridData.Count; ++i) { int classID = (int)gridData[i].shipClass; m_Counts[classID] += 1; if (gridData[i].supported) { if (!m_SupportedGrids.ContainsKey(classID)) { m_SupportedGrids[classID] = new List<GridEnforcer.GridData>(); } m_SupportedGrids[classID].Add(gridData[i]); } else { if (!m_UnsupportedGrids.ContainsKey(classID)) { m_UnsupportedGrids[classID] = new List<GridEnforcer.GridData>(); } m_UnsupportedGrids[classID].Add(gridData[i]); } } // Building fleet info to display in a dialog string fleetInfoBody = buildFleetInfoBody(resp.OwnerType); string fleetInfoTitle = buildFleetInfoTitle(resp.OwnerType); // Displaying the fleet information Utility.showDialog(fleetInfoTitle, fleetInfoBody, "Close"); }
private void processFleetRequest(FleetRequest req) { // Get an Owner object from the palyer ID of the request GridOwner.OWNER owner = GridOwner.ownerFromPlayerID(req.ReturnAddress); // Retrieve that owner's fleet FactionFleet fleet = GardenConquest.Core.StateTracker .getInstance().getFleet(owner.FleetID, owner.OwnerType); FleetResponse resp = new FleetResponse() { Fleet = fleet, Owner = owner, Destination = new List<long>() { req.ReturnAddress }, DestType = BaseResponse.DEST_TYPE.PLAYER }; send(resp); }
public static BaseResponse messageFromBytes(byte[] buffer) { VRage.ByteStream stream = new VRage.ByteStream(buffer, buffer.Length); TYPE t = (TYPE)stream.getUShort(); stream.Seek(0, SeekOrigin.Begin); BaseResponse msg = null; switch (t) { case TYPE.NOTIFICATION: msg = new NotificationResponse(); break; case TYPE.DIALOG: msg = new DialogResponse(); break; case TYPE.SETTINGS: msg = new SettingsResponse(); break; case TYPE.FLEET: msg = new FleetResponse(); break; } if (msg != null) msg.deserialize(stream); return msg; }