diff options
author | Teravus Ovares | 2008-05-04 22:55:52 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-05-04 22:55:52 +0000 |
commit | 7b446aba9174aac68c62ec40c2115a1e1f012191 (patch) | |
tree | c30d8ef2bf6c3e66f5601043352accbe4613c669 /OpenSim/Region/Environment/Scenes | |
parent | Update svn properties. (diff) | |
download | opensim-SC-7b446aba9174aac68c62ec40c2115a1e1f012191.zip opensim-SC-7b446aba9174aac68c62ec40c2115a1e1f012191.tar.gz opensim-SC-7b446aba9174aac68c62ec40c2115a1e1f012191.tar.bz2 opensim-SC-7b446aba9174aac68c62ec40c2115a1e1f012191.tar.xz |
* Implemented DIE_AT_EDGE and Temporary objects don't save to the database.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 19 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 20 |
2 files changed, 39 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 3cc2cbc..33a9102 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -1352,6 +1352,25 @@ namespace OpenSim.Region.Environment.Scenes | |||
1352 | 1352 | ||
1353 | public void CrossPrimGroupIntoNewRegion(LLVector3 position, SceneObjectGroup grp) | 1353 | public void CrossPrimGroupIntoNewRegion(LLVector3 position, SceneObjectGroup grp) |
1354 | { | 1354 | { |
1355 | if (grp == null) | ||
1356 | return; | ||
1357 | if (grp.RootPart == null) | ||
1358 | return; | ||
1359 | |||
1360 | if (grp.RootPart.DIE_AT_EDGE) | ||
1361 | { | ||
1362 | // We remove the object here | ||
1363 | try | ||
1364 | { | ||
1365 | DeleteSceneObjectGroup(grp); | ||
1366 | } | ||
1367 | catch (Exception) | ||
1368 | { | ||
1369 | m_log.Warn("[DATABASE]: exception when trying to remove the prim that crossed the border."); | ||
1370 | } | ||
1371 | return; | ||
1372 | } | ||
1373 | |||
1355 | m_log.Warn("Prim crossing: " + grp.UUID.ToString()); | 1374 | m_log.Warn("Prim crossing: " + grp.UUID.ToString()); |
1356 | int thisx = (int)RegionInfo.RegionLocX; | 1375 | int thisx = (int)RegionInfo.RegionLocX; |
1357 | int thisy = (int)RegionInfo.RegionLocY; | 1376 | int thisy = (int)RegionInfo.RegionLocY; |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 9b4f9af..9311904 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -101,6 +101,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
101 | [XmlIgnore] private Dictionary<LLUUID, scriptEvents> m_scriptEvents = new Dictionary<LLUUID, scriptEvents>(); | 101 | [XmlIgnore] private Dictionary<LLUUID, scriptEvents> m_scriptEvents = new Dictionary<LLUUID, scriptEvents>(); |
102 | [XmlIgnore] public scriptEvents m_aggregateScriptEvents=0; | 102 | [XmlIgnore] public scriptEvents m_aggregateScriptEvents=0; |
103 | [XmlIgnore] private LLObject.ObjectFlags LocalFlags = LLObject.ObjectFlags.None; | 103 | [XmlIgnore] private LLObject.ObjectFlags LocalFlags = LLObject.ObjectFlags.None; |
104 | [XmlIgnore] public bool DIE_AT_EDGE = false; | ||
104 | 105 | ||
105 | 106 | ||
106 | [XmlIgnore] public bool m_IsAttachment = false; | 107 | [XmlIgnore] public bool m_IsAttachment = false; |
@@ -2733,6 +2734,25 @@ namespace OpenSim.Region.Environment.Scenes | |||
2733 | //} | 2734 | //} |
2734 | 2735 | ||
2735 | } | 2736 | } |
2737 | |||
2738 | public void SetDieAtEdge(bool p) | ||
2739 | { | ||
2740 | if (m_parentGroup == null) | ||
2741 | return; | ||
2742 | if (m_parentGroup.RootPart == null) | ||
2743 | return; | ||
2744 | |||
2745 | m_parentGroup.RootPart.DIE_AT_EDGE = p; | ||
2746 | } | ||
2747 | public bool GetDieAtEdge() | ||
2748 | { | ||
2749 | if (m_parentGroup == null) | ||
2750 | return false; | ||
2751 | if (m_parentGroup.RootPart == null) | ||
2752 | return false; | ||
2753 | |||
2754 | return m_parentGroup.RootPart.DIE_AT_EDGE; | ||
2755 | } | ||
2736 | } | 2756 | } |
2737 | 2757 | ||
2738 | } | 2758 | } |