public List<ISceneEntity> GetLinkEntities(SceneObjectPart part, int linkType)
{
List<ISceneEntity> ret;
switch (linkType)
{
case ScriptBaseClass.LINK_SET:
return new List<ISceneEntity>(part.ParentGroup.Parts);
case ScriptBaseClass.LINK_ROOT:
return new List<ISceneEntity>() { part.ParentGroup.RootPart };
case ScriptBaseClass.LINK_ALL_OTHERS:
ret = new List<ISceneEntity>(part.ParentGroup.Parts);
if (ret.Contains(part))
ret.Remove(part);
return ret;
case ScriptBaseClass.LINK_ALL_CHILDREN:
ret = new List<ISceneEntity>(part.ParentGroup.Parts);
if (ret.Contains(part.ParentGroup.RootPart))
ret.Remove(part.ParentGroup.RootPart);
return ret;
case ScriptBaseClass.LINK_THIS:
return new List<ISceneEntity>() { part };
default:
if (linkType < 0)
return new List<ISceneEntity>();
ISceneEntity target = GetLinkEntity(part, linkType);
if (target == null)
return new List<ISceneEntity>();
return new List<ISceneEntity>() { target };
}
}