public void Shuffle()
        {
            GameModules.Instance.LogicCore.FactionProvider.Reset();
            this.selectedFaction = GameModules.Instance.LogicCore.FactionProvider.GetRandom();

            var icon = GameModules.Instance.LogicCore.FactionProvider.GetIcon(this.selectedFaction.InternalType);

            if (icon != ResourceKey.Invalid)
            {
                this.Faction.sprite = icon.LoadManaged <Sprite>();
            }

            GameModules.Instance.LogicCore.RaceProvider.Reset();
            GameModules.Instance.LogicCore.RaceProvider.ByFaction(this.selectedFaction.InternalType);
            this.selectedRace = GameModules.Instance.LogicCore.RaceProvider.GetRandom();
            icon = GameModules.Instance.LogicCore.RaceProvider.GetIcon(this.selectedRace.InternalType);
            if (icon != ResourceKey.Invalid)
            {
                this.Class.sprite = icon.LoadManaged <Sprite>();
            }

            GameModules.Instance.LogicCore.ClassProvider.Reset();
            GameModules.Instance.LogicCore.ClassProvider.ByFaction(this.selectedFaction.InternalType);
            GameModules.Instance.LogicCore.ClassProvider.ByRace(this.selectedRace.InternalType);
            this.selectedClass = GameModules.Instance.LogicCore.ClassProvider.GetRandom();
            icon = GameModules.Instance.LogicCore.ClassProvider.GetIcon(this.selectedClass.InternalType);
            if (icon != ResourceKey.Invalid)
            {
                this.Race.sprite = icon.LoadManaged <Sprite>();
            }
        }
Пример #2
0
        // -------------------------------------------------------------------
        // Protected
        // -------------------------------------------------------------------
        protected override void DoBuild(GameDataBuildContext context)
        {
            base.DoBuild(context);

            var runtime = new RuntimeClassData
            {
                InternalType = this.InternalType,
                AvailableInCharacterCreation = this.AvailableInCharacterCreation,
                Factions = context.BuildGameDataIds(this, this.Factions),
                Races    = context.BuildGameDataIds(this, this.Races)
            };

            this.BuildBase(context, runtime);

            context.AddBuildResult(runtime);
        }