コード例 #1
0
        public void RequestWearables(NetworkInfo userInfo)
        {
            AgentProfile Agent            = this.AgentList[userInfo.User.AgentID];
            AgentWearablesUpdatePacket aw = new AgentWearablesUpdatePacket();

            aw.AgentData.AgentID   = userInfo.User.AgentID;
            aw.AgentData.SerialNum = 0;
            aw.AgentData.SessionID = userInfo.User.SessionID;

            aw.WearableData = new AgentWearablesUpdatePacket.WearableDataBlock[13];
            AgentWearablesUpdatePacket.WearableDataBlock awb = null;
            awb = new AgentWearablesUpdatePacket.WearableDataBlock();
            awb.WearableType   = (byte)0;
            awb.AssetID        = Agent.Avatar.Wearables[0].AssetID;
            awb.ItemID         = Agent.Avatar.Wearables[0].ItemID;
            aw.WearableData[0] = awb;

            awb = new AgentWearablesUpdatePacket.WearableDataBlock();
            awb.WearableType   = (byte)1;
            awb.AssetID        = Agent.Avatar.Wearables[1].AssetID;
            awb.ItemID         = Agent.Avatar.Wearables[1].ItemID;
            aw.WearableData[1] = awb;

            for (int i = 2; i < 13; i++)
            {
                awb = new AgentWearablesUpdatePacket.WearableDataBlock();
                awb.WearableType   = (byte)i;
                awb.AssetID        = new LLUUID("00000000-0000-0000-0000-000000000000");
                awb.ItemID         = new LLUUID("00000000-0000-0000-0000-000000000000");
                aw.WearableData[i] = awb;
            }

            _server.SendPacket(aw, true, userInfo);
        }
コード例 #2
0
        public void SendInitialAppearance()
        {
            AgentWearablesUpdatePacket aw = new AgentWearablesUpdatePacket();

            aw.AgentData.AgentID   = this.ControllingClient.AgentID;
            aw.AgentData.SerialNum = 0;
            aw.AgentData.SessionID = ControllingClient.SessionID;

            aw.WearableData = new AgentWearablesUpdatePacket.WearableDataBlock[13];
            AgentWearablesUpdatePacket.WearableDataBlock awb;
            for (int i = 0; i < 13; i++)
            {
                awb = new AgentWearablesUpdatePacket.WearableDataBlock();
                awb.WearableType   = (byte)i;
                awb.AssetID        = this.Wearables[i].AssetID;
                awb.ItemID         = this.Wearables[i].ItemID;
                aw.WearableData[i] = awb;
            }

            ControllingClient.OutPacket(aw);
        }
コード例 #3
0
        public void RequestWearables(NetworkInfo userInfo)
        {
            AgentProfile Agent = this.AgentList[userInfo.User.AgentID];
            AgentWearablesUpdatePacket aw = new AgentWearablesUpdatePacket();
            aw.AgentData.AgentID = userInfo.User.AgentID;
            aw.AgentData.SerialNum = 0;
            aw.AgentData.SessionID = userInfo.User.SessionID;

            aw.WearableData = new AgentWearablesUpdatePacket.WearableDataBlock[13];
            AgentWearablesUpdatePacket.WearableDataBlock awb = null;
            awb = new AgentWearablesUpdatePacket.WearableDataBlock();
            awb.WearableType = (byte)0;
            awb.AssetID = Agent.Avatar.Wearables[0].AssetID;
            awb.ItemID = Agent.Avatar.Wearables[0].ItemID;
            aw.WearableData[0] = awb;

            awb = new AgentWearablesUpdatePacket.WearableDataBlock();
            awb.WearableType =(byte)1;
            awb.AssetID = Agent.Avatar.Wearables[1].AssetID;
            awb.ItemID = Agent.Avatar.Wearables[1].ItemID;
            aw.WearableData[1] = awb;

            for(int i=2; i<13; i++)
            {
                awb = new AgentWearablesUpdatePacket.WearableDataBlock();
                awb.WearableType = (byte)i;
                awb.AssetID = new LLUUID("00000000-0000-0000-0000-000000000000");
                awb.ItemID = new LLUUID("00000000-0000-0000-0000-000000000000");
                aw.WearableData[i] = awb;
            }

            _server.SendPacket(aw, true, userInfo);
        }
コード例 #4
0
        public void SendInitialAppearance()
        {
            AgentWearablesUpdatePacket aw = new AgentWearablesUpdatePacket();
            aw.AgentData.AgentID = this.ControllingClient.AgentID;
            aw.AgentData.SerialNum = 0;
            aw.AgentData.SessionID = ControllingClient.SessionID;

            aw.WearableData = new AgentWearablesUpdatePacket.WearableDataBlock[13];
            AgentWearablesUpdatePacket.WearableDataBlock awb;
            for (int i = 0; i < 13; i++)
            {
                awb = new AgentWearablesUpdatePacket.WearableDataBlock();
                awb.WearableType = (byte)i;
                awb.AssetID = this.Wearables[i].AssetID;
                awb.ItemID = this.Wearables[i].ItemID;
                aw.WearableData[i] = awb;
            }

            ControllingClient.OutPacket(aw);
        }
コード例 #5
0
ファイル: Grider.cs プロジェクト: diva/Grider
        Packet WearablesRequestHandler(Packet packet, IPEndPoint endPoint)
        {
            Console.WriteLine("[Grider]: WearablesRequestHandler");
            AgentWearablesRequestPacket wpack = (AgentWearablesRequestPacket) packet;

            AgentWearablesUpdatePacket aw = (AgentWearablesUpdatePacket)PacketPool.Instance.GetPacket(PacketType.AgentWearablesUpdate);
            aw.AgentData.AgentID = wpack.AgentData.AgentID;
            aw.AgentData.SerialNum = (uint)Agent.agentCircuitData.Appearance.Serial++;
            aw.AgentData.SessionID = wpack.AgentData.SessionID;

            // TODO: don't create new blocks if recycling an old packet
            aw.WearableData = new AgentWearablesUpdatePacket.WearableDataBlock[13];
            AgentWearablesUpdatePacket.WearableDataBlock awb;
            AvatarWearable[] wearables = Agent.agentCircuitData.Appearance.Wearables;
            Console.WriteLine("    > Size of wearables: " + wearables.Length);
            for (int i = 0; i < wearables.Length; i++)
            {
                awb = new AgentWearablesUpdatePacket.WearableDataBlock();
                awb.WearableType = (byte)i;
                awb.AssetID = wearables[i].AssetID;
                awb.ItemID = wearables[i].ItemID;
                aw.WearableData[i] = awb;

                //                m_log.DebugFormat(
                //                    "[APPEARANCE]: Sending wearable item/asset {0} {1} (index {2}) for {3}",
                //                    awb.ItemID, awb.AssetID, i, Name);
            }

            //OutPacket(aw, ThrottleOutPacketType.Task);
            proxy.InjectPacket(aw, Direction.Incoming);
            return null;
        }