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; }
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; }