Decompiled source of ManureBox v0.1.0

plugins/ManureBox.dll

Decompiled 2 months ago
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using BepInEx;
using Inventory;
using Terrain.Platforms.Population;
using Terrain.Platforms.Population.Construction.Storage;
using Terrain.Platforms.Population.Population_Soul;
using UnityEngine;
using Utilities;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyVersion("0.0.0.0")]
namespace ManureBox;

public class ManureBoxConstruction : ConstructionStorage
{
	private float _checkTimer;

	public void Update()
	{
		_checkTimer -= TimeRef.DT;
		if (_checkTimer >= 0f || ((PopulationObjectAbstract)this).Platform == null || ((PopulationObjectAbstract)this).Platform.GlobalData == null)
		{
			return;
		}
		_checkTimer = 5f;
		PopulationSoul[] populationSoulWithID = ((PopulationObjectAbstract)this).Platform.GlobalData.GetPopulationSoulWithID((ID)110000);
		foreach (PopulationSoul val in populationSoulWithID)
		{
			if (base.Container.CanAdd((ID)9000, 1))
			{
				base.Container.AddAndGetRemaining((ID)9000, 1);
			}
			if (val.Gameobject != null)
			{
				Object.Destroy((Object)(object)val.Gameobject);
			}
			if (val.PopulationObject != null)
			{
				Object.Destroy((Object)(object)((Component)val.PopulationObject).gameObject);
			}
			val.RemoveSoul();
		}
		base.StorageVisualRef.DisplayContainer(base.Container);
	}
}
public class ManureBoxStorage : StorageVisual_Abstract
{
	public GameObject emptyObj;

	public GameObject partialFillObj;

	public GameObject fullObj;

	public override void DisplayContainer(ItemContainerV2 container)
	{
		((StorageVisual_Abstract)this).DisplayContainer(container);
		bool flag = container.GetQuantity((ID)9000) == 0;
		bool flag2 = !container.CanAdd((ID)9000, 1);
		bool active = !flag && !flag2;
		emptyObj.SetActive(flag);
		fullObj.SetActive(flag2);
		partialFillObj.SetActive(active);
	}
}
[BepInPlugin("manurebox", "Manure Box", "0.1.0")]
public class Plugin : BaseUnityPlugin
{
}