Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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");
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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");
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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;
        }