Class for a custom GameMode that will be added to the modes screen when starting a new match
public abstract class ModGameMode : BTD_Mod_Helper.Api.NamedModContent
Inheritance System.Object ModContent NamedModContent ModGameMode
Whether this Game Mode should always apply custom challenge rules to the match via a DailyChallengeModel
public virtual bool ApplyChallengeRules { get; }
The id of the existing GameMode to use as a base. Use GameModeType.[name]
If this GameModeType.None, empty, or null, then an empty base will be used
public abstract string BaseGameMode { get; }
Where this Mode should show up within the Mode Select screen. Use DifficultyType.[name]
public abstract string Difficulty { get; }
The name that will actually be display when referring to multiple of these
public sealed override string DisplayNamePlural { get; }
The Icon for the Button for this Mode within the UI, by default looking for the same name as the file
public virtual string Icon { get; }
If you're not going to use a custom .png for your Icon, use this to directly control its SpriteReference
public virtual SpriteReference IconReference { get; }
Il2CppNinjaKiwi.Common.ResourceUtils.SpriteReference
Implemented by a ModGameMode to modify the base game mode, for instance by adding or removing mutator mods
public abstract void ModifyBaseGameModeModel(ModModel gameModeModel);
gameModeModel Il2CppAssets.Scripts.Models.ModModel
Modifies the DailyChallengeModel used for the challenge rules of the match.
If this mode is used in a custom challenge, this will override the settings of that challenge.
For normal matches, the DailyChallengeModel is null.
To make normal matches have challenge rules, set the ApplyChallengeRules property to true
public virtual void ModifyChallengeRules(DailyChallengeModel challengeModel);
challengeModel Il2CppAssets.Scripts.Models.ServerEvents.DailyChallengeModel
dcm
Modifies the GameModel that's used for matches played with this mode
public virtual void ModifyGameModel(GameModel gameModel);
gameModel Il2CppAssets.Scripts.Models.GameModel