public override void OnSelect() { for (int P = 0; P < ActiveSquad.CurrentLeader.ArrayParts.Length; ++P) { if (ActiveSquad.CurrentLeader.ArrayParts[P] != null && ActiveSquad.CurrentLeader.ArrayParts[P].PartType == PartTypes.Consumable) { Owner.AddChoiceToCurrentPanel(this); return; } } }
public override void OnSelect() { if (ActiveSquad.CurrentLeader.Boosts.RepairModifier) { int SquadIndex; #region Self for (int U = ActiveSquad.UnitsAliveInSquad - 1; U >= 0; --U) { if (ActiveSquad[U].HP < ActiveSquad[U].MaxHP) { ListMVChoice.Add(ActiveSquad.Position); break; } } #endregion #region X - 1 SquadIndex = Map.CheckForSquadAtPosition(Map.ActivePlayerIndex, ActiveSquad.Position, new Vector3(-1, 0, 0)); if (SquadIndex >= 0) { for (int U = Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex].UnitsAliveInSquad - 1; U >= 0; --U) { if (Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].HP < Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].MaxHP) { ListMVChoice.Add(ActiveSquad.Position + new Vector3(1, 0, 0)); break; } } } #endregion #region X + 1 SquadIndex = Map.CheckForSquadAtPosition(Map.ActivePlayerIndex, ActiveSquad.Position, new Vector3(1, 0, 0)); if (SquadIndex >= 0) { for (int U = Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex].UnitsAliveInSquad - 1; U >= 0; --U) { if (Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].HP < Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].MaxHP) { ListMVChoice.Add(ActiveSquad.Position + new Vector3(1, 0, 0)); break; } } } #endregion #region Y - 1 SquadIndex = Map.CheckForSquadAtPosition(Map.ActivePlayerIndex, ActiveSquad.Position, new Vector3(0, -1, 0)); if (SquadIndex >= 0) { for (int U = Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex].UnitsAliveInSquad - 1; U >= 0; --U) { if (Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].HP < Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].MaxHP) { ListMVChoice.Add(ActiveSquad.Position - new Vector3(0, 1, 0)); break; } } } #endregion #region Y + 1 SquadIndex = Map.CheckForSquadAtPosition(Map.ActivePlayerIndex, ActiveSquad.Position, new Vector3(0, 1, 0)); if (SquadIndex >= 0) { for (int U = Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex].UnitsAliveInSquad - 1; U >= 0; --U) { if (Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].HP < Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].MaxHP) { ListMVChoice.Add(ActiveSquad.Position + new Vector3(0, 1, 0)); break; } } } #endregion if (ListMVChoice.Count > 0) { Owner.AddChoiceToCurrentPanel(this); } } }
public override void OnSelect() { if (ActiveSquad.CurrentLeader.Boosts.RepairModifier) { int SquadIndex; #region Self for (int U = ActiveSquad.UnitsAliveInSquad - 1; U >= 0; --U) { if (ActiveSquad[U].HP < ActiveSquad[U].MaxHP) { ListMVChoice.Add(Map.GetTerrain(ActiveSquad.Position.X, ActiveSquad.Position.Y, (int)ActiveSquad.Position.Z)); break; } } #endregion #region X - 1 SquadIndex = Map.CheckForSquadAtPosition(Map.ActivePlayerIndex, ActiveSquad.Position, new Vector3(-1, 0, 0)); if (SquadIndex >= 0) { for (int U = Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex].UnitsAliveInSquad - 1; U >= 0; --U) { if (Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].HP < Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].MaxHP) { ListMVChoice.Add(Map.GetTerrain(ActiveSquad.Position.X - 1, ActiveSquad.Position.Y, (int)ActiveSquad.Position.Z)); break; } } } #endregion #region X + 1 SquadIndex = Map.CheckForSquadAtPosition(Map.ActivePlayerIndex, ActiveSquad.Position, new Vector3(1, 0, 0)); if (SquadIndex >= 0) { for (int U = Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex].UnitsAliveInSquad - 1; U >= 0; --U) { if (Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].HP < Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].MaxHP) { ListMVChoice.Add(Map.GetTerrain(ActiveSquad.Position.X + 1, ActiveSquad.Position.Y, (int)ActiveSquad.Position.Z)); break; } } } #endregion #region Y - 1 SquadIndex = Map.CheckForSquadAtPosition(Map.ActivePlayerIndex, ActiveSquad.Position, new Vector3(0, -1, 0)); if (SquadIndex >= 0) { for (int U = Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex].UnitsAliveInSquad - 1; U >= 0; --U) { if (Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].HP < Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].MaxHP) { ListMVChoice.Add(Map.GetTerrain(ActiveSquad.Position.X, ActiveSquad.Position.Y - 1, (int)ActiveSquad.Position.Z)); break; } } } #endregion #region Y + 1 SquadIndex = Map.CheckForSquadAtPosition(Map.ActivePlayerIndex, ActiveSquad.Position, new Vector3(0, 1, 0)); if (SquadIndex >= 0) { for (int U = Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex].UnitsAliveInSquad - 1; U >= 0; --U) { if (Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].HP < Map.ListPlayer[Map.ActivePlayerIndex].ListSquad[SquadIndex][U].MaxHP) { ListMVChoice.Add(Map.GetTerrain(ActiveSquad.Position.X, ActiveSquad.Position.Y + 1, (int)ActiveSquad.Position.Z)); break; } } } #endregion if (ListMVChoice.Count > 0) { Owner.AddChoiceToCurrentPanel(this); ListMVPoints = new List <Vector3>(); foreach (MovementAlgorithmTile ActiveTerrain in ListMVChoice) { ListMVPoints.Add(new Vector3(ActiveTerrain.Position.X, ActiveTerrain.Position.Y, ActiveTerrain.LayerIndex)); } } } }