Пример #1
0
        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++;
        }
Пример #4
0
        /// <summary>
        /// OnInitialized 方法
        /// </summary>
        protected override void OnInitialized()
        {
            base.OnInitialized();

            ComponentNames?.Add(HeaderText);
        }