diff options
author | Melanie Thielker | 2008-08-24 00:51:21 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-08-24 00:51:21 +0000 |
commit | 63b6ab467a2d617b180284861baba544cac602d2 (patch) | |
tree | 87f6589c04dd0340abffe61c5483c899ecc3cf0f /OpenSim/Region/ClientStack | |
parent | Mantis#2036. Thank you kindly, HomerHorwitz for a patch that: (diff) | |
download | opensim-SC-63b6ab467a2d617b180284861baba544cac602d2.zip opensim-SC-63b6ab467a2d617b180284861baba544cac602d2.tar.gz opensim-SC-63b6ab467a2d617b180284861baba544cac602d2.tar.bz2 opensim-SC-63b6ab467a2d617b180284861baba544cac602d2.tar.xz |
Implements 80% of object buy (prim vendor). You can't buy the object yet,
and the for sale setting doesn't survive a sim restart, but this is most
of the plumbing.
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 49 |
1 files changed, 48 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 83a1181..7c531f3 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -233,6 +233,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
233 | 233 | ||
234 | private ScriptAnswer handlerScriptAnswer = null; | 234 | private ScriptAnswer handlerScriptAnswer = null; |
235 | private RequestPayPrice handlerRequestPayPrice = null; | 235 | private RequestPayPrice handlerRequestPayPrice = null; |
236 | private ObjectSaleInfo handlerObjectSaleInfo = null; | ||
237 | private ObjectBuy handlerObjectBuy = null; | ||
238 | private BuyObjectInventory handlerBuyObjectInventory = null; | ||
236 | private ObjectDeselect handlerObjectDetach = null; | 239 | private ObjectDeselect handlerObjectDetach = null; |
237 | private AgentSit handlerOnUndo = null; | 240 | private AgentSit handlerOnUndo = null; |
238 | 241 | ||
@@ -905,6 +908,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
905 | public event UUIDNameRequest OnUUIDGroupNameRequest; | 908 | public event UUIDNameRequest OnUUIDGroupNameRequest; |
906 | public event ScriptAnswer OnScriptAnswer; | 909 | public event ScriptAnswer OnScriptAnswer; |
907 | public event RequestPayPrice OnRequestPayPrice; | 910 | public event RequestPayPrice OnRequestPayPrice; |
911 | public event ObjectSaleInfo OnObjectSaleInfo; | ||
912 | public event ObjectBuy OnObjectBuy; | ||
913 | public event BuyObjectInventory OnBuyObjectInventory; | ||
908 | public event AgentSit OnUndo; | 914 | public event AgentSit OnUndo; |
909 | public event ForceReleaseControls OnForceReleaseControls; | 915 | public event ForceReleaseControls OnForceReleaseControls; |
910 | public event GodLandStatRequest OnLandStatRequest; | 916 | public event GodLandStatRequest OnLandStatRequest; |
@@ -2523,7 +2529,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2523 | LLUUID GroupUUID, short InventorySerial, LLUUID LastOwnerUUID, LLUUID ObjectUUID, | 2529 | LLUUID GroupUUID, short InventorySerial, LLUUID LastOwnerUUID, LLUUID ObjectUUID, |
2524 | LLUUID OwnerUUID, string TouchTitle, byte[] TextureID, string SitTitle, string ItemName, | 2530 | LLUUID OwnerUUID, string TouchTitle, byte[] TextureID, string SitTitle, string ItemName, |
2525 | string ItemDescription, uint OwnerMask, uint NextOwnerMask, uint GroupMask, uint EveryoneMask, | 2531 | string ItemDescription, uint OwnerMask, uint NextOwnerMask, uint GroupMask, uint EveryoneMask, |
2526 | uint BaseMask) | 2532 | uint BaseMask, byte saleType, int salePrice) |
2527 | { | 2533 | { |
2528 | ObjectPropertiesPacket proper = (ObjectPropertiesPacket)PacketPool.Instance.GetPacket(PacketType.ObjectProperties); | 2534 | ObjectPropertiesPacket proper = (ObjectPropertiesPacket)PacketPool.Instance.GetPacket(PacketType.ObjectProperties); |
2529 | // TODO: don't create new blocks if recycling an old packet | 2535 | // TODO: don't create new blocks if recycling an old packet |
@@ -2556,6 +2562,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2556 | // proper.ObjectData[0].AggregatePerms = 53; | 2562 | // proper.ObjectData[0].AggregatePerms = 53; |
2557 | // proper.ObjectData[0].AggregatePermTextures = 0; | 2563 | // proper.ObjectData[0].AggregatePermTextures = 0; |
2558 | // proper.ObjectData[0].AggregatePermTexturesOwner = 0; | 2564 | // proper.ObjectData[0].AggregatePermTexturesOwner = 0; |
2565 | proper.ObjectData[0].SaleType = saleType; | ||
2566 | proper.ObjectData[0].SalePrice = salePrice; | ||
2559 | proper.Header.Zerocoded = true; | 2567 | proper.Header.Zerocoded = true; |
2560 | OutPacket(proper, ThrottleOutPacketType.Task); | 2568 | OutPacket(proper, ThrottleOutPacketType.Task); |
2561 | } | 2569 | } |
@@ -5864,6 +5872,45 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5864 | } | 5872 | } |
5865 | break; | 5873 | break; |
5866 | 5874 | ||
5875 | case PacketType.ObjectSaleInfo: | ||
5876 | ObjectSaleInfoPacket objectSaleInfoPacket = (ObjectSaleInfoPacket)Pack; | ||
5877 | handlerObjectSaleInfo = OnObjectSaleInfo; | ||
5878 | if (handlerObjectSaleInfo != null) | ||
5879 | { | ||
5880 | foreach (ObjectSaleInfoPacket.ObjectDataBlock d | ||
5881 | in objectSaleInfoPacket.ObjectData) | ||
5882 | { | ||
5883 | handlerObjectSaleInfo(this, | ||
5884 | objectSaleInfoPacket.AgentData.AgentID, | ||
5885 | objectSaleInfoPacket.AgentData.SessionID, | ||
5886 | d.LocalID, | ||
5887 | d.SaleType, | ||
5888 | d.SalePrice); | ||
5889 | } | ||
5890 | } | ||
5891 | break; | ||
5892 | |||
5893 | case PacketType.ObjectBuy: | ||
5894 | ObjectBuyPacket objectBuyPacket = (ObjectBuyPacket)Pack; | ||
5895 | handlerObjectBuy = OnObjectBuy; | ||
5896 | Console.WriteLine(objectBuyPacket.ToString()); | ||
5897 | if (handlerObjectBuy != null) | ||
5898 | { | ||
5899 | foreach (ObjectBuyPacket.ObjectDataBlock d | ||
5900 | in objectBuyPacket.ObjectData) | ||
5901 | { | ||
5902 | handlerObjectBuy(this, | ||
5903 | objectBuyPacket.AgentData.AgentID, | ||
5904 | objectBuyPacket.AgentData.SessionID, | ||
5905 | objectBuyPacket.AgentData.GroupID, | ||
5906 | objectBuyPacket.AgentData.CategoryID, | ||
5907 | d.ObjectLocalID, | ||
5908 | d.SaleType, | ||
5909 | d.SalePrice); | ||
5910 | } | ||
5911 | } | ||
5912 | break; | ||
5913 | |||
5867 | #endregion | 5914 | #endregion |
5868 | 5915 | ||
5869 | #region Script Packets | 5916 | #region Script Packets |