public Outcome(SelectionManager selectionManager, ScenarioLoader scenarioLoader, SZOutcome toCopy) { activeUnit = selectionManager.GetUnitByID(toCopy.activeUnit); position = scenarioLoader.GetHexByID(toCopy.position); spendingMoves = toCopy.spendingMoves; combat = new List <AttackResult>(); foreach (SZAttackResult attackResult in toCopy.combat) { combat.Add(new AttackResult(selectionManager, scenarioLoader, attackResult)); } }
public AttackResult(SelectionManager selectionManager, ScenarioLoader scenarioLoader, SZAttackResult toCopy) { target = selectionManager.GetUnitByID(toCopy.target); source = selectionManager.GetUnitByID(toCopy.source); healthRemaining = toCopy.healthRemaining; sourceHex = scenarioLoader.GetHexByID(toCopy.sourceHex); targetHex = scenarioLoader.GetHexByID(toCopy.targetHex); attackType = toCopy.attackType; if (toCopy.pushMoves == null) { pushMoves = null; } else { pushMoves = new List <Outcome>(); foreach (SZOutcome outcome in toCopy.pushMoves) { pushMoves.Add(new Outcome(selectionManager, scenarioLoader, outcome)); } } }