Esempio n. 1
0
        public CharacterCreationController(CharacterCreationManager manager, Sheet character, List <CharacterCustomizationStep> staticSteps = null
                                           ) : base(manager, character, staticSteps)
        {
            ChooseRace  chooseRace  = new ChooseRace(this);
            ChooseClass chooseClass = new ChooseClass(this);
            ChooseName  chooseName  = new ChooseName(this);
            PointBuy    pointBuy    = new PointBuy(this);

            AddStaticStep(chooseRace);
            AddStaticStep(chooseClass);
            AddStaticStep(pointBuy);
            AddStaticStep(chooseName);

            OnDidConfirmCustomization += SerializeThisShit;
        }
        void StartOver()
        {
            Exiting(this, characterCustomization.head);
            CharacterCustomizationStep step = previous;

            while (step != characterCustomization.head)
            {
                step.ResetFeaturesSelected();
                //step.Entered (step);
                //step.Exited (step);
                if (step is ChooseClass)
                {
                    ChooseClass cc = (ChooseClass)step;
                    cc.CleanLastChosen();
                }
                step = step.previous;
            }
            characterCustomization.UpdateSheet();
            characterCustomization.HeadStateEntered(characterCustomization.head, this);
        }