public void BeginTargetSelection(BattleTechniqueTargetType targetType, List<BattleCharacter> availableTargets)
        {
            this.targetType = targetType;
            switch (targetType)
            {
                case BattleTechniqueTargetType.AllActiveAllies:
                case BattleTechniqueTargetType.AllEnemies:
                case BattleTechniqueTargetType.Everyone:
                case BattleTechniqueTargetType.Self:
                case BattleTechniqueTargetType.SingleActiveAlly:
                case BattleTechniqueTargetType.SingleEnemy:
                case BattleTechniqueTargetType.SingleKOdAlly:
                    noOfPossibleSelections = 1;
                    // THIS SWITCH IS HERE TO ALLOW ADDITION OF MULTIPLE SELECTION TARGETTING TYPES.
                    break;
            }

            this.availableTargets = availableTargets;
            currentState = BattleTargetSelectorState.AwaitingInput;
            controls.ControlsActive = true;
            debugControls.ControlsActive = true;
            currentCursorSelectionIndex = 0;
            inputDelay = true;
        }
Example #2
0
 public void LoadContent(BattleItemData itemData, int QTY)
 {
     //Loads from a BattleItemData object.
     itemID = itemData.itemID;
     itemDescription = itemData.itemDescription;
     qty = QTY;
     battleEffectTargeting = itemData.itemBattleEffectTargeting;
     battleEffect = new BattleTechniqueEffect();
     battleEffect.LoadContent(itemData.itemBattleEffect);
 }
        List<BattleCharacter> getAvailableTargets(BattleTechniqueTargetType targetType)
        {
            List<BattleCharacter> targets = new List<BattleCharacter>();

            if(targetType == BattleTechniqueTargetType.Everyone)
            {
                targets = activeCharacters;
            }
            else if(targetType == BattleTechniqueTargetType.Self)
            {
                targets.Add(TurnCharacter);
            }
            else if (TurnCharacter is PlayerBattleCharacter)
            {
                switch (targetType)
                {
                    case BattleTechniqueTargetType.AllActiveAllies:
                    case BattleTechniqueTargetType.SingleActiveAlly:
                        foreach (BattleCharacter character in activeCharacters)
                        {
                            if (character is PlayerBattleCharacter)
                            {
                                targets.Add(character);
                            }
                        }
                        break;

                    case BattleTechniqueTargetType.AllEnemies:
                    case BattleTechniqueTargetType.SingleEnemy:
                        foreach (BattleCharacter character in activeCharacters)
                        {
                            if (character is EnemyBattleCharacter)
                            {
                                targets.Add(character);
                            }
                        }
                        break;

                    case BattleTechniqueTargetType.SingleKOdAlly:
                        foreach (BattleCharacter character in inactiveCharacters)
                        {
                            if (character is PlayerBattleCharacter)
                            {
                                targets.Add(character);
                            }
                        }
                        break;
                }
            }
            else if (TurnCharacter is EnemyBattleCharacter)
            {
                switch (targetType)
                {
                    case BattleTechniqueTargetType.AllActiveAllies:
                    case BattleTechniqueTargetType.SingleActiveAlly:
                        foreach (BattleCharacter character in activeCharacters)
                        {
                            if (character is EnemyBattleCharacter)
                            {
                                targets.Add(character);
                            }
                        }
                        break;

                    case BattleTechniqueTargetType.AllEnemies:
                    case BattleTechniqueTargetType.SingleEnemy:
                        foreach (BattleCharacter character in activeCharacters)
                        {
                            if (character is PlayerBattleCharacter)
                            {
                                targets.Add(character);
                            }
                        }
                        break;
                }
            }

            return targets;
        }