using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Bootstrap;
using R2API;
using R2API.Utils;
using RoR2;
using Transgendence.Properties;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = "")]
[assembly: AssemblyCompany("Transgendence")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Transgendence")]
[assembly: AssemblyTitle("Transgendence")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Transgendence
{
public static class Tools
{
public static string modPrefix = string.Format("@{0}+{1}", "ArtificerExtended", "artiskillicons");
public static AssetBundle LoadAssetBundle(byte[] resourceBytes)
{
if (resourceBytes == null)
{
throw new ArgumentNullException("resourceBytes");
}
return AssetBundle.LoadFromMemory(resourceBytes);
}
public static string GetModPrefix(this BaseUnityPlugin plugin, string bundleName)
{
return $"@{plugin.Info.Metadata.Name}+{bundleName}";
}
internal static bool isLoaded(string modguid)
{
foreach (KeyValuePair<string, PluginInfo> pluginInfo in Chainloader.PluginInfos)
{
string key = pluginInfo.Key;
PluginInfo value = pluginInfo.Value;
if (key == modguid)
{
return true;
}
}
return false;
}
internal static string ConvertDecimal(float d)
{
return d * 100f + "%";
}
internal static void GetMaterial(GameObject model, string childObject, Color color, ref Material material, float scaleMultiplier = 1f, bool replaceAll = false)
{
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
//IL_0031: Unknown result type (might be due to invalid IL or missing references)
//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
//IL_0064: Unknown result type (might be due to invalid IL or missing references)
//IL_006a: Expected O, but got Unknown
//IL_0092: Unknown result type (might be due to invalid IL or missing references)
Renderer[] componentsInChildren = model.GetComponentsInChildren<Renderer>();
Renderer[] array = componentsInChildren;
foreach (Renderer val in array)
{
Renderer val2 = val;
if (string.Equals(((Object)val).name, childObject))
{
if (color == Color.clear)
{
Object.Destroy((Object)(object)val);
break;
}
if ((Object)(object)material == (Object)null)
{
material = new Material(val.material);
material.mainTexture = val.material.mainTexture;
material.shader = val.material.shader;
material.color = color;
}
val.material = material;
Transform transform = ((Component)val).transform;
transform.localScale *= scaleMultiplier;
if (!replaceAll)
{
break;
}
}
}
}
internal static void DebugMaterial(GameObject model)
{
Renderer[] componentsInChildren = model.GetComponentsInChildren<Renderer>();
Renderer[] array = componentsInChildren;
foreach (Renderer val in array)
{
Renderer val2 = val;
Debug.Log((object)("Material: " + ((Object)val2).name.ToString()));
}
}
internal static void GetParticle(GameObject model, string childObject, Color color, float sizeMultiplier = 1f, bool replaceAll = false)
{
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0025: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0069: Unknown result type (might be due to invalid IL or missing references)
//IL_006a: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
ParticleSystem[] componentsInChildren = model.GetComponentsInChildren<ParticleSystem>();
ParticleSystem[] array = componentsInChildren;
foreach (ParticleSystem val in array)
{
ParticleSystem val2 = val;
MainModule main = val2.main;
ColorOverLifetimeModule colorOverLifetime = val2.colorOverLifetime;
ColorBySpeedModule colorBySpeed = val2.colorBySpeed;
if (string.Equals(((Object)val2).name, childObject))
{
((MainModule)(ref main)).startColor = MinMaxGradient.op_Implicit(color);
((MainModule)(ref main)).startSizeMultiplier = ((MainModule)(ref main)).startSizeMultiplier * sizeMultiplier;
((ColorOverLifetimeModule)(ref colorOverLifetime)).color = MinMaxGradient.op_Implicit(color);
((ColorBySpeedModule)(ref colorBySpeed)).color = MinMaxGradient.op_Implicit(color);
if (!replaceAll)
{
break;
}
}
}
}
internal static void DebugParticleSystem(GameObject model)
{
ParticleSystem[] components = model.GetComponents<ParticleSystem>();
ParticleSystem[] array = components;
foreach (ParticleSystem val in array)
{
ParticleSystem val2 = val;
Debug.Log((object)("Particle: " + ((Object)val2).name.ToString()));
}
}
internal static void GetLight(GameObject model, string childObject, Color color, bool replaceAll = false)
{
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
Light[] componentsInChildren = model.GetComponentsInChildren<Light>();
Light[] array = componentsInChildren;
foreach (Light val in array)
{
Light val2 = val;
if (string.Equals(((Object)val2).name, childObject))
{
val2.color = color;
if (!replaceAll)
{
break;
}
}
}
}
internal static void DebugLight(GameObject model)
{
Light[] componentsInChildren = model.GetComponentsInChildren<Light>();
Light[] array = componentsInChildren;
foreach (Light val in array)
{
Light val2 = val;
Debug.Log((object)("Light: " + ((Object)val2).name.ToString()));
}
}
}
[BepInDependency(/*Could not decode attribute arguments.*/)]
[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
[BepInPlugin("com.Borbo.Transgendence", "Transgendence", "1.0.2")]
[R2APISubmoduleDependency(new string[] { "LanguageAPI" })]
public class TransgendenceCore : BaseUnityPlugin
{
public static AssetBundle assetBundle = Tools.LoadAssetBundle(Resources.transgendence);
public static string assetsPath = "Assets/";
private void Start()
{
LanguageAPI.Add("ITEM_SHIELDONLY_NAME", "Transgendence");
RoR2Application.onLoad = (Action)Delegate.Combine(RoR2Application.onLoad, new Action(IconFix));
Debug.Log((object)"Trans rights");
}
private void IconFix()
{
Items.ShieldOnly.pickupIconSprite = assetBundle.LoadAsset<Sprite>(assetsPath + "Transgendence.png");
}
}
}
namespace Transgendence.Properties
{
[GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[DebuggerNonUserCode]
[CompilerGenerated]
internal class Resources
{
private static ResourceManager resourceMan;
private static CultureInfo resourceCulture;
[EditorBrowsable(EditorBrowsableState.Advanced)]
internal static ResourceManager ResourceManager
{
get
{
if (resourceMan == null)
{
ResourceManager resourceManager = new ResourceManager("Transgendence.Properties.Resources", typeof(Resources).Assembly);
resourceMan = resourceManager;
}
return resourceMan;
}
}
[EditorBrowsable(EditorBrowsableState.Advanced)]
internal static CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
internal static byte[] transgendence
{
get
{
object @object = ResourceManager.GetObject("transgendence", resourceCulture);
return (byte[])@object;
}
}
internal Resources()
{
}
}
}