mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 06:06:06 +08:00
Stop LSL_Api.GetLinkEntities() from creating an unused list on every parameter except LINK_THIS. Simplify code.
This commit is contained in:
@@ -435,8 +435,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
|
||||
public List<ISceneEntity> GetLinkEntities(SceneObjectPart part, int linkType)
|
||||
{
|
||||
List<ISceneEntity> ret = new List<ISceneEntity>();
|
||||
ret.Add(part);
|
||||
List<ISceneEntity> ret;
|
||||
|
||||
switch (linkType)
|
||||
{
|
||||
@@ -444,9 +443,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
return new List<ISceneEntity>(part.ParentGroup.Parts);
|
||||
|
||||
case ScriptBaseClass.LINK_ROOT:
|
||||
ret = new List<ISceneEntity>();
|
||||
ret.Add(part.ParentGroup.RootPart);
|
||||
return ret;
|
||||
return new List<ISceneEntity>() { part.ParentGroup.RootPart };
|
||||
|
||||
case ScriptBaseClass.LINK_ALL_OTHERS:
|
||||
ret = new List<ISceneEntity>(part.ParentGroup.Parts);
|
||||
@@ -461,10 +458,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
|
||||
if (ret.Contains(part.ParentGroup.RootPart))
|
||||
ret.Remove(part.ParentGroup.RootPart);
|
||||
|
||||
return ret;
|
||||
|
||||
case ScriptBaseClass.LINK_THIS:
|
||||
return ret;
|
||||
return new List<ISceneEntity>() { part };
|
||||
|
||||
default:
|
||||
if (linkType < 0)
|
||||
@@ -473,9 +471,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
ISceneEntity target = GetLinkEntity(part, linkType);
|
||||
if (target == null)
|
||||
return new List<ISceneEntity>();
|
||||
ret = new List<ISceneEntity>();
|
||||
ret.Add(target);
|
||||
return ret;
|
||||
|
||||
return new List<ISceneEntity>() { target };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user