aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorMelanie Thielker2008-08-24 00:51:21 +0000
committerMelanie Thielker2008-08-24 00:51:21 +0000
commit63b6ab467a2d617b180284861baba544cac602d2 (patch)
tree87f6589c04dd0340abffe61c5483c899ecc3cf0f /OpenSim/Region/ClientStack
parentMantis#2036. Thank you kindly, HomerHorwitz for a patch that: (diff)
downloadopensim-SC_OLD-63b6ab467a2d617b180284861baba544cac602d2.zip
opensim-SC_OLD-63b6ab467a2d617b180284861baba544cac602d2.tar.gz
opensim-SC_OLD-63b6ab467a2d617b180284861baba544cac602d2.tar.bz2
opensim-SC_OLD-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.cs49
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