レベルアップさせる
主人公が次のレベルになるのに必要な経験値を取得するメソッドを作ります。
次のレベルに必要な経験値は
必要な経験値 = レベル x レベル
とします。
さらに主人公が必要経験値を持っていればレベルを上げる、というメソッドを作ります。
レベルが上がったときに効果音を再生させるメソッドをSoundManagerにも用意しておき、レベルアップしたときに呼び出せるようにします。
UnitStatus.cs
public int GetNextExp() { return Level * Level; } public void LevelUp() { if (Exp > GetNextExp()) { SoundManager.instance.PlayLevelupSE(); Exp = Exp - GetNextExp(); Level++; } }
バトルに勝利したときにレベルアップさせる
レベルアップのチェックはバトルに勝利して、経験値を得た後に処理します。
BattleDirector.cs -> WonBattle()
private void WonBattle() { ... heroStatus.Exp = heroStatus.Exp + enemyStatus.Exp; heroStatus.LevelUp(); ...
これでレベルアップするようになりました。 レベルアップと同時に最大HPも増えています。