Closed Coobie closed 3 years ago
omg that part of the readme was so broken, I shouldn't try to write documentation late at night. Hopefully it is better now and it doesn't show as much as before that English is indeed not my first langage ^^".
As for the bug that was a really stupid mistake I probably introduced by a "clever" (>_>) refactoring after testing this feature... Thanks for bringing it up and sorry for the inconvenience!
You can try the latest beta 0.7.4-beta2
with the fix.
Thanks for the very quick response!
I will give it a go!
@Doraku Works perfectly now, thanks very much!
Quick question, I notice that the layout has now changed to using tables rather than a listing. Are you now going this route or will the listing still be supported? I have nothing aginst the tables just would like to know.
vs
Yes I am still tuning this change so that's why I have only created a beta for now. At first the listing only showed the item names, it worked great but I thought it would be good for documentation clarity to also add the summary of the items like the official msdn api. Sadly there is no way to do it like that with markdown so I tried to mimic this style like in the first image. It's great when you have few members but starts to look like a mess when you have a lot of them. Thanks to some users feedback I am now trying the table approach by default. Below for comparison how it would look with the new style:
This is the full API documentation of DefaultEcs.
The DefaultEcs namespace contains types to put in place the Entity Component System pattern.
Classes | |
---|---|
AoTHelper | Provides a set of methods to help the generation of generic code for AoT compilation. |
EntityMap<TKey> | Represents a collection of Entity mapped to a TKey component. Only one Entity can be associated with a given TKey. |
EntityMultiMap<TKey> | Represents a collection of Entity mapped to a TKey component. Multiple Entity can be associated with a given TKey. |
EntityQueryBuilder | Represent an helper object to create rules to retrieve a specific subset of Entity. |
EntityQueryBuilder.EitherBuilder | Represents an helper object to create an either group rule to retrieve a specific subset of Entity. |
EntityQueryBuilderExtension | Provides set of static methods to create more easily rules on a EntityQueryBuilder instance. |
EntitySet | Represents a sub-selection of Entity instances from a World. |
IPublisherExtension | Provides set of static methods to automatically subscribe MessageHandler<T>(T) methods marked with the SubscribeAttribute on a IPublisher instance. |
SubscribeAttribute | Specifies that the method should be automatically subscribed when its parent type or instance is called with IPublisherExtension. The decorated method should be of the type MessageHandler<T>(T). |
World | Represents a item used to create and manage Entity objects. |
Structs | |
---|---|
Components<T> | Provides a fast access to the components of type T. |
Entity | Represents an item in the World. Only use Entity generated from the [CreateEntity()](World_CreateEntity().md 'DefaultEcs.World.CreateEntity()') method. |
EntityMap<TKey>.KeyEnumerable | Allows to enumerate the TKey of a EntityMap<TKey>. |
EntityMap<TKey>.KeyEnumerator | Enumerates the TKey of a EntityMap<TKey>. |
EntityMultiMap<TKey>.KeyEnumerable | Allows to enumerate the TKey of a EntityMultiMap<TKey>. |
EntityMultiMap<TKey>.KeyEnumerator | Enumerates the TKey of a EntityMultiMap<TKey>. |
World.Enumerator | Enumerates the Entity of a World. |
Interfaces | |
---|---|
IPublisher | Exposes methods to subscribe to MessageHandler<T>(T) and publish message to callback those subscriptions. |
Delegates | |
---|---|
ComponentAddedHandler<T>(Entity, T) | Represents the method that will called when a component of type T is added on an Entity. |
ComponentChangedHandler<T>(Entity, T, T) | Represents the method that will called when a component of type T is removed from an Entity. |
ComponentDisabledHandler<T>(Entity, T) | Represents the method that will called when a component of type T is disabled on an Entity. |
ComponentEnabledHandler<T>(Entity, T) | Represents the method that will called when a component of type T is enabled on an Entity. |
ComponentPredicate<T>(T) | Represents the method that defines a set of criteria and determines whether the specified component meets those criteria. |
ComponentRemovedHandler<T>(Entity, T) | Represents the method that will called when a component of type T is removed from an Entity. |
EntityCreatedHandler(Entity) | Represents the method that will called when an Entity is created. |
EntityDisabledHandler(Entity) | Represents the method that will called when an Entity is disabled. |
EntityDisposedHandler(Entity) | Represents the method that will called when an Entity is disposed. |
EntityEnabledHandler(Entity) | Represents the method that will called when an Entity is enabled. |
MessageHandler<T>(T) | Encapsulates a method that has a single in parameter and does not return a value used for Subscribe<T>(MessageHandler<T>) method. |
WorldDisposedHandler(World) | Represents the method that will called when a World is created. |
The DefaultEcs.Command namespace contains types used in the recording and deferred execution of modifications on entities.
Classes | |
---|---|
EntityCommandRecorder | Represents a buffer of structural modifications to apply on Entity to record as postoned commands. |
Structs | |
---|---|
EntityRecord | Represents an Entity on which to create commands to record in a EntityCommandRecorder. |
The DefaultEcs.Resource namespace contains types used in the loading of unmanaged resources needed as components.
Classes | |
---|---|
AResourceManager<TInfo,TResource> | Base type used to load resources of type TResource using info of type TInfo. TInfo is used as key if the same resource is requested on multiple Entity to only load the TResource resource once. If no Entity contains the ManagedResource<TInfo,TResource> component identifying the resource anymore, the TResource instance is then unloaded automatically. By default, if TResource is System.IDisposable, Unload(TInfo, TResource) will call the System.IDisposable.Dispose method of the resource. |
ManagedResource<TResource> | Provides static methods for creating ManagedResource<TInfo,TResource> object. |
Structs | |
---|---|
AResourceManager<TInfo,TResource>.ResourceEnumerable | Allows to enumerate the resources of a AResourceManager<TInfo,TResource>. |
AResourceManager<TInfo,TResource>.ResourceEnumerator | Enumerates the resources of a AResourceManager<TInfo,TResource>. |
ManagedResource<TInfo,TResource> | Component type used to load managed resource with a AResourceManager<TInfo,TResource>. |
The DefaultEcs.Serialization namespace contains types used to save and load DefaultEcs objects.
Classes | |
---|---|
BinarySerializationContext | Represents a context used by the BinarySerializer to convert types during serialization and deserialization operations. The context marshalling will not be applied on members of unmanaged type as BinarySerializer just past their memory location with no transformation. |
BinarySerializer | Provides a basic implementation of the ISerializer interface using a binary format. |
ISerializerExtension | Provides extension methods to the ISerializer type. |
TextSerializationContext | Represents a context used by the TextSerializer to convert types during serialization and deserialization operations. |
TextSerializer | Provides a basic implementation of the ISerializer interface using a text readable format. |
Interfaces | |
---|---|
IComponentReader | Exposes a method to be called back when getting an Entity components, primarly used for serialization purpose. |
IComponentTypeReader | Exposes a method to be called back when getting the maximum number of component of a World, primarly used for serialization purpose. |
ISerializer | Provides a set of methods to save and load DefaultEcs objects. |
The DefaultEcs.System namespace contains types to define workflows of modification on entities and components.
Classes | |
---|---|
AComponentSystem<TState,TComponent> | Represents a base class to process updates on a given World instance to all its components of type TComponent. |
ActionSystem<T> | Represents a class to set up easily a custom action as a system update. |
AEntityMultiMapSystem<TState,TKey> | Represents a base class to process updates on a given EntityMultiMap<TKey> instance. |
AEntitySetSystem<T> | Represents a base class to process updates on a given EntitySet instance. Only [Get<T>()](Entity_GetT().md 'DefaultEcs.Entity.Get<T>()'), Set<T>(T) and SetSameAs<T>(Entity) operation on already present component type are safe. |
ComponentAttribute | Represents the base attribute to declare how to build the inner EntitySet of AEntitySetSystem<T> when giving a World instance. Do not use this attribute, prefer WithAttribute and WithoutAttribute instead. |
DisabledAttribute | Makes so when building the inner EntitySet of AEntitySetSystem<T> when giving a World instance, it will only contain disabled entities. |
ParallelSystem<T> | Represents a collection of ISystem<T> to update in parallel. |
SequentialSystem<T> | Represents a collection of ISystem<T> to update sequentially. |
WhenAddedAttribute | Represents a component type to react to its addition when building the inner EntitySet of AEntitySetSystem<T> when giving a World instance. |
WhenAddedEitherAttribute | Represents a group of component types to react to at least one of their addition when building the inner EntitySet of AEntitySetSystem<T> when giving a World instance. |
WhenChangedAttribute | Represents a component type to react to its change when building the inner EntitySet of AEntitySetSystem<T> when giving a World instance. |
WhenChangedEitherAttribute | Represents a group of component types to react to at least one of their change when building the inner EntitySet of AEntitySetSystem<T> when giving a World instance. |
WhenRemovedAttribute | Represents a component type to react to its deletion when building the inner EntitySet of AEntitySetSystem<T> when giving a World instance. |
WhenRemovedEitherAttribute | Represents a group of component types to react to at least one of their deletion when building the inner EntitySet of AEntitySetSystem<T> when giving a World instance. |
WithAttribute | Represents a component type to include when building the inner EntitySet of AEntitySetSystem<T> when giving a World instance. |
WithEitherAttribute | Represents a group of component types which at least one should be present when building the inner EntitySet of AEntitySetSystem<T> when giving a World instance. |
WithoutAttribute | Represents a component type to exclude when building the inner EntitySet of AEntitySetSystem<T> when giving a World instance. |
WithoutEitherAttribute | Represents a group of component types which at least one should not be present when building the inner EntitySet of AEntitySetSystem<T> when giving a World instance. |
WithPredicateAttribute | Makes so when building the inner EntitySet of AEntitySetSystem<T> when giving a World instance, the decorated method will be used as a component predicate. The decorated method should be of the type ComponentPredicate<T>(T). |
Interfaces | |
---|---|
ISystem<T> | Exposes a method to update a system. |
Enums | |
---|---|
ComponentFilterType | Specifies which filter rule should be applied when using a ComponentAttribute. |
The DefaultEcs.Threading namespace contains types used for multithreading operations.
Classes | |
---|---|
DefaultParallelRunner | Represents an object used to run an IParallelRunnable by using multiple System.Threading.Tasks.Task. |
Interfaces | |
---|---|
IParallelRunnable | Exposes a method to run a process in parallel. |
IParallelRunner | Exposes a method to run in parallel a IParallelRunnable. |
In case you really want to keep the listing format, once #4 is done (slowly getting there) you will be able to change the default template to display members as a list like before :)
Sounds like that will keep you very busy!
Thanks again!
Hi,
Firstly, I will start with saying that this is a very cool and useful tool!
I am having some issues using Extern links. The wording in the readme for it is not the best, however it looks like English isn't your first language so I will ignore that (although you probably want to get it checked).
So I have two projects one that generates a link file and the other consumes it. However, all I get is the following error message:
From what I can see it is trying to add an item with a non-unique ID to the dictionary of items. So, I trimmed the link file to the bare minimum and still get the same error. After that I have copied your example from the readme:
“ http://extern/assembly/documentation/base/url/ T:ExternAssembly.ExternType|extern_type.html|ExternType M:ExternAssembly.ExternType.ExternMethod|extern_type_extern_method.html|ExternType ”
And still get the same error message. It is definitely reading the file as if all of the text is removed then it doesn’t result in an error.
I’m fairly certain I am not doing anything silly. Look forward to hearing back from you.
Cheers
Coobie.