Repository navigation
Using ModAPI in your mod
DipCrai edited this page Jun 19, 2024
·
7 revisions
using UnityEngine;
using WorldBoxModLoader;
namespace SampleMod
{
public class Mod
{
public static void Main()
{
GameObject sampleObject = new GameObject("SampleObject");
SpriteRenderer spriteRenderer = sampleObject.AddComponent<SpriteRenderer>();
Texture2D texture = ModAPI.LoadTexture("texture.png");
spriteRenderer.material.SetTexture("_NORMALMAP", texture);
}
}
}ModAPI.LoadSprite(string fullPath, FilterMode filterMode = FilterMode.Point, int pixelsPerUnit = 20)
using UnityEngine;
using WorldBoxModLoader;
namespace SampleMod
{
public class Mod
{
public static void Main()
{
GameObject sampleObject = new GameObject("SampleObject");
SpriteRenderer spriteRenderer = sampleObject.AddComponent<SpriteRenderer>();
spriteRenderer.sprite = ModAPI.LoadSprite("sprite.png");
}
}
}using UnityEngine;
using WorldBoxModLoader;
namespace SampleMod
{
public class Mod
{
public static void Main()
{
GameObject sampleObject = new GameObject("SampleObject");
AudioSource audioSource = sampleObject.AddComponent<AudioSource>();
audioSource.clip = ModAPI.LoadSound("sound.mp3");
}
}
}ModAPI.CreateSimplePowerButton([NotNull] string buttonName, UnityAction buttonAction, Sprite buttonIcon)
using UnityEngine;
using WorldBoxModLoader;
namespace SampleMod
{
public class Mod
{
public static void Main()
{
GameObject sampleObject = new GameObject("SampleObject");
SampleComponent sampleComponent = sampleObject.AddComponent<SampleComponent>();
PowerButton powerButton = ModAPI.CreateSimplePowerButton("Multiplayer menu", sampleComponent.Toggle, ModAPI.LoadSprite("icon.png"));
PowersTab powersTab = ModAPI.GetTab("Tab_Main");
ModAPI.AddButtonToTab(powerButton, powersTab, Vector2.zero);
}
}
public class SampleComponent : MonoBehaviour
{
public void Toggle()
{
gameObject.active = !gameObject.active;
}
}
}