Modified/added set functions for SOP properties: "AllowedDrop" to "Material", as listed in SceneObjectSerializer().
parent
4fe0c6d0d2
commit
2ae8917c2e
|
@ -511,9 +511,16 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
}
|
||||
set
|
||||
{
|
||||
_creatorID = value;
|
||||
SetCreatorID(value);
|
||||
UpdateBucketSyncInfo("CreatorID");
|
||||
//_creatorID = value;
|
||||
}
|
||||
}
|
||||
//SYMMETRIC SYNC
|
||||
public void SetCreatorID(UUID value)
|
||||
{
|
||||
_creatorID = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Data about the creator in the form profile_url;name
|
||||
|
@ -521,7 +528,17 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
public string CreatorData
|
||||
{
|
||||
get { return m_creatorData; }
|
||||
set { m_creatorData = value; }
|
||||
set
|
||||
{
|
||||
SetCreatorData(value);
|
||||
UpdateBucketSyncInfo("CreatorData");
|
||||
//m_creatorData = value;
|
||||
}
|
||||
}
|
||||
//SYMMETRIC SYNC
|
||||
public void SetCreatorData(string value)
|
||||
{
|
||||
m_creatorData = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -637,11 +654,22 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
get { return m_name; }
|
||||
set
|
||||
{
|
||||
/*
|
||||
m_name = value;
|
||||
if (PhysActor != null)
|
||||
{
|
||||
PhysActor.SOPName = value;
|
||||
}
|
||||
* */
|
||||
}
|
||||
}
|
||||
//SYMMETRIC SYNC
|
||||
public void SetName(string value)
|
||||
{
|
||||
m_name = value;
|
||||
if (PhysActor != null)
|
||||
{
|
||||
PhysActor.SOPName = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -650,13 +678,27 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
get { return (byte) m_material; }
|
||||
set
|
||||
{
|
||||
SetMaterial(value);
|
||||
UpdateBucketSyncInfo("Material");
|
||||
/*
|
||||
m_material = (Material)value;
|
||||
if (PhysActor != null)
|
||||
{
|
||||
PhysActor.SetMaterial((int)value);
|
||||
}
|
||||
* */
|
||||
}
|
||||
}
|
||||
//SYMMETRIC SYNC
|
||||
public void SetMaterial(byte value)
|
||||
{
|
||||
m_material = (Material)value;
|
||||
if (PhysActor != null)
|
||||
{
|
||||
PhysActor.SetMaterial((int)value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public bool PassTouches
|
||||
{
|
||||
|
@ -3060,6 +3102,10 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
ParentGroup.HasGroupChanged = true;
|
||||
ScheduleFullUpdate();
|
||||
|
||||
//SYMMETRIC SYNC
|
||||
//Make sure we record down the timestamp info for synchronization purpose
|
||||
UpdateBucketSyncInfo("Scale");
|
||||
}
|
||||
|
||||
public void RotLookAt(Quaternion target, float strength, float damping)
|
||||
|
@ -5558,7 +5604,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
SetAngularVelocity(updatedPart.AngularVelocity);
|
||||
SetRotationOffset(updatedPart.RotationOffset);
|
||||
|
||||
//implementation in PhysicsActor
|
||||
//properties in Physics bucket whose update processors are in PhysicsActor
|
||||
/*
|
||||
"Position":
|
||||
"Size":
|
||||
|
@ -5595,7 +5641,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
{
|
||||
string bucketName = m_propertyBucketNames[i];
|
||||
|
||||
//If the object is created by de-serialization, then it already has m_bucketSyncInfoList populated with the right number of buckets.
|
||||
//If the object is created by de-serialization, then it may already have m_bucketSyncInfoList populated with the right number of buckets.
|
||||
//If the deserilaization is due to receiving a sync message, then m_bucketSyncInfoList should already be filled with sync info.
|
||||
if (!m_bucketSyncInfoList.ContainsKey(bucketName))
|
||||
{
|
||||
|
@ -5619,7 +5665,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// Update the timestamp and actorID information of the bucket the given property belongs to.
|
||||
/// </summary>
|
||||
/// <param name="propertyName">Name of the property. Make sure the spelling is consistent with what are defined in PropertyList</param>
|
||||
private void UpdateBucketSyncInfo(string propertyName)
|
||||
public void UpdateBucketSyncInfo(string propertyName)
|
||||
{
|
||||
if (m_bucketSyncInfoList != null && m_bucketSyncInfoList.Count>0)
|
||||
{
|
||||
|
|
|
@ -76,7 +76,19 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
protected internal uint Serial
|
||||
{
|
||||
get { return m_inventorySerial; }
|
||||
set { m_inventorySerial = value; }
|
||||
set
|
||||
{
|
||||
SetSerial(value);
|
||||
m_part.UpdateBucketSyncInfo("InventorySerial");
|
||||
//m_inventorySerial = value;
|
||||
}
|
||||
}
|
||||
|
||||
//SYMMETRIC SYNC
|
||||
protected void SetSerial(uint value)
|
||||
{
|
||||
m_inventorySerial = value;
|
||||
|
||||
}
|
||||
|
||||
/// <value>
|
||||
|
@ -87,10 +99,19 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
get { return m_items; }
|
||||
set
|
||||
{
|
||||
m_items = value;
|
||||
m_inventorySerial++;
|
||||
SetItems(value);
|
||||
m_part.UpdateBucketSyncInfo("TaskInventory");
|
||||
m_part.UpdateBucketSyncInfo("InventorySerial");
|
||||
//m_items = value;
|
||||
//m_inventorySerial++;
|
||||
}
|
||||
}
|
||||
//SYMMETRIC SYNC
|
||||
protected void SetItems(TaskInventoryDictionary value)
|
||||
{
|
||||
m_items = value;
|
||||
m_inventorySerial++;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Constructor
|
||||
|
@ -136,6 +157,10 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
item.ResetIDs(m_part.UUID);
|
||||
m_items.Add(item.ItemID, item);
|
||||
}
|
||||
|
||||
//SYMMETRIC SYNC
|
||||
//No need to trigger UpdateBucketSyncInfo, as callers eventually will call SOG.AttachToScene and init BucketSyncInfo
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -152,6 +177,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
item.ParentID = m_part.UUID;
|
||||
Items.Add(item.ItemID, item);
|
||||
}
|
||||
|
||||
//SYMMETRIC SYNC
|
||||
//No need to trigger UpdateBucketSyncInfo, this is called only when SOP.UUID is written, which is assumed not to change after being created.
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -182,6 +210,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
item.PermsGranter = UUID.Zero;
|
||||
}
|
||||
}
|
||||
|
||||
//SYMMETRIC SYNC
|
||||
m_part.UpdateBucketSyncInfo("TaskInventory");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -213,6 +244,12 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (groupID != item.GroupID)
|
||||
item.GroupID = groupID;
|
||||
}
|
||||
|
||||
//SYMMETRIC SYNC: need to test if we need to take different actions when this is attachment or not
|
||||
//if (!m_part.ParentGroup.RootPart.IsAttachment)
|
||||
//{
|
||||
m_part.UpdateBucketSyncInfo("TaskInventory");
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -543,7 +580,11 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
m_part.ParentGroup.HasGroupChanged = true;
|
||||
|
||||
//SYMMETRIC SYNC: add ScheduleFullUpdate to enable synchronization across actors
|
||||
m_part.ScheduleFullUpdate();
|
||||
//m_part.ScheduleFullUpdate();
|
||||
|
||||
//SYMMETRIC SYNC
|
||||
m_part.UpdateBucketSyncInfo("TaskInventory");
|
||||
m_part.UpdateBucketSyncInfo("InventorySerial"); //m_inventorySerial is also changed,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -564,6 +605,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
}
|
||||
m_inventorySerial++;
|
||||
}
|
||||
|
||||
//SYMMETRIC SYNC: no UpdateBucketSyncInfo called here, since this function is called by loading objects from DB, and UpdateBucketSyncInfo
|
||||
//will be called after all objects are loaded.
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -722,6 +766,10 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
HasInventoryChanged = true;
|
||||
m_part.ParentGroup.HasGroupChanged = true;
|
||||
}
|
||||
|
||||
//SYMMETRIC SYNC
|
||||
m_part.UpdateBucketSyncInfo("TaskInventory");
|
||||
m_part.UpdateBucketSyncInfo("InventorySerial");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
@ -765,6 +813,10 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
m_part.ScheduleFullUpdate();
|
||||
|
||||
//SYMMETRIC SYNC
|
||||
m_part.UpdateBucketSyncInfo("TaskInventory");
|
||||
m_part.UpdateBucketSyncInfo("InventorySerial");
|
||||
|
||||
return type;
|
||||
|
||||
}
|
||||
|
@ -1019,6 +1071,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
item.OwnerChanged = true;
|
||||
item.PermsMask = 0;
|
||||
item.PermsGranter = UUID.Zero;
|
||||
|
||||
//SYMMETRIC SYNC
|
||||
m_part.UpdateBucketSyncInfo("TaskInventory");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1035,6 +1090,10 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
}
|
||||
m_inventorySerial++;
|
||||
HasInventoryChanged = true;
|
||||
|
||||
//SYMMETRIC SYNC
|
||||
m_part.UpdateBucketSyncInfo("TaskInventory");
|
||||
m_part.UpdateBucketSyncInfo("InventorySerial");
|
||||
}
|
||||
|
||||
public bool ContainsScripts()
|
||||
|
|
Loading…
Reference in New Issue