示例#1
0
        public override void Awake()
        {
            m_abilities = new AbilityEntry[14];
            for (int index = 0; index < 14; ++index)
            {
                m_abilities[index] = new AbilityEntry();
            }
            m_abilities[0].Setup(Ability0);
            m_abilities[1].Setup(Ability1);
            m_abilities[2].Setup(Ability2);
            m_abilities[3].Setup(Ability3);
            m_abilities[4].Setup(Ability4);
            m_allChainAbilities = new List <Ability>();
            m_allChainAbilityParentActionTypes = new List <ActionType>();
            for (int index = 0; index < m_abilities.Length; ++index)
            {
                var ability = m_abilities[index];
                if (ability.ability != null)
                {
                    foreach (var chainAbility in ability.ability.GetChainAbilities())
                    {
                        if (chainAbility != null)
                        {
                            AddToAllChainAbilitiesList(chainAbility, (ActionType)index);
                        }
                    }
                }
            }

            m_cooldowns = new Dictionary <string, int>();
            m_actor     = GetComponent <ActorData>();
            for (int index = 0; index < 3; ++index)
            {
                m_cachedCardAbilities.Add(null);
            }

            _cooldownsSync.InitializeBehaviour(this, kListm_cooldownsSync);
            _consumedStockCount.InitializeBehaviour(this, kListm_consumedStockCount);
            _stockRefreshCountdowns.InitializeBehaviour(this, kListm_stockRefreshCountdowns);
            _currentCardIds.InitializeBehaviour(this, kListm_currentCardIds);
        }
示例#2
0
 public AbilitySetupEntry Ability(AbilityEntry entry)
 {
     return(Setups.GetOrAdd(entry, new AbilitySetupEntry(entry)));
 }
示例#3
0
 public AbilitySetupEntry(AbilityEntry ability)
 {
     Id      = ability.Id;
     Ability = ability;
 }