using System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using DunGen; using DunGen.Graph; using GameNetcodeStuff; using InjectionLibrary.Attributes; using Microsoft.CodeAnalysis; using Newtonsoft.Json.Linq; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: RequiresInjections] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: IgnoresAccessChecksTo("DunGen")] [assembly: IgnoresAccessChecksTo("Newtonsoft.Json")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Components")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Runtime")] [assembly: AssemblyCompany("XuXiaolan,loaforc")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("0.9.21.0")] [assembly: AssemblyInformationalVersion("0.9.21+78d07c774d74f29674974668e8e7aca2a1029d4a")] [assembly: AssemblyProduct("DawnLibInterfaces")] [assembly: AssemblyTitle("DawnLibInterfaces")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.9.21.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.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [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 Dawn { [InjectInterface(typeof(Terminal))] public interface ITerminal { string DawnLastCommand { get; set; } TerminalKeyword DawnLastNoun { get; set; } TerminalKeyword DawnLastVerb { get; set; } } [InjectInterface(typeof(TerminalKeyword))] public interface ITerminalKeyword { public enum DawnKeywordType { Unset, Core, TerminalObject, Moons, Vehicles, Store, Bestiary, SigurdLog, TerminalEvent, DawnCommand, Other } DawnKeywordType DawnKeywordPriority { get; set; } bool DawnAcceptAdditionalText { get; set; } string DawnKeywordDescription { get; set; } string DawnKeywordCategory { get; set; } } [InjectInterface(typeof(TerminalNode))] public interface ITerminalNode { Func DynamicDisplayText { get; set; } } internal static class MyPluginInfo { public const string PLUGIN_GUID = "com.github.teamxiaolan.dawnlib.interfaces"; public const string PLUGIN_NAME = "DawnLibInterfaces"; public const string PLUGIN_VERSION = "0.9.21"; } } namespace Dawn.Interfaces { [HandleErrors(/*Could not decode attribute arguments.*/)] [InjectInterface(typeof(EnemyAINestSpawnObject))] [InjectInterface(typeof(RandomMapObject))] [InjectInterface(typeof(PlaceableShipObject))] [InjectInterface(typeof(HauntedMaskItem))] internal interface IAwakeMethod { [HandleErrors(/*Could not decode attribute arguments.*/)] void Awake(); } [InjectInterface(typeof(EnemyAI))] [InjectInterface(typeof(GrabbableObject))] [InjectInterface(typeof(EnemyAINestSpawnObject))] public interface ICurrentEntityReplacement { object? CurrentEntityReplacement { get; set; } } [InjectInterface(typeof(SelectableLevel))] [InjectInterface(typeof(WeatherEffect))] [InjectInterface(typeof(EnemyType))] [InjectInterface(typeof(Item))] [InjectInterface(typeof(UnlockableItem))] [InjectInterface(typeof(TileSet))] [InjectInterface(typeof(DungeonArchetype))] [InjectInterface(typeof(DungeonFlow))] [InjectInterface(typeof(BuyableVehicle))] [InjectInterface(typeof(FootstepSurface))] [InjectInterface(typeof(TerminalNode))] [InjectInterface(typeof(IndoorMapHazardType))] [InjectInterface(typeof(SpawnableOutsideObject))] public interface IDawnObject { object DawnInfo { get; set; } } [InjectInterface(typeof(PlayerAnimationEvents))] public interface IDawnPlayerAnimationEvents { void PlayCrouchFootstepSound(); } [InjectInterface(typeof(GrabbableObject))] public interface IDawnSaveData { JToken GetDawnDataToSave() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return JToken.op_Implicit(((GrabbableObject)this).GetItemDataToSave()); } void LoadDawnSaveData(JToken saveData) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 //IL_000b: Unknown result type (might be due to invalid IL or missing references) if ((int)saveData.Type == 6) { ((GrabbableObject)this).LoadItemSaveData((int)saveData); } } } [InjectInterface(typeof(ScanNodeProperties))] public interface IDawnScanNode { object RectTransformInfo { get; set; } } [InjectInterface(typeof(PlayerControllerB))] [InjectInterface(typeof(MaskedPlayerEnemy))] public interface IDawnSurface { object? CurrentDawnSurface { get; set; } } [HandleErrors(/*Could not decode attribute arguments.*/)] [InjectInterface(typeof(PlaceableShipObject))] internal interface IOnDestroyMethod { [HandleErrors(/*Could not decode attribute arguments.*/)] void OnDestroy(); } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }