Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using spaar.ModLoader;
- using UnityEngine;
- using System.Reflection;
- namespace testMod
- {
- // If you need documentation about any of these values or the mod loader
- // in general, take a look at https://spaar.github.io/besiege-modloader.
- public class TestMod : Mod
- {
- public override string Name { get; } = "Test Slider";
- public override string DisplayName { get; } = "Test Slider";
- public override string Author { get; } = "Lench";
- public override Version Version { get; } = new Version(1, 0, 0);
- public override void OnLoad()
- {
- // subscribe to OnBlockPaced event
- Game.OnBlockPlaced += AddSlider;
- }
- public override void OnUnload()
- {
- // unsubscribe
- Game.OnBlockPlaced -= AddSlider;
- }
- public void AddSlider(Transform block)
- {
- // create new slider
- var newSlider = new MSlider("Test slider", "test", 1, 0, 2);
- newSlider.DisplayInMapper = true;
- // get placed block
- var b = block.GetComponent<BlockBehaviour>();
- // property returns a new list
- var currentMapperTypes = b.MapperTypes;
- // add slider
- currentMapperTypes.Add(newSlider);
- // set the new mapper types list
- typeof(BlockBehaviour)
- .GetField("mapperTypes", BindingFlags.Instance | BindingFlags.NonPublic)
- .SetValue(b, currentMapperTypes);
- // print all mapper types in console
- Debug.Log("MapperTypes:");
- foreach (var s in b.MapperTypes)
- Debug.Log(s.DisplayName);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement