protected EntityComponent(EntityComponentDataCreationStruct parameters) { Name = parameters.Name; _data = parameters.Data.ToDictionary(kvp => kvp.Key, kvp => kvp.Value); Parent = parameters.Parent; _isActive = true; }
/// <summary> /// Creates a new instance of an <see cref="EntityComponent"/>. /// </summary> public static EntityComponent GetComponent(Entity parent, EntityComponentModel dataModel) { EnsureComponentCreatorsAreLoaded(); var parameters = new EntityComponentDataCreationStruct { Parent = parent, Data = dataModel.Data, Name = dataModel.Id }; Type componentType; if (_componentsByType.TryGetValue(dataModel.Id.ToLowerInvariant(), out componentType)) { return (EntityComponent)Activator.CreateInstance(componentType, parameters); } // fallback entity component: return new DataStorageEntityComponent(parameters); }
/// <summary> /// Creates a new instance of an <see cref="EntityComponent"/>. /// </summary> public static EntityComponent GetComponent(Entity parent, EntityComponentModel dataModel) { EnsureComponentCreatorsAreLoaded(); var parameters = new EntityComponentDataCreationStruct { Parent = parent, Data = dataModel.Data, Name = dataModel.Id }; Type componentType; if (_componentsByType.TryGetValue(dataModel.Id.ToLowerInvariant(), out componentType)) { return((EntityComponent)Activator.CreateInstance(componentType, parameters)); } // fallback entity component: return(new DataStorageEntityComponent(parameters)); }
public PlayerControllerComponent(EntityComponentDataCreationStruct parameters) : base(parameters) { throw new InvalidOperationException(); }