public List <Index> GeneratAllIndexes() { var result = BackReference.GenerateIndexes(this).ToList(); result.AddRange(Field.GenerateIndexes(this)); if (MultiColumnIndexes != null) { result.AddRange(MultiColumnIndexes); } return(result); }
public List <TableIndex> GeneratAllIndexes() { var result = new List <TableIndex> { new PrimaryClusteredIndex(this) }; result.AddRange(BackReference.GenerateIndexes(this)); result.AddRange(Field.GenerateIndexes(this)); if (MultiColumnIndexes != null) { result.AddRange(MultiColumnIndexes); } return(result); }
public IEnumerator <YieldInstruction> ProcessInput(GameAction action) { GroundChar character = FocusedCharacter; switch (action.Type) { case GameAction.ActionType.Dir: { //result.Success = ActionResult.ResultType.Success; break; } case GameAction.ActionType.Move: { character.CurrentCommand = action; break; } case GameAction.ActionType.Drop: { yield return(CoroutineManager.Instance.StartCoroutine(ProcessTrashItem(character, action[0], action[1] != 0))); break; } case GameAction.ActionType.Give: { //[0] = item slot to use (-1 for the ground item) //[1] = who to give it to (-1 for the user) yield return(CoroutineManager.Instance.StartCoroutine(ProcessGiveItem(character, action[0], action[1]))); break; } case GameAction.ActionType.Take: { //[0] = team slot to take from yield return(CoroutineManager.Instance.StartCoroutine(ProcessTakeItem(character, action[0]))); break; } case GameAction.ActionType.Attack: { character.CurrentCommand = action; yield return(CoroutineManager.Instance.StartCoroutine(ProcessObjectInteract(character))); break; } case GameAction.ActionType.UseItem: { //[0] = item slot to use (-1 for held item, -2 for the ground item) //[1] = who to use it on (-1 for the user) //others: which slot to delete, //which intrinsic to have, which team member/item to send in, etc. yield return(CoroutineManager.Instance.StartCoroutine(ProcessUseItem(character, action[0], action[1] != 0))); break; } case GameAction.ActionType.ShiftTeam: { int charIndex = action[0]; Character targetChar = DataManager.Instance.Save.ActiveTeam.Players[charIndex]; DataManager.Instance.Save.ActiveTeam.Players.RemoveAt(charIndex); DataManager.Instance.Save.ActiveTeam.Players.Insert(charIndex + 1, targetChar); //update the leader indices if (DataManager.Instance.Save.ActiveTeam.LeaderIndex == charIndex) { DataManager.Instance.Save.ActiveTeam.LeaderIndex++; } else if (DataManager.Instance.Save.ActiveTeam.LeaderIndex == charIndex + 1) { DataManager.Instance.Save.ActiveTeam.LeaderIndex--; } break; } case GameAction.ActionType.SetLeader: { yield return(CoroutineManager.Instance.StartCoroutine(MakeLeader(action[0], action[1] != 0))); break; } case GameAction.ActionType.SendHome: { yield return(CoroutineManager.Instance.StartCoroutine(SendHome(action[0]))); break; } case GameAction.ActionType.GiveUp: { GameManager.Instance.SceneOutcome = GameManager.Instance.EndSegment((GameProgress.ResultType)action[0]); break; } case GameAction.ActionType.Tactics: { //saves all the settings to the characters for (int ii = 0; ii < DataManager.Instance.Save.ActiveTeam.Players.Count; ii++) { int choice = action[ii]; Character target = DataManager.Instance.Save.ActiveTeam.Players[ii]; AITactic tactic = DataManager.Instance.GetAITactic(choice); if (tactic.ID != target.Tactic.ID) { target.Tactic = new AITactic(tactic); } target.Tactic.Initialize(target); } break; } case GameAction.ActionType.SetSkill: { Skill skill = DataManager.Instance.Save.ActiveTeam.Players[action[0]].Skills[action[1]].Element; skill.Enabled = !skill.Enabled; break; } case GameAction.ActionType.ShiftSkill: { int slot = action[1]; Character targetChar = DataManager.Instance.Save.ActiveTeam.Players[action[0]]; BackReference <Skill> upState = targetChar.Skills[slot]; BackReference <Skill> downState = targetChar.Skills[slot + 1]; targetChar.Skills[slot] = downState; targetChar.Skills[slot + 1] = upState; if (upState.BackRef > -1 && downState.BackRef > -1) { SlotSkill skill = targetChar.BaseSkills[slot]; targetChar.BaseSkills.RemoveAt(slot); targetChar.BaseSkills.Insert(slot + 1, skill); } break; } case GameAction.ActionType.SortItems: { DataManager.Instance.Save.ActiveTeam.SortItems(); break; } default: { throw new Exception("Undefined Command: " + action.Type); } } }
protected override void CreateBackReferenceObjects() { SuiteRefs = CreateSuitesRefs(); ScenarioSetRefs = CreateScenarioSetRefs(); }
protected override void CreateBackReferenceObjects() { base.CreateBackReferenceObjects(); PlatfromSetRefs = CreatePlatformRefs(); }
protected override void CreateBackReferenceObjects() { base.CreateBackReferenceObjects(); ProductSetRefs = CreateProductSetRefs(); }
protected override void CreateBackReferenceObjects() { DeploymentSetRefs = CreateDeploymentSetRefs(); SelectDeploymentRefs = CreateSelectDeploymentRefs(); ScenarioRefs = CreateScenarioRefs(); }
protected override void CreateBackReferenceObjects() { base.CreateBackReferenceObjects(); CurryingDeploymentRefs = CreateCyrryingRefs(); }
protected override void CreateBackReferenceObjects() { base.CreateBackReferenceObjects(); SuiteRefs = CreateSuiteRefs(); }