Class WorldObjectManager
Inheritance
System.Object
WorldObjectManager
Assembly: Eco.Gameplay.dll
Syntax
public class WorldObjectManager : Object, IWorldObjectManager, IThreadedPlugin, IShutdownablePlugin, IServerPlugin, IInitializablePlugin, IDisplayablePlugin, IGUIPlugin, IHasDisplayTabs, IDisplayTab, IConfigurablePlugin, IEditablePlugin
Constructors
WorldObjectManager()
Declaration
public WorldObjectManager()
Fields
Init
Declaration
public static Initializer Init
Field Value
ItemDestoryedPermanently
Declaration
public static readonly ThreadSafeAction<Item> ItemDestoryedPermanently
Field Value
WorldObjectAddedEvent
Declaration
public static readonly ThreadSafeAction<WorldObject, User> WorldObjectAddedEvent
Field Value
WorldObjectRemovedEvent
Declaration
public static readonly ThreadSafeAction<WorldObject> WorldObjectRemovedEvent
Field Value
WorldObjectTypeToComponentTypes
Declaration
public static Dictionary<Type, List<Type>> WorldObjectTypeToComponentTypes
Field Value
Type |
Description |
System.Collections.Generic.Dictionary<System.Type, System.Collections.Generic.List<System.Type>> |
|
Properties
All
Declaration
public IEnumerable<WorldObject> All { get; }
Property Value
Type |
Description |
System.Collections.Generic.IEnumerable<WorldObject> |
|
AllTypes
Declaration
public IEnumerable<Type> AllTypes { get; }
Property Value
Type |
Description |
System.Collections.Generic.IEnumerable<System.Type> |
|
AllWorldObjectTypes
Declaration
public Dictionary<string, Type> AllWorldObjectTypes { get; }
Property Value
Type |
Description |
System.Collections.Generic.Dictionary<System.String, System.Type> |
|
ParamChanged
Declaration
public ThreadSafeAction<object, string> ParamChanged { get; set; }
Property Value
PluginConfig
Declaration
public IPluginConfig PluginConfig { get; }
Property Value
TickDeltaTime
Declaration
public float TickDeltaTime { get; }
Property Value
Type |
Description |
System.Single |
|
TickStartTime
Declaration
public double TickStartTime { get; }
Property Value
Type |
Description |
System.Double |
|
Methods
Add(WorldObject, User, WrappedWorldPosition3, Quaternion, WorldObject)
Declaration
public WorldObject Add(WorldObject worldObject, User creator, WrappedWorldPosition3 position, Quaternion rotation, WorldObject attachedToWorldObject)
Parameters
Returns
AddToTick(ITickOnDemand)
Adds tickable
to closest (current or next) Eco.Gameplay.Objects.WorldObjectManager.TickAll which may not want to tick every time, but instead tick only when specific event happens.
It may be useful if you wanna delay component state update until tick time, because it may have lot of updates between ticks and processing multiple syncs for every update
may significantly impact performance. At same time we don't wanna to Tick() every time, because these syncs may not happen for long time
for most of components and it will just waste CPU time.
Declaration
public void AddToTick(ITickOnDemand tickable)
Parameters
DestroyPermanently(Item, Int32)
Declaration
public static void DestroyPermanently(Item item, int quantity = 1)
Parameters
Type |
Name |
Description |
Item |
item |
|
System.Int32 |
quantity |
|
DestroyPermanently(WorldObject)
Declaration
public static void DestroyPermanently(WorldObject worldObject)
Parameters
ForceAdd(Type, User, Vector3, Quaternion, Boolean, IPlaceableItem, Action<WorldObject>, WorldObject)
Declaration
public static WorldObject ForceAdd(Type worldObjectType, User creator, Vector3 position, Quaternion rotation, bool validatePlacement = true, IPlaceableItem item = null, Action<WorldObject> onInstanceCreated = null, WorldObject attachedToWorldObject = null)
Parameters
Returns
ForEach(Action<WorldObject>)
Declaration
public static void ForEach(Action<WorldObject> action)
Parameters
Type |
Name |
Description |
System.Action<WorldObject> |
action |
|
GetCategory()
Declaration
public string GetCategory()
Returns
Type |
Description |
System.String |
|
GetDisplayText()
Declaration
public string GetDisplayText()
Returns
Type |
Description |
System.String |
|
GetEditObject()
Declaration
public object GetEditObject()
Returns
Type |
Description |
System.Object |
|
GetFromID(Guid)
Declaration
public WorldObject GetFromID(Guid g)
Parameters
Type |
Name |
Description |
System.Guid |
g |
|
Returns
GetObjectsWithin(Vector2, Single)
Declaration
public IEnumerable<WorldObject> GetObjectsWithin(Vector2 position, float range)
Parameters
Type |
Name |
Description |
Vector2 |
position |
|
System.Single |
range |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<WorldObject> |
|
GetObjectsWithin(WrappedPosition3, Single)
Declaration
public IEnumerable<WorldObject> GetObjectsWithin(WrappedPosition3 position, float range)
Parameters
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<WorldObject> |
|
GetOwnedBy(User)
Declaration
public static IEnumerable<WorldObject> GetOwnedBy(User user)
Parameters
Type |
Name |
Description |
User |
user |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<WorldObject> |
|
GetStatus()
Declaration
public string GetStatus()
Returns
Type |
Description |
System.String |
|
GetTypeFromName(String)
Declaration
public Type GetTypeFromName(string s)
Parameters
Type |
Name |
Description |
System.String |
s |
|
Returns
Type |
Description |
System.Type |
|
GetWorldObjectsFromComponent(Type, Boolean)
We get all the world objects that have the specified component.
Declaration
public static IEnumerable<Type> GetWorldObjectsFromComponent(Type componentType, bool includeHiddenObjects = true)
Parameters
Type |
Name |
Description |
System.Type |
componentType |
|
System.Boolean |
includeHiddenObjects |
Do we want to also get the hidden objects ?
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<System.Type> |
|
Initialize(TimedTask)
Declaration
public void Initialize(TimedTask timer)
Parameters
OnDisplayTabVisibilityChange(Boolean)
Declaration
public void OnDisplayTabVisibilityChange(bool show)
Parameters
Type |
Name |
Description |
System.Boolean |
show |
|
OnEditObjectChanged(Object, String)
Declaration
public void OnEditObjectChanged(object o, string param)
Parameters
Type |
Name |
Description |
System.Object |
o |
|
System.String |
param |
|
OnWorldObjectLoaded(WorldObject)
Declaration
public void OnWorldObjectLoaded(WorldObject worldObject)
Parameters
RemoveFromTick(ITickOnDemand)
Declaration
public void RemoveFromTick(ITickOnDemand tickable)
Parameters
RemoveWorldObject(WorldObject)
Declaration
public bool RemoveWorldObject(WorldObject worldObject)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Run()
Declaration
ShutdownAsync()
Declaration
public Task ShutdownAsync()
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
ToString()
Declaration
public override string ToString()
Returns
Type |
Description |
System.String |
|
TryMoveWorldObject(Player, WorldObjectItem, WorldObject, Vector3i, Quaternion)
Attempts to move an already placed WorldObject to a new position.
Declaration
public static WorldObject TryMoveWorldObject(Player player, WorldObjectItem item, WorldObject worldObject, Vector3i newPosition, Quaternion newRotation)
Parameters
Returns
Implements
Extension Methods