public override void HandleAbilities(Entity entity) { Abilities = GetComponents <IActorAbility>().ToList(); foreach (var a in GetComponents <IActorAbility>().ToList()) { if (a is IPerkAbility p) { PerksToApply.Add(p); } else { Abilities.Add(a); } } foreach (var ability in Abilities) { ability.AddComponentData(ref entity, this); if (ability is IComponentName componentName && !componentName.ComponentName.Equals(string.Empty)) { ComponentNames.Add(componentName.ComponentName); } } }
/// <summary> /// OnInitialized 方法 /// </summary> protected override void OnInitialized() { base.OnInitialized(); ComponentNames?.Add(Text); Parent?.Add(this); }
private void AddComponentType <T>(int index) where T : IComponent, new() { ComponentHelper <TEntity, T> .Initialize(index); ComponentNames.Add(typeof(T).PrettyPrintGenericTypeName()); ComponentTypes.Add(typeof(T)); ComponentCount++; }
/// <summary> /// OnInitialized 方法 /// </summary> protected override void OnInitialized() { base.OnInitialized(); ComponentNames?.Add(HeaderText); }