public void Refresh(SkillKey skill, SkillSlot slot, float progress) { progress = Mathf.Max(0, progress); var timing = CalculateTiming(progress); RefreshSlots(slot); RefreshCurrentSlot(slot, timing); RefreshGlow(timing); RefreshSkill(skill, timing); }
/// <summary> /// 格納データ読み出し関数 /// </summary> /// <param name="key">読み出しデータキー</param> /// <returns>読みだされたデータ</returns> public Skill GetContests(SkillKey key) { var fileName = key.ToFileName(); var result = GetContests(fileName); if (result.name != fileName) { throw new FileNotFoundException("Skillの索引キーとSkillオブジェクト名が異なる"); } return(result); }
public static string GetKeyName(this SkillKey key) { switch (key) { case SkillKey.KeyA: return("b0"); case SkillKey.KeyB: return("b1"); case SkillKey.KeyC: return("b2"); default: return("b0"); } }
private static Expression KeyCondition(SkillKey key) { string index; switch (key) { case SkillKey.KeyA: index = "inputCountA"; break; case SkillKey.KeyB: index = "inputCountB"; break; case SkillKey.KeyC: index = "inputCountC"; break; default: return(new ConstNumberExpr(1)); } return(ThisExpr.Instance.MakeIndex("u").MakeIndex(index).GreaterZero()); }
public static String SkillValue(String skill, SkillKey key) { if (!SkillData.ContainsKey(skill)) throw new Exception(String.Format("No such skill [{0}]", skill)); if (SkillData[skill].ContainsKey(key)) return SkillData[skill][key]; Log.Warn(MethodBase.GetCurrentMethod().DeclaringType, String.Format("No such key {0}", skill)); return String.Empty; }
public static int SkillValueAsInt(String skill, SkillKey key) { var value = SkillValue(skill, key); return value != String.Empty ? int.Parse(value) : 0; }
private void RefreshSkill(SkillKey skill, float timing) { _skillIcon.transform.localScale = Vector3.one*timing; _skillIcon.sprite = R.Skill.GetIcon(skill); }
/// <summary> /// スキルキークラスからリソースフォルダに検索かける際のキー文字列への変換処理 /// </summary> /// <param name="key">スキルの索引キークラス</param> /// <returns>検索キーとなる文字列</returns> public static string ToFileName(this SkillKey key) => key.ToString().ConvertSnakeToPascal();
public void ImproveSkill(SkillKey identifier) { switch (identifier) { case SkillKey.BulletDamage: foreach (var cannon in Cannons) { cannon.SkillsManager.Power += EvolutionRate / EvolutionSteps; } break; case SkillKey.BulletEndurance: foreach (var cannon in Cannons) { cannon.SkillsManager.Endurance += EvolutionRate / EvolutionSteps; } break; case SkillKey.ShootSpeed: foreach (var cannon in Cannons) { cannon.SkillsManager.ShootSpeed += EvolutionRate / EvolutionSteps; } break; case SkillKey.BulletReload: foreach (var cannon in Cannons) { cannon.SkillsManager.ShootRate++; } break; case SkillKey.Speed: Speed += (MaxSpeed - MinSpeed) / EvolutionSteps; break; case SkillKey.MaximumHealth: if (MaximumHealth < MaxHealth) { MaximumHealth += (MaxHealth - MinHealth) / EvolutionSteps; if (MaximumHealth > MaxHealth) { MaximumHealth = MaxHealth; } } break; case SkillKey.HealthRegen: if (HealthRegen < MaxHealthRegenRate) { HealthRegen += (MaxHealthRegenRate - MinHealthRegenRate) / EvolutionSteps; if (HealthRegen > MaxHealthRegenRate) { HealthRegen = MaxHealthRegenRate; } } break; case SkillKey.BodyDamage: if (Power < MaxPower) { Power += (MaxPower - MinPower) / EvolutionSteps; if (Power > MaxPower) { Power = MaxPower; } } break; case SkillKey.Stability: if (Stability < MaxStability) { Stability += (MaxStability - MinStability) / EvolutionSteps; if (Stability > MaxStability) { Stability = Stability; } } break; case SkillKey.ShootImpact: foreach (var cannon in Cannons) { cannon.SkillsManager.ShootImpact += (SkillsManager.MaxShootImpact - SkillsManager.MinShootImpact) / EvolutionSteps; } break; default: break; } // This code should be changed to not spend Score when the Skills is already at maximum level // Uncomment this line at final version //AvailableScore--; }
public void Set(SkillKey key) { _key = key; _icon.enabled = true; _icon.sprite = R.Skill.GetIcon(key); }
public static SkillDescriptor Create(SkillKey key) { switch (key) { case SkillKey.None1: case SkillKey.None2: case SkillKey.None3: case SkillKey.None4: return delegate { return "invalid skill: " + key; }; case SkillKey.ArcherReload: case SkillKey.PaladinDefense: case SkillKey.PaladinPurification: case SkillKey.PaladinMassDefense: return data => data.DescriptionFormat; case SkillKey.WarriorAttack: case SkillKey.WarriorStrongAttack: case SkillKey.WizardFireBolt: case SkillKey.WizardFireBall: case SkillKey.ArcherSnipe: case SkillKey.ThiefAssassination: return data => { var args = new AttackSkillArguments(data.Arguments); return args.Describe(data.DescriptionFormat); }; case SkillKey.WizardIceBolt: case SkillKey.WizardIceSpear: case SkillKey.ThiefSandAttack: case SkillKey.ThiefPoisonAttack: return data => { var args = data.Arguments.ToObject<AttackAndGrantStatusConditionArguments>(); return args.Describe(data.DescriptionFormat); }; case SkillKey.PaladinBash: case SkillKey.ThiefStab: return data => { var args = data.Arguments.ToObject<AttackAndTestStunArguments>(); return args.Describe(data.DescriptionFormat); }; case SkillKey.WizardLighteningBolt: case SkillKey.WizardLightening: return data => { var args = data.Arguments.ToObject<Battle.WizardLighteningBoltArguments>(); return args.Describe(data.DescriptionFormat); }; case SkillKey.ArcherEvadeShot: return data => { var args = data.Arguments.ToObject<Battle.ArcherEvadeShotArguments>(); return args.Describe(data.DescriptionFormat); }; case SkillKey.ArcherWeakPointAttack: return data => { var args = data.Arguments.ToObject<Battle.ArcherWeakPointArguments>(); return args.Describe(data.DescriptionFormat); }; case SkillKey.MonkEquility: return data => { var args = data.Arguments.ToObject<Battle.MonkEquilityArguments>(); return args.Describe(data.DescriptionFormat); }; case SkillKey.WarriorEvasion: case SkillKey.WarriorHeal: case SkillKey.ArcherArrowRain: case SkillKey.PaladinMassHeal: case SkillKey.PaladinBigMassHeal: case SkillKey.MonkHeal: case SkillKey.MonkSacrifice: case SkillKey.MonkRevenge: case SkillKey.MonkRecovery: case SkillKey.ThiefEvade: return data => data.DescriptionFormat.Text.Replace(data.Arguments); } Debug.LogError(LogMessages.EnumUndefined(key)); return delegate { return "undefined descriptor for " + key; }; }
public static SkillActor Create(SkillKey key, Battle context, Character owner) { var data = SkillBalance._.Find(key); if (data == null) return new NullSkillActor(context, owner); switch (key) { case SkillKey.None1: case SkillKey.None2: case SkillKey.None3: case SkillKey.None4: return new NullSkillActor(data, context, owner); case SkillKey.WarriorAttack: case SkillKey.WarriorStrongAttack: case SkillKey.WizardFireBolt: case SkillKey.WizardFireBall: case SkillKey.ThiefAssassination: return new AttackSkillActor(data, context, owner); case SkillKey.WarriorHeal: case SkillKey.MonkHeal: return new HealSkillActor(data, context, owner); case SkillKey.PaladinMassHeal: case SkillKey.PaladinBigMassHeal: return new MassHealSkillActor(data, context, owner); case SkillKey.PaladinPurification: return new MassCureSkillActor(data, context, owner); case SkillKey.WarriorEvasion: case SkillKey.ThiefEvade: return new EvasionSkillActor(data, context, owner); case SkillKey.WizardIceBolt: case SkillKey.WizardIceSpear: case SkillKey.ThiefSandAttack: case SkillKey.ThiefPoisonAttack: return new AttackAndGrantStatusConditionSkillActor(data, context, owner); case SkillKey.PaladinBash: case SkillKey.ThiefStab: return new AttackAndTestStunSkillActor(data, context, owner); case SkillKey.WizardLighteningBolt: case SkillKey.WizardLightening: return new WizardLighteningBoltSkillActor(data, context, owner); case SkillKey.ArcherReload: return new ArcherReloadSkillActor(data, context, owner); case SkillKey.ArcherEvadeShot: return new ArcherEvadeShotSkillActor(data, context, owner); case SkillKey.ArcherSnipe: return new ArcherAttackSkillActor(data, context, owner); case SkillKey.ArcherWeakPointAttack: return new ArcherWeakPointAttackActor(data, context, owner); case SkillKey.ArcherArrowRain: return new ArcherArrowRainSkillActor(data, context, owner); case SkillKey.PaladinDefense: return new PaladinDefenseSkillActor(data, context, owner); case SkillKey.PaladinMassDefense: return new PaladinDefenseSkillActor(data, context, owner); case SkillKey.MonkSacrifice: return new MonkSacrificeSkillActor(data, context, owner); case SkillKey.MonkEquility: return new MonkEquilitySkillActor(data, context, owner); case SkillKey.MonkRevenge: return new MonkRevengeSkillActor(data, context, owner); case SkillKey.MonkRecovery: return new MonkRecoverySkillActor(data, context, owner); } Debug.LogError(LogMessages.EnumNotHandled(key)); return new NullSkillActor(data, context, owner); }
private void OnClick(SkillKey skill, bool isSelected) { OnClickCallback.CheckAndCall(skill, isSelected); }