BattleSprites now observes hero and monster positions

This commit is contained in:
henriquenakashima 2020-10-13 22:33:12 -04:00
parent 2e5a971581
commit 6aa13cdbb7
3 changed files with 30 additions and 15 deletions

View file

@ -11,12 +11,14 @@ public class BattleSprites: MonoBehaviour
public RuntimeAnimatorController mRuntimeAnimatorController;
public BattlePlayerControls mBattlePlayerControls;
private BattleState mState;
private Dictionary<BattleHero, GameObject> mHeroSprites;
private Dictionary<BattleHero, HeroInfoUI> mHeroUIs;
private Dictionary<BattleMonster, GameObject> mMonsterSprites;
private Dictionary<BattleMonster, HeroInfoUI> mMonsterUIs;
public void Init(BattleHero[] heroes, BattleMonster[] monsters, BattleState battleState) {
mState = battleState;
mHeroSprites = new Dictionary<BattleHero, GameObject>();
mHeroUIs = new Dictionary<BattleHero, HeroInfoUI>();
mMonsterSprites = new Dictionary<BattleMonster, GameObject>();
@ -56,6 +58,8 @@ public class BattleSprites: MonoBehaviour
mMonsterUIs[monster] = monsterUI;
}
mState.OnHeroPositionsSet += this.RepositionHeroes;
mState.OnMonsterPositionsSet += this.RepositionMonsters;
}
private void PositionSprite(TeamChoice team, GameObject sprite, int i) {
@ -75,4 +79,16 @@ public class BattleSprites: MonoBehaviour
public void PositionMonster(BattleMonster monster, int i) {
PositionSprite(TeamChoice.Monsters, mMonsterSprites[monster], i);
}
private void RepositionHeroes() {
for (int i = 0; i < mState.Heroes.Length; i++) {
PositionHero(mState.Heroes[i], i);
}
}
private void RepositionMonsters() {
for (int i = 0; i < mState.Monsters.Length; i++) {
PositionMonster(mState.Monsters[i], i);
}
}
}