public void UseAbility(AbilityConfig config, Agent agent, GameObject target = null) { currentConfig = config; currentAgent = agent; currentTarget = target; gameObject.SetActive(true); }
public CharacterAbility(AbilityConfig config, ICharacter caster) { Config = config; this.caster = caster; Level = caster.Level; Config.Register(); }
public override void SetConfig(AbilityConfig configToSet) { base.SetConfig(configToSet); effectRadius = (config as MeteorConfig).effectRadius; spawnedEffect = (config as MeteorConfig).effect; effectDuration = (config as MeteorConfig).graphicDuration; }
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; }
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; }
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); } }
public Ability(AbilityType abilityType) { _abilityType = abilityType; _config = DataManager.GetAbilityConfig(_abilityType); UpdateData(); }
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; }
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; }
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); }
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"); } }
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); }
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; }
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(); } }
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); } }
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; }
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); }
// 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()); } }
public override void SetConfig(AbilityConfig configToSet) { base.SetConfig(configToSet); consumable = (configToSet as ConsumableAbilityConfig).consumable; }
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; }
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; }
public override void SetConfig(AbilityConfig configToSet) { base.SetConfig(configToSet); spawnDistance = (config as OffSetSpawnedAoEConfig).spawnDistance; damageDelayTime = (config as OffSetSpawnedAoEConfig).damageDelayTime; }
public override void SetConfig(AbilityConfig configToSet) { base.SetConfig(configToSet); graphic = (config as SelfCastConfig).graphic; }
public virtual void EquipAbility(AbilityConfig abilityConfig, string ownerTag) { CurrentAbility = abilityConfig.CreateAbilityComponent(transform); CurrentAbility.OwnerTag = ownerTag; onAbilityEquipped.Invoke(CurrentAbility); }
public void AddAbility(AbilityConfig ability) { abilityController.AddAbilityConfig(ability); abilities.Add(ability); }