// Start is called before the first frame update void Start() { SelfAbilitySystem = GetComponent <GameplayAbilitySystem.AbilitySystemComponent>(); // Grant all abilities to character, for now var em = World.Active.EntityManager; foreach (KeyValuePair <EAbility, Type> entry in AbilitySystemComponent.Abilities) { var entity = em.CreateEntity(); em.AddComponent(entity, entry.Value); em.AddComponent(entity, typeof(GrantedAbilityComponent)); em.AddComponent(entity, typeof(GrantedAbilityCooldownComponent)); em.AddComponent(entity, typeof(AbilityComponent)); em.SetComponentData(entity, new GrantedAbilityComponent() { GrantedTo = SelfAbilitySystem.entity }); em.SetComponentData(entity, new AbilityComponent() { Ability = entry.Key }); } }
// Start is called before the first frame update void Start() { SelfAbilitySystem = GetComponent <GameplayAbilitySystem.AbilitySystemComponent>(); }