public class BattleParameters { private HeroId[] heroIds; private HCardId[] hCardIds; private int[] hCardOwnerIndexes; private MonsterId[] monsterIds; private MCardId[] mCardIds; private int[] mCardOwnerIndexes; public BattleParameters() { } public void SetHeroes(HeroId[] heroIds, HCardId[] hCardIds, int[] hCardOwnerIndexes) { if (hCardIds.Length != hCardOwnerIndexes.Length) { throw new System.ArgumentException( "hCardIds and hCardOwnerIndexes need to have the same length"); } this.heroIds = heroIds; this.hCardIds = hCardIds; this.hCardOwnerIndexes = hCardOwnerIndexes; } public void SetMonsters(MonsterId[] monsterIds, MCardId[] mCardIds, int[] mCardOwnerIndexes) { if (mCardIds.Length != mCardOwnerIndexes.Length) { throw new System.ArgumentException( "mCardIds and mCardOwnerIndexes need to have the same length"); } this.monsterIds = monsterIds; this.mCardIds = mCardIds; this.mCardOwnerIndexes = mCardOwnerIndexes; } public HeroId[] HeroIds {get => this.heroIds;} public HCardId[] HCardIds {get => this.hCardIds;} public int[] HCardOwnerIndexes {get => this.hCardOwnerIndexes;} public MonsterId[] MonsterIds {get => this.monsterIds;} public MCardId[] MCardIds {get => this.mCardIds;} public int[] MCardOwnerIndexes {get => this.mCardOwnerIndexes;} }