From 63b6ab467a2d617b180284861baba544cac602d2 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sun, 24 Aug 2008 00:51:21 +0000 Subject: 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. --- OpenSim/Region/Environment/Scenes/Scene.cs | 24 ++++++++++++++++++++++ .../Region/Environment/Scenes/SceneObjectPart.cs | 4 +++- 2 files changed, 27 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Environment/Scenes') diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 3bae463..c44a714 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -2153,6 +2153,7 @@ namespace OpenSim.Region.Environment.Scenes client.OnUndo += m_innerScene.HandleUndo; client.OnObjectGroupRequest += m_innerScene.HandleObjectGroupUpdate; client.OnParcelReturnObjectsRequest += LandChannel.ReturnObjectsInParcel; + client.OnObjectSaleInfo += ObjectSaleInfo; client.OnScriptReset += ProcessScriptReset; client.OnGetScriptRunning += GetScriptRunning; client.OnSetScriptRunning += SetScriptRunning; @@ -3924,5 +3925,28 @@ namespace OpenSim.Region.Environment.Scenes return inv.NeedSceneCacheClear(agentID, this); } + + public void ObjectSaleInfo(IClientAPI client, LLUUID agentID, LLUUID sessionID, uint localID, byte saleType, int salePrice) + { + SceneObjectPart part = GetSceneObjectPart(localID); + if(part == null || part.ParentGroup == null) + return; + + if(part.ParentGroup.RootPart == null) + return; + + part = part.ParentGroup.RootPart; + + part.ObjectSaleType = saleType; + part.SalePrice = salePrice; + + m_log.DebugFormat("[SCENE] Set sale data of object {0} to {1} ${2}", part.UUID, saleType, salePrice); + part.GetProperties(client); + } + + public void PerformObjectBuy(IClientAPI remoteClient, LLUUID categoryID, + uint localID, byte saleType) + { + } } } diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 517114f..927791f 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs @@ -1500,7 +1500,9 @@ namespace OpenSim.Region.Environment.Scenes _groupID, (short)InventorySerial, _lastOwnerID, UUID, _ownerID, ParentGroup.RootPart.TouchName, new byte[0], ParentGroup.RootPart.SitName, Name, Description, ParentGroup.RootPart._ownerMask, ParentGroup.RootPart._nextOwnerMask, ParentGroup.RootPart._groupMask, ParentGroup.RootPart._everyoneMask, - ParentGroup.RootPart._baseMask); + ParentGroup.RootPart._baseMask, + ParentGroup.RootPart.ObjectSaleType, + ParentGroup.RootPart.SalePrice); } public LLUUID GetRootPartUUID() -- cgit v1.1