Skip to Main Content

BTD_Mod_Helper​.Api​.Display​.ModBloonOverlay


BloonsTD6 Mod Helper

BTD_Mod_Helper.Api.Display

ModBloonOverlay Class

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.ObjectModContentModDisplay  ModBloonOverlay

Properties

ModBloonOverlay.AllOverlayTypes Property

Quick getter for all overlays

protected static SerializableDictionary<string,BloonOverlayScriptable> AllOverlayTypes { get; }

Property Value

Il2CppNinjaKiwi.Common.SerializableDictionary

ModBloonOverlay.BaseDisplay Property



If BaseOverlay is defined, will automatically get the correct display for each OverlayClass from there

public override string BaseDisplay { get; }

Property Value

System.String

ModBloonOverlay.BaseOverlay Property

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; }

Property Value

System.String

ModBloonOverlay.BaseOverlayClass Property

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 =&gt; BloonOverlayClass.RedRegrow,

BloonOverlayClass.Blue =&gt; BloonOverlayClass.BlueRegrow,

BloonOverlayClass.Green =&gt; BloonOverlayClass.GreenRegrow,

BloonOverlayClass.Yellow =&gt; BloonOverlayClass.YellowRegrow,

BloonOverlayClass.Pink =&gt; BloonOverlayClass.PinkRegrow,

BloonOverlayClass.White =&gt; BloonOverlayClass.WhiteRegrow,

_ =&gt; OverlayClass

};

public virtual BloonOverlayClass BaseOverlayClass { get; }

Property Value

Il2Cpp.BloonOverlayClass

ModBloonOverlay.BloonOverlayClasses Property

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; }

Property Value

System.Collections.Generic.IEnumerable<Il2Cpp.BloonOverlayClass>

ModBloonOverlay.DisplayLayer Property

The Il2CppAssets.Scripts.Data.Bloons.BloonOverlayScriptable.displayLayer of the overlay

public virtual int DisplayLayer { get; }

Property Value

System.Int32

ModBloonOverlay.OverlayClass Property

The overlay class that this is for

public BloonOverlayClass OverlayClass { get; set; }

Property Value

Il2Cpp.BloonOverlayClass

ModBloonOverlay.OverlayType Property

Which overlay type this Overlay uses

public string OverlayType { get; }

Property Value

System.String

ModBloonOverlay.WorksOnCurrentMelonLoader Property

Whether the current MelonLoader version will support registering a BloonOverlay

public static bool WorksOnCurrentMelonLoader { get; }

Property Value

System.Boolean

Methods

ModBloonOverlay.Apply(ProjectileBehaviorWithOverlayModel) Method

Applies this overlay to a projectile behavior model

public virtual void Apply(ProjectileBehaviorWithOverlayModel projectileBehaviorWithOverlayModel);

Parameters

projectileBehaviorWithOverlayModel Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileBehaviorWithOverlayModel

model to add to

ModBloonOverlay.Load() Method

Load different instances of this type for each difference BloonOverlayClass within BloonOverlayClasses

public override System.Collections.Generic.IEnumerable<BTD_Mod_Helper.Api.ModContent> Load();

Returns

System.Collections.Generic.IEnumerable<ModContent>

To learn how to download BTD Mod Helper and install mods, click here