コード例 #1
0
        public override IValue SerializeEQG()
        {
            var i = new Types.Map
            {
                { "LookAt", LookAt },
                { "Position", Position }
            };
            var a = new Types.Map
            {
                { "AgentID", AgentID },
                { "SessionID", SessionID }
            };
            var r = new Types.Map
            {
                { "RegionHandle", new BinaryData(GridPosition.AsBytes) },
                { "SeedCapability", SeedCapability },
                { "SimIP", new BinaryData(SimIP.GetAddressBytes()) },
                { "SimPort", SimPort },
                { "RegionSizeX", RegionSize.X },
                { "RegionSizeY", RegionSize.Y }
            };

            return(new Types.Map
            {
                { "Info", i },
                { "AgentData", a },
                { "RegionData", r }
            });
        }
コード例 #2
0
        public static Message DeserializeEQG(IValue value)
        {
            Types.Map map   = (Types.Map)value;
            AnArray   array = (AnArray)map["Script"];

            Types.Map script = (Types.Map)array[0];
            return(new ScriptRunningReply
            {
                ObjectID = script["ObjectID"].AsUUID,
                ItemID = script["ItemID"].AsUUID,
                IsRunning = script["Running"].AsBoolean
            });
        }
コード例 #3
0
        public override IValue SerializeEQG()
        {
            var script = new Types.Map
            {
                { "ObjectID", ObjectID },
                { "ItemID", ItemID },
                { "Running", IsRunning },
                { "Mono", true }
            };
            var scriptArr = new AnArray
            {
                script
            };

            return(new Types.Map
            {
                ["Script"] = scriptArr
            });
        }
コード例 #4
0
        public override IValue SerializeEQG()
        {
            var m = new Types.Map
            {
                { "AgentID", AgentID },
                { "LocationID", (int)LocationID },
                { "RegionHandle", new BinaryData(GridPosition.AsBytes) },
                { "SeedCapability", SeedCapability },
                { "SimAccess", (byte)SimAccess },
                { "SimIP", new BinaryData(SimIP.GetAddressBytes()) },
                { "SimPort", SimPort }
            };
            var array = new AnArray
            {
                m
            };
            var om = new Types.Map
            {
                ["Info"] = array
            };

            byte[] b = BitConverter.GetBytes((ulong)TeleportFlags);
            if (BitConverter.IsLittleEndian)
            {
                Array.Reverse(b);
            }
            m.Add("TeleportFlags", new BinaryData(b));

            b = BitConverter.GetBytes(RegionSize.X);
            if (BitConverter.IsLittleEndian)
            {
                Array.Reverse(b);
            }
            m.Add("RegionSizeX", new BinaryData(b));

            b = BitConverter.GetBytes(RegionSize.Y);
            if (BitConverter.IsLittleEndian)
            {
                Array.Reverse(b);
            }
            m.Add("RegionSizeY", new BinaryData(b));
            return(om);
        }
コード例 #5
0
        public override IValue SerializeEQG()
        {
            var i = new Types.Map
            {
                { "Handle", new BinaryData(GridPosition.AsBytes) },
                { "IP", new BinaryData(SimIP.GetAddressBytes()) },
                { "Port", SimPort },
                { "RegionSizeX", RegionSize.X },
                { "RegionSizeY", RegionSize.Y }
            };
            var arr = new AnArray
            {
                i
            };

            return(new Types.Map
            {
                { "SimulatorInfo", arr }
            });
        }