Ejemplo n.º 1
0
        public List <Index> GeneratAllIndexes()
        {
            var result = BackReference.GenerateIndexes(this).ToList();

            result.AddRange(Field.GenerateIndexes(this));

            if (MultiColumnIndexes != null)
            {
                result.AddRange(MultiColumnIndexes);
            }

            return(result);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
            }
            }
        }
Ejemplo n.º 4
0
 protected override void CreateBackReferenceObjects()
 {
     SuiteRefs       = CreateSuitesRefs();
     ScenarioSetRefs = CreateScenarioSetRefs();
 }
Ejemplo n.º 5
0
        protected override void CreateBackReferenceObjects()
        {
            base.CreateBackReferenceObjects();

            PlatfromSetRefs = CreatePlatformRefs();
        }
Ejemplo n.º 6
0
        protected override void CreateBackReferenceObjects()
        {
            base.CreateBackReferenceObjects();

            ProductSetRefs = CreateProductSetRefs();
        }
Ejemplo n.º 7
0
 protected override void CreateBackReferenceObjects()
 {
     DeploymentSetRefs    = CreateDeploymentSetRefs();
     SelectDeploymentRefs = CreateSelectDeploymentRefs();
     ScenarioRefs         = CreateScenarioRefs();
 }
        protected override void CreateBackReferenceObjects()
        {
            base.CreateBackReferenceObjects();

            CurryingDeploymentRefs = CreateCyrryingRefs();
        }
Ejemplo n.º 9
0
        protected override void CreateBackReferenceObjects()
        {
            base.CreateBackReferenceObjects();

            SuiteRefs = CreateSuiteRefs();
        }