Ejemplo n.º 1
0
 public void UseAbility(AbilityConfig config, Agent agent, GameObject target = null)
 {
     currentConfig = config;
     currentAgent  = agent;
     currentTarget = target;
     gameObject.SetActive(true);
 }
Ejemplo n.º 2
0
 public CharacterAbility(AbilityConfig config, ICharacter caster)
 {
     Config      = config;
     this.caster = caster;
     Level       = caster.Level;
     Config.Register();
 }
Ejemplo n.º 3
0
 public override void SetConfig(AbilityConfig configToSet)
 {
     base.SetConfig(configToSet);
     effectRadius   = (config as MeteorConfig).effectRadius;
     spawnedEffect  = (config as MeteorConfig).effect;
     effectDuration = (config as MeteorConfig).graphicDuration;
 }
Ejemplo n.º 4
0
 public override void SetConfig(AbilityConfig configToSet)
 {
     base.SetConfig(configToSet);
     radius            = (config as AoEConfig).radius;
     hitLayers         = (config as AoEConfig).hitLayers;
     initialAoEGraphic = (config as AoEConfig).initialAoEGraphic;
     initialHitGraphic = (config as AoEConfig).initialHitGraphic;
 }
Ejemplo n.º 5
0
 public override void SetConfig(AbilityConfig configToSet)
 {
     base.SetConfig(configToSet);
     effectRadius   = (config as TornadoConfig).effectRadius;
     spawnedEffect  = (config as TornadoConfig).effect;
     effectDuration = (config as TornadoConfig).abilityDuration;
     pullForce      = (config as TornadoConfig).pullForce;
 }
Ejemplo n.º 6
0
 public override void SetConfig(AbilityConfig configToSet)
 {
     base.SetConfig(configToSet);
     effectRadius      = (config as AoEChannelAbilityConfig).effectRadius;
     spawnedEffect     = (config as AoEChannelAbilityConfig).effect;
     tickFreq          = (config as AoEChannelAbilityConfig).tickFreq;
     tickPrefabGraphic = (config as AoEChannelAbilityConfig).tickPrefabGraphic;
 }
 public void AddAbilityConfig(AbilityConfig abilityConfig)
 {
     if (!abilityConfigs.Contains(abilityConfig))
     {
         abilityConfigs.Add(abilityConfig);
         abilityConfig.AddComponent(gameObject);
     }
 }
Ejemplo n.º 8
0
    public Ability(AbilityType abilityType)
    {
        _abilityType = abilityType;

        _config = DataManager.GetAbilityConfig(_abilityType);

        UpdateData();
    }
Ejemplo n.º 9
0
 public void Refresh(AbilityConfig equipedAbility)
 {
     _isEquiped = equipedAbility != null && (_isEquiped = equipedAbility.AbilityID == _config.AbilityID);
     // if the equiped ability is this, show equiped ui elements
     // else set item to be purchaseable
     _equipedTag.SetActive(_isEquiped);
     _purchaseButton.gameObject.SetActive(!_isEquiped);
     _purchaseButton.interactable = DataPersistanceManager.PlayerData.CurrentCurrency >= _config.Price;
 }
Ejemplo n.º 10
0
 public override void SetConfig(AbilityConfig configToSet)
 {
     base.SetConfig(configToSet);
     effectRadius   = (config as TrapAbilityConfig).effectRadius;
     spawnedEffect  = (config as TrapAbilityConfig).trapGameObject;
     effectDuration = (config as TrapAbilityConfig).trapDuration;
     armTime        = (config as TrapAbilityConfig).armTime;
     hitLayers      = (config as TrapAbilityConfig).hitLayers;
 }
Ejemplo n.º 11
0
    public AbilityRuntime(AbilitySystem owner, AbilityConfig config)
    {
        this.owner     = owner;
        this.assetName = config.name;
        this.Name      = config.Name;

        values.minValue     = 0;
        values.maxValue     = 30;
        values.currentValue = Dice.Roll(3, 6);
    }
Ejemplo n.º 12
0
 public void Purchase(StoreAbilityVisual storeItem, AbilityConfig config)
 {
     if (DataPersistanceManager.PlayerData.CurrentCurrency >= config.Price)
     {
         // Store in persistance the ability equiped after discounting the
         // ability price from the player currency
         DataPersistanceManager.PlayerData.CurrentCurrency -= config.Price;
         DataPersistanceManager.PlayerData.ActiveAbility    = config.AbilityID;
         ManagerHandler.Get <DataPersistanceManager>().Save();
         OnAbilityPurchased?.Invoke(config);
         _currencyLabel.text = DataPersistanceManager.PlayerData.CurrentCurrency.ToString("n0");
     }
 }
Ejemplo n.º 13
0
        public void Initialize(StoreSceneController handler, AbilityConfig config, bool IsEquiped)
        {
            _handler = handler;
            _config  = config;

            StoreSceneController.OnAbilityPurchased -= Refresh;
            StoreSceneController.OnAbilityPurchased += Refresh;

            // Setup UI elements
            _nameLabel.text = config.Name;
            //_descriptionLabel.text = config.Description;
            _priceLabel.text     = config.Price.ToString("n0");
            _abilityImage.sprite = config.AbilityHelperImage;
            Refresh(IsEquiped ? config : null);
        }
Ejemplo n.º 14
0
    public static void ConfigAbility(AbilityConfig config)
    {
        AbilityName abilityName = (AbilityName)System.Enum.Parse(typeof(AbilityName), StringOperation.ToFirstUpper(config.abilityName));

        if (!abilities.ContainsKey(abilityName))
        {
            Debug.Log("ability " + abilityName + " does not exist");
            return;
        }

        AbilityBehaviour ability = abilities[abilityName];

        ability.abilityEnabled = config.enabled;
        ability.isChargeMode   = config.isChargeMode;
        ability.chargeCount    = config.chargeCount;
    }
Ejemplo n.º 15
0
 public void ChangeAbility(AbilityConfig abilityConfig, KeyCode key)
 {
     if (!selectedAbilities.ContainsKey(key))
     {
         Ability ability = abilityConfig.AttachAbilityTo(gameObject);
         selectedAbilities.Add(key, ability);
     }
     else
     {
         Destroy(selectedAbilities[key]);
         Ability ability = abilityConfig.AttachAbilityTo(gameObject);
         selectedAbilities[key] = ability;
     }
     if (onAbilityChangedCallback != null)
     {
         onAbilityChangedCallback.Invoke();
     }
 }
Ejemplo n.º 16
0
    public virtual void SetConfig(AbilityConfig configToSet)
    {
        config                = configToSet;
        abilityName           = config.abilityName;
        abilityId             = config.abilityId;
        icon                  = config.icon;
        description           = config.description;
        abilityAnimationClips = config.abilityAnimationClips;
        voiceSounds           = config.voiceSounds;
        initialSound          = config.initialSound;
        secondarySound        = config.secondarySound;
        abilityRange          = config.abilityRange;
        abilityAnimationTime  = config.abilityAnimationTime;
        abilityCooldown       = config.abilityCooldown;
        abilityManaCost       = config.manaCost;
        attackPowerPercent    = config.attackPowerPercent;

        foreach (EffectConfig effect in config.effects)
        {
            effects.Add(effect);
        }
    }
Ejemplo n.º 17
0
 public override void SetConfig(AbilityConfig configToSet)
 {
     config                = configToSet;
     abilityId             = config.abilityId;
     abilityName           = config.abilityName;
     icon                  = config.icon;
     description           = config.description;
     abilityAnimationClips = config.abilityAnimationClips;
     initialSound          = config.initialSound;
     secondarySound        = config.secondarySound;
     abilityRange          = config.abilityRange;
     abilityAnimationTime  = config.abilityAnimationTime;
     abilityCooldown       = config.abilityCooldown;
     effects               = config.effects;
     abilityManaCost       = config.manaCost;
     attackPowerPercent    = config.attackPowerPercent;
     radius                = 6;
     effect                = (config as CircleOfFlameConfig).effect;
     tickGraphic           = (config as CircleOfFlameConfig).tickGraphic;
     tickFreq              = (config as CircleOfFlameConfig).tickFrequency;
     duration              = (config as CircleOfFlameConfig).abilityDuration;
 }
Ejemplo n.º 18
0
    public static AbilityConfig GetAbilityConfig(AbilityType abilityType)
    {
        AbilityConfig abilityConfig = null;

        if (_cachedAbilityConfigs.TryGetValue(abilityType, out abilityConfig))
        {
            return(abilityConfig);
        }

        abilityConfig = Resources.Load <AbilityConfig>($"Configs/{abilityType}AbilityConfig");

        if (abilityConfig == null)
        {
            Debug.LogError("AbilityConfig with type = " + abilityType + "is not found");
        }
        else
        {
            _cachedAbilityConfigs.Add(abilityType, abilityConfig);
        }

        return(abilityConfig);
    }
Ejemplo n.º 19
0
        // Update when the player changes abilities
        private void updateOnPlayerChangeAbilities(int newAbilityIndex)
        {
            // Reset the cursor highlight when the player changes ability
            switchHighlight(ref cursorHighlight, highlightIndicator);
            // Re-update normal targets if player changed to basic attack
            if (!playerControl.IsUsingAbility())
            {
                highlightEnemiesInRange();
                return;
            }
            AbilityConfig currentAbilityConfig = currentPlayerCharacter.GetAbilityConfig(newAbilityIndex);

            // Highlight Enemies in Range initially only if the ability requires a target
            if (currentAbilityConfig.RequiresTarget)
            {
                highlightEnemiesInRange(newAbilityIndex);
            }
            // Otherwise, check if the ability is an AOE, and if it is, show the aoe ability indicator
            else if (currentAbilityConfig.IsAOE)
            {
                switchToAOEHighlight(newAbilityIndex, currentPlayerCharacter.GetCellLocation());
            }
        }
Ejemplo n.º 20
0
 public override void SetConfig(AbilityConfig configToSet)
 {
     base.SetConfig(configToSet);
     consumable = (configToSet as ConsumableAbilityConfig).consumable;
 }
Ejemplo n.º 21
0
 public void SetAbility(AbilityConfig ability)
 {
     abilityConfig = ability;
 }
 public override void SetConfig(AbilityConfig configToSet)
 {
     base.SetConfig(configToSet);
     projectile      = (config as TargetedRangedConfig).projectile;
     projectileSpeed = (config as TargetedRangedConfig).speed;
 }
Ejemplo n.º 23
0
 public void SetConfig(AbilityConfig configToSet)
 {
     config = configToSet;
 }
 public override void SetConfig(EffectConfig configToSet)
 {
     base.SetConfig(configToSet);
     effectToAdd    = (configToSet as AddEffectToAbilityEffectConfig).effectToAdd;
     abilityToAddTo = (configToSet as AddEffectToAbilityEffectConfig).abilityToAddTo;
 }
Ejemplo n.º 25
0
 public override void SetConfig(AbilityConfig configToSet)
 {
     base.SetConfig(configToSet);
     spawnDistance   = (config as OffSetSpawnedAoEConfig).spawnDistance;
     damageDelayTime = (config as OffSetSpawnedAoEConfig).damageDelayTime;
 }
Ejemplo n.º 26
0
 public override void SetConfig(AbilityConfig configToSet)
 {
     base.SetConfig(configToSet);
     graphic = (config as SelfCastConfig).graphic;
 }
Ejemplo n.º 27
0
 public virtual void EquipAbility(AbilityConfig abilityConfig, string ownerTag)
 {
     CurrentAbility          = abilityConfig.CreateAbilityComponent(transform);
     CurrentAbility.OwnerTag = ownerTag;
     onAbilityEquipped.Invoke(CurrentAbility);
 }
Ejemplo n.º 28
0
 public void AddAbility(AbilityConfig ability)
 {
     abilityController.AddAbilityConfig(ability);
     abilities.Add(ability);
 }