Пример #1
0
        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));
            }
        }
Пример #2
0
        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));
                }
            }
        }