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>(); } }
// ------------------------------------------------------------------- // Protected // ------------------------------------------------------------------- protected override void DoBuild(GameDataBuildContext context) { base.DoBuild(context); var runtime = new RuntimeFactionData { InternalType = this.InternalType, AvailableInCharacterCreation = this.AvailableInCharacterCreation }; this.BuildBase(context, runtime); context.AddBuildResult(runtime); }