Namespace Eco.Gameplay.Objects
Classes
AlwaysMayBeComponentAttribute
Put this tag on components that are always allowed to be on objects (they wont be removed automatically)
BecomesRubble
BuildingWorldObjectBlock
Solid world object block used as a placeholder in occupied blocks. Marked as solid on the client, for builder purposes.
Continue
Determines flow when processing several things, used as a return value.
EcoObjectManager
FertileWorldObjectBlock
GarbageInventoryBlock
MayHaveComponentAttribute
Declare this objects that may or may not have a given component. This is needed because any component that is not [Required] or [MayRequire] will be removed on server load, as a way of migrating away old component.
MemoryManager
Used to find memory leaks, by example, world objects that are still exists in memory even after removal from the world.
PhysicsWorldObject
PickupableBlock
PipeSlotBlock
RequireComponentAttribute
RubbleObject
Represents rubble object. These objects are physicly simulated some time and frozen after that. It's done for optimization reasons so rubbles not gonna be simulated forever.
RubbleObject<TItemType>
RubbleObjectMetaInfo
TechTreeVisualizer
TrackPlacementComponent
WaterWorldObjectBlock
A WorldObject Water Block that replaces a Terrain Water Block. Occupies the space in the water, blocking placement
WorldObject
WorldObjectBlock
WorldObjectComponent
Base class for all world object components. Icon attribute should be applied on a particular descendant, do not put it here.
WorldObjectComponentClientAvailability
WorldObjectHandle
WorldObjectManager
WorldObjectUtil
WorldObjectUtil.PickupType
Interfaces
IEcoObject
IFreezable
Physics objects that can be freezed, so unity physics wont affect them anymore. Sample: rubble, which after some time of physic simulation gonna to be attach to something and no longer move. This is used mainly for optimizations reasons, so it wont simulate all rubble objects all the time, but there are also another case for that: by example, prevent shop truck from be moved away by physic simulation.
IInventoryWorldObjectComponent
We implement this interface to all world object components that have inventories.
IOperatingWorldObjectComponent
IPickupConfirmationComponent
IPostAddListenerComponent
ITickOnDemand
Interface for components (and other objects) which may want to have call to TickOnDemand() when closest Eco.Gameplay.Objects.WorldObjectManager.TickAll happens. It it was added within Tick() then it will be processed same tick. They may be registered with AddToTick(ITickOnDemand).