Decompiled source of ScanShip v1.0.1

ScanShip.dll

Decompiled 10 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using LethalAPI.LibTerminal;
using LethalAPI.LibTerminal.Attributes;
using LethalAPI.LibTerminal.Models;
using Microsoft.CodeAnalysis;
using ScanShip.Commands;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("ScanShip")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyDescription("Scan all the scrap in the ship with the \"scan\" terminal command.")]
[assembly: AssemblyFileVersion("0.0.0.0")]
[assembly: AssemblyInformationalVersion("0.0.0+2fa2b2bca9ef20959498af8fbef3fb32d6f9496d")]
[assembly: AssemblyProduct("ScanShip")]
[assembly: AssemblyTitle("ScanShip")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace ScanShip
{
	[BepInPlugin("ScanShip", "ScanShip", "0.0.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class Plugin : BaseUnityPlugin
	{
		private TerminalModRegistry commandRegistry;

		private void Awake()
		{
			((Object)((Component)this).gameObject).hideFlags = (HideFlags)61;
			commandRegistry = TerminalRegistry.CreateTerminalRegistry();
			commandRegistry.RegisterFrom<ScanCommand>();
		}

		private void OnDestroy()
		{
			commandRegistry.Deregister();
		}
	}
	public static class PluginInfo
	{
		public const string PLUGIN_GUID = "ScanShip";

		public const string PLUGIN_NAME = "ScanShip";

		public const string PLUGIN_VERSION = "0.0.0";
	}
}
namespace ScanShip.Commands
{
	public class ScanCommand
	{
		[TerminalCommand("Scan", true)]
		public string Scan(string location)
		{
			if (location != "ship")
			{
				return null;
			}
			List<GrabbableObject> list = (from scrapObject in Object.FindObjectsOfType<GrabbableObject>()
				where scrapObject.itemProperties.isScrap && scrapObject.isInShipRoom
				select scrapObject).ToList();
			int num = list.Sum((GrabbableObject scrapObject) => scrapObject.scrapValue);
			int count = list.Count;
			return string.Format("There {0} {1} {2} inside the ship, totalling at a value of ${3}.", (count == 1) ? "is" : "are", count, (count == 1) ? "object" : "objects", num);
		}
	}
}