Table of Contents
A special ModDisplay for Bloon Overlays. Handles automatically loading different instances of itself for each BloonOverlayClass
public abstract class ModBloonOverlay : BTD_Mod_Helper.Api.Display.ModDisplay
Inheritance System.Object ModContent ModDisplay ModBloonOverlay
Quick getter for all overlays
protected static SerializableDictionary<string,BloonOverlayScriptable> AllOverlayTypes { get; }
Il2CppNinjaKiwi.Common.SerializableDictionary
If BaseOverlay is defined, will automatically get the correct display for each OverlayClass from there
public override string BaseDisplay { get; }
The base Bloon Overlay to copy from.
These come from the Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileBehaviorWithOverlayModel.overlayType fields of certain projectile behavior models
To not copy from any Base Overlay, keep this as null/empty and modify BaseDisplay or BaseDisplayReference instead
public virtual string BaseOverlay { get; }
Lets you control which BloonOverlayClass from the BaseOverlay is used for each BloonOverlayClass of your custom overlay.
By default, uses the same OverlayClass as the base.
To make the non regrow bloons use the same overlays as the regrow bloons
public override BloonOverlayClass BaseOverlayClass => OverlayClass switch
{
BloonOverlayClass.Red => BloonOverlayClass.RedRegrow,
BloonOverlayClass.Blue => BloonOverlayClass.BlueRegrow,
BloonOverlayClass.Green => BloonOverlayClass.GreenRegrow,
BloonOverlayClass.Yellow => BloonOverlayClass.YellowRegrow,
BloonOverlayClass.Pink => BloonOverlayClass.PinkRegrow,
BloonOverlayClass.White => BloonOverlayClass.WhiteRegrow,
_ => OverlayClass
};
public virtual BloonOverlayClass BaseOverlayClass { get; }
Full list of BloonOverlayClasses to try to load this overlay for, defaults to all of them
public virtual System.Collections.Generic.IEnumerable<BloonOverlayClass> BloonOverlayClasses { get; }
System.Collections.Generic.IEnumerable<Il2Cpp.BloonOverlayClass>
The Il2CppAssets.Scripts.Data.Bloons.BloonOverlayScriptable.displayLayer of the overlay
public virtual int DisplayLayer { get; }
The overlay class that this is for
public BloonOverlayClass OverlayClass { get; set; }
Which overlay type this Overlay uses
public string OverlayType { get; }
Whether the current MelonLoader version will support registering a BloonOverlay
public static bool WorksOnCurrentMelonLoader { get; }
Applies this overlay to a projectile behavior model
public virtual void Apply(ProjectileBehaviorWithOverlayModel projectileBehaviorWithOverlayModel);
projectileBehaviorWithOverlayModel
Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileBehaviorWithOverlayModel
model to add to
Load different instances of this type for each difference BloonOverlayClass within BloonOverlayClasses
public override System.Collections.Generic.IEnumerable<BTD_Mod_Helper.Api.ModContent> Load();