using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using DM;
using HarmonyLib;
using Landfall.TABS;
using Landfall.TABS.GameState;
using Landfall.TABS.Services;
using Landfall.TABS.UnitEditor;
using Landfall.TABS.Workshop;
using Move_Editor;
using Move_Editor.Script;
using TFBGames;
using TMPro;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("MoveEditor")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("by FhpSlime")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("7acfaef0-7669-4401-8bff-5a9a02e18c75")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("2.1.6.0")]
[module: UnverifiableCode]
namespace Move_Editor
{
[BepInPlugin("org.bepinex.plugins.MoveEditor", "MoveEditor", "1.0.0")]
public class EditorStart : BaseUnityPlugin
{
public static MoveEditor moveeditor;
private void Awake()
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Expected O, but got Unknown
//IL_0047: 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_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0071: Expected O, but got Unknown
GameObject val = new GameObject();
((Object)val).name = "Editor-plugins";
((Object)val).hideFlags = (HideFlags)52;
moveeditor = val.AddComponent<MoveEditor>();
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("moveeditor"))
{
AssetBundle.LoadFromStream(stream);
}
GameObject val2 = new GameObject
{
name = "Loader",
hideFlags = (HideFlags)61
};
val2.AddComponent<MoveLoader>();
Object.DontDestroyOnLoad((Object)(object)val);
Object.DontDestroyOnLoad((Object)val2);
}
}
public class ReaderTexttoJson
{
public Dictionary<string, string> json;
public ReaderTexttoJson(StreamReader streamReader)
{
json = new Dictionary<string, string>();
while (!streamReader.EndOfStream)
{
string[] array = streamReader.ReadLine().Split(new char[1] { '=' });
json.Add(array[0].Split(new char[1] { '"' })[1], array[1]);
}
}
}
public class MoveEditor : MonoBehaviour
{
public static string EditorPath;
public static string MovePath;
public static string IconPath;
public static string[] allmoves;
public static Dictionary<string, GameObject> permoves;
public static Dictionary<string, GameObject> perObjects;
public static string[] allicons;
public static GameObject pool;
public static Dictionary<string, UnitBlueprint> perunits;
public static List<GameObject> moves;
public List<ReaderTexttoJson> readers = new List<ReaderTexttoJson>();
public bool secondread;
private static void CheckPath(string path)
{
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
}
private void Awake()
{
((MonoBehaviour)this).StartCoroutine(GetEnumerator());
}
private void SpawnPer()
{
//IL_0167: Unknown result type (might be due to invalid IL or missing references)
SpecialAbility[] array = Resources.FindObjectsOfTypeAll<SpecialAbility>();
foreach (SpecialAbility val in array)
{
if (!permoves.ContainsKey(((CharacterItem)val).Entity.Name) && ((CharacterItem)val).Entity.Name != "")
{
permoves.Add(((CharacterItem)val).Entity.Name, ((Component)val).gameObject);
}
}
Explosion[] array2 = Resources.FindObjectsOfTypeAll<Explosion>();
foreach (Explosion val2 in array2)
{
if (!perObjects.ContainsKey(((Object)((Component)val2).gameObject).name) && ((Object)((Component)val2).gameObject).name != "")
{
perObjects.Add(((Object)((Component)val2).gameObject).name, ((Component)val2).gameObject);
}
}
string text = Path.Combine(Paths.PluginPath, "PerObjects");
CheckPath(text);
if (!File.Exists(Path.Combine(text, "perMoves.txt")))
{
StreamWriter streamWriter = File.CreateText(Path.Combine(text, "perMoves.txt"));
foreach (KeyValuePair<string, GameObject> permove in permoves)
{
GameObject value = permove.Value;
string key = permove.Key;
streamWriter.WriteLine(permoves.Values.ToList().IndexOf(value));
streamWriter.WriteLine(key);
streamWriter.WriteLine(((CharacterItem)value.GetComponentInChildren<SpecialAbility>()).Entity.GUID.m_ID);
if (Object.op_Implicit((Object)(object)value.GetComponentInChildren<SpawnObject>()))
{
streamWriter.WriteLine("CanUsePerObjectSpawn:true");
}
if (Object.op_Implicit((Object)(object)value.GetComponentInChildren<UnitSpawner>()))
{
streamWriter.WriteLine("CanUsePerUnitSpawn:true");
}
if (Object.op_Implicit((Object)(object)value.GetComponentInChildren<DodgeMove>()))
{
streamWriter.WriteLine("CanUsePerDodgeForce:true");
}
streamWriter.WriteLine("");
}
}
if (File.Exists(Path.Combine(text, "perObjects.txt")))
{
return;
}
StreamWriter streamWriter2 = File.CreateText(Path.Combine(text, "perObjects.txt"));
foreach (KeyValuePair<string, GameObject> perObject in perObjects)
{
GameObject value2 = perObject.Value;
string key2 = perObject.Key;
streamWriter2.WriteLine(perObjects.Values.ToList().IndexOf(value2));
streamWriter2.WriteLine(key2);
streamWriter2.WriteLine("");
}
}
public void ReaderStart()
{
for (int i = 0; i < allmoves.Length; i++)
{
new List<string>();
StreamReader streamReader = new StreamReader(allmoves[i]);
ReaderTexttoJson move = new ReaderTexttoJson(streamReader);
streamReader.Close();
ReadMove(move);
}
secondread = true;
ServiceLocator.GetService<CustomContentLoaderModIO>().QuickRefresh((WorkshopContentType)0, (Action)null);
for (int j = 0; j < readers.Count; j++)
{
ReadMove(readers[j]);
}
}
public void ReadMove(ReaderTexttoJson move)
{
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Expected O, but got Unknown
//IL_0207: Unknown result type (might be due to invalid IL or missing references)
//IL_020e: Expected O, but got Unknown
//IL_0299: Unknown result type (might be due to invalid IL or missing references)
//IL_0325: Unknown result type (might be due to invalid IL or missing references)
//IL_032e: Unknown result type (might be due to invalid IL or missing references)
//IL_033f: Unknown result type (might be due to invalid IL or missing references)
//IL_034b: Unknown result type (might be due to invalid IL or missing references)
//IL_0350: Unknown result type (might be due to invalid IL or missing references)
//IL_03eb: Unknown result type (might be due to invalid IL or missing references)
//IL_09a9: Unknown result type (might be due to invalid IL or missing references)
//IL_0a06: Unknown result type (might be due to invalid IL or missing references)
//IL_0573: Unknown result type (might be due to invalid IL or missing references)
//IL_072b: Unknown result type (might be due to invalid IL or missing references)
//IL_07d5: Unknown result type (might be due to invalid IL or missing references)
//IL_0628: Unknown result type (might be due to invalid IL or missing references)
//IL_08f5: Unknown result type (might be due to invalid IL or missing references)
//IL_06a6: Unknown result type (might be due to invalid IL or missing references)
//IL_091b: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)pool == (Object)null)
{
pool = new GameObject
{
name = "pool",
hideFlags = (HideFlags)52
};
Object.DontDestroyOnLoad((Object)(object)pool);
pool.SetActive(false);
}
if (moves == null)
{
moves = new List<GameObject>();
}
string value = "";
string value2 = "";
string value3 = "";
string value4 = "";
string value5 = "";
string value6 = "";
string value7 = "";
string value8 = "";
string value9 = "";
string value10 = "";
string value11 = "";
string value12 = "True";
string value13 = "True";
move.json.TryGetValue("Name", out value);
EditorTools.Warning(value);
move.json.TryGetValue("ModID", out value4);
EditorTools.Warning(value4);
move.json.TryGetValue("ID", out value5);
EditorTools.Warning(value5);
move.json.TryGetValue("PerMove", out value2);
EditorTools.Warning(value2);
move.json.TryGetValue("PerSpawn", out value3);
EditorTools.Warning(value3);
move.json.TryGetValue("PerForce", out value6);
EditorTools.Warning(value6);
move.json.TryGetValue("PerUnitId", out value7);
EditorTools.Warning(value7);
move.json.TryGetValue("Color", out value8);
EditorTools.Warning(value8);
move.json.TryGetValue("CD", out value9);
EditorTools.Warning(value9);
move.json.TryGetValue("Damage", out value10);
EditorTools.Warning(value10);
move.json.TryGetValue("SC", out value11);
EditorTools.Warning(value11);
move.json.TryGetValue("SetColor?", out value12);
EditorTools.Warning(value12);
if (move.json.ContainsKey("UseParticle?"))
{
move.json.TryGetValue("UseParticle?", out value13);
EditorTools.Warning(value13);
}
GameObject value14 = new GameObject();
permoves.TryGetValue(value2, out value14);
if ((Object)(object)value14 == (Object)null)
{
return;
}
GameObject val = Object.Instantiate<GameObject>(value14, pool.transform);
val.transform.SetParent(pool.transform);
val.SetHideFlags<GameObject>((HideFlags)52);
((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.Name = value;
int result = 1;
int result2 = 114514;
int.TryParse(value4, out result);
int.TryParse(value5, out result2);
((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.GUID = new DatabaseID(result, result2);
((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.SpriteIcon = GetSprite(value);
EditorTools.SetField<CharacterItem>(val.GetComponentInChildren<CharacterItem>(), "m_showInEditor", true);
EditorTools.Warning((bool)val.GetComponentInChildren<CharacterItem>().GetField<CharacterItem>("m_showInEditor"));
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<UnitSpawner>()) && !secondread)
{
readers.Add(move);
return;
}
((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).tags = new List<Tag>
{
new Tag
{
tagType = (TagType)0,
value = "Custom"
}
};
Color white = Color.white;
if (value8 != "" && value8 != null && (value12 == "" || bool.Parse(value12)))
{
string[] array = value8.Split(new char[1] { ',' });
((Color)(ref white))..ctor(float.Parse(array[0]), float.Parse(array[1]), float.Parse(array[2]));
if (array.Length == 4)
{
((Color)(ref white))..ctor(float.Parse(array[0]), float.Parse(array[1]), float.Parse(array[2]), float.Parse(array[3]));
}
val.SetColor(white, bool.Parse(value13));
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<SpawnObject>()))
{
SpawnObject[] componentsInChildren = val.GetComponentsInChildren<SpawnObject>();
for (int i = 0; i < componentsInChildren.Length; i++)
{
if (value3 != null && perObjects.ContainsKey(value3))
{
componentsInChildren[i].objectToSpawn = perObjects[value3];
}
}
}
if (value11 != "" && Object.op_Implicit((Object)(object)val.GetComponentInChildren<AddScreensShake>()))
{
AddScreensShake[] componentsInChildren2 = val.GetComponentsInChildren<AddScreensShake>();
for (int j = 0; j < componentsInChildren2.Length; j++)
{
componentsInChildren2[j].amount = float.Parse(value11);
}
}
if (value10 != "" && (Object.op_Implicit((Object)(object)val.GetComponentInChildren<Explosion>()) || Object.op_Implicit((Object)(object)val.GetComponentInChildren<SpawnObject>()) || Object.op_Implicit((Object)(object)val.GetComponentInChildren<AddObjectEffect>()) || Object.op_Implicit((Object)(object)val.GetComponentInChildren<CollisionWeapon>()) || Object.op_Implicit((Object)(object)val.GetComponentInChildren<ExplosionAddEffect>())))
{
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<Explosion>()))
{
Explosion[] componentsInChildren3 = val.GetComponentsInChildren<Explosion>();
for (int k = 0; k < componentsInChildren3.Length; k++)
{
componentsInChildren3[k].damage = float.Parse(value10);
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<SpawnObject>()))
{
SpawnObject[] componentsInChildren4 = val.GetComponentsInChildren<SpawnObject>();
foreach (SpawnObject val2 in componentsInChildren4)
{
val2.objectToSpawn = Object.Instantiate<GameObject>(val2.objectToSpawn, pool.transform);
val2.objectToSpawn.SetColor(white, bool.Parse(value13));
if (Object.op_Implicit((Object)(object)val2.objectToSpawn.GetComponentInChildren<Explosion>()))
{
Explosion[] componentsInChildren5 = val2.objectToSpawn.GetComponentsInChildren<Explosion>();
for (int m = 0; m < componentsInChildren5.Length; m++)
{
componentsInChildren5[m].damage = float.Parse(value10);
}
}
if (Object.op_Implicit((Object)(object)val2.objectToSpawn.GetComponentInChildren<ExplosionAddEffect>()))
{
ExplosionAddEffect[] componentsInChildren6 = val2.objectToSpawn.GetComponentsInChildren<ExplosionAddEffect>();
foreach (ExplosionAddEffect obj in componentsInChildren6)
{
obj.EffectPrefab = Object.Instantiate<UnitEffectBase>(obj.EffectPrefab, pool.transform);
obj.EffectPrefab.damageMultiplier = float.Parse(value10);
((Component)obj.EffectPrefab).gameObject.SetColor(white, bool.Parse(value13));
}
}
if (Object.op_Implicit((Object)(object)val2.objectToSpawn.GetComponentInChildren<AddObjectEffect>()))
{
AddObjectEffect[] componentsInChildren7 = val2.objectToSpawn.GetComponentsInChildren<AddObjectEffect>();
foreach (AddObjectEffect obj2 in componentsInChildren7)
{
obj2.EffectPrefab = Object.Instantiate<UnitEffectBase>(obj2.EffectPrefab, pool.transform);
obj2.EffectPrefab.damageMultiplier = float.Parse(value10);
((Component)obj2.EffectPrefab).gameObject.SetColor(white, bool.Parse(value13));
}
}
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<AddObjectEffect>()))
{
AddObjectEffect[] componentsInChildren7 = val.GetComponentsInChildren<AddObjectEffect>();
foreach (AddObjectEffect obj3 in componentsInChildren7)
{
obj3.EffectPrefab = Object.Instantiate<UnitEffectBase>(obj3.EffectPrefab, pool.transform);
obj3.EffectPrefab.damageMultiplier = float.Parse(value10);
((Component)obj3.EffectPrefab).gameObject.SetColor(white, bool.Parse(value13));
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<CollisionWeapon>()))
{
CollisionWeapon[] componentsInChildren8 = val.GetComponentsInChildren<CollisionWeapon>();
for (int num = 0; num < componentsInChildren8.Length; num++)
{
componentsInChildren8[num].damage = float.Parse(value10);
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<ExplosionAddEffect>()))
{
ExplosionAddEffect[] componentsInChildren6 = val.GetComponentsInChildren<ExplosionAddEffect>();
foreach (ExplosionAddEffect obj4 in componentsInChildren6)
{
obj4.EffectPrefab = Object.Instantiate<UnitEffectBase>(obj4.EffectPrefab, pool.transform);
obj4.EffectPrefab.damageMultiplier = float.Parse(value10);
((Component)obj4).gameObject.SetColor(white, bool.Parse(value13));
}
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<DodgeMove>()) && value6 != "" && value6 != null)
{
DodgeMove[] componentsInChildren9 = val.GetComponentsInChildren<DodgeMove>();
for (int num2 = 0; num2 < componentsInChildren9.Length; num2++)
{
componentsInChildren9[num2].forceMultiplier = float.Parse(value6);
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<UnitSpawner>()) && value7 != "" && value7 != null)
{
UnitSpawner[] componentsInChildren10 = val.GetComponentsInChildren<UnitSpawner>();
for (int num3 = 0; num3 < componentsInChildren10.Length; num3++)
{
UnitBlueprint value15 = componentsInChildren10[num3].unitBlueprint;
perunits.TryGetValue(value7, out value15);
componentsInChildren10[num3].unitBlueprint = value15;
}
}
if (value9 != null && value9 != "")
{
ConditionalEvent[] componentsInChildren11 = val.GetComponentsInChildren<ConditionalEvent>();
for (int num4 = 0; num4 < componentsInChildren11.Length; num4++)
{
ConditionalEventInstance[] events = componentsInChildren11[num4].events;
for (int num5 = 0; num5 < events.Length; num5++)
{
EventCondition[] conditions = events[num5].conditions;
foreach (EventCondition val3 in conditions)
{
if ((int)val3.conditionType == 0)
{
val3.counter = float.Parse(value9);
val3.value = float.Parse(value9);
val3.valueType = (ValueType)1;
val3.cooldownRange = float.Parse(value9);
val3.extraRandomCooldown = 0f;
}
}
}
}
}
EditorTools.Error(ContentDatabase.Instance().LandfallContentDatabase.GetField<LandfallContentDatabase>("m_combatMoves"));
Dictionary<DatabaseID, GameObject> dictionary = (Dictionary<DatabaseID, GameObject>)ContentDatabase.Instance().LandfallContentDatabase.GetField<LandfallContentDatabase>("m_combatMoves");
dictionary.Add(((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.GUID, val);
EditorTools.SetField<LandfallContentDatabase>(ContentDatabase.Instance().LandfallContentDatabase, "m_combatMoves", dictionary);
Dictionary<DatabaseID, Object> dictionary2 = (Dictionary<DatabaseID, Object>)typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(ContentDatabase.Instance().AssetLoader);
dictionary2.Add(((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.GUID, (Object)(object)val);
typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(ContentDatabase.Instance().AssetLoader, dictionary2);
moves.Add(val);
}
static MoveEditor()
{
permoves = new Dictionary<string, GameObject>();
perObjects = new Dictionary<string, GameObject>();
perunits = new Dictionary<string, UnitBlueprint>();
}
private Sprite GetSprite(string name)
{
//IL_007a: Unknown result type (might be due to invalid IL or missing references)
//IL_0080: Expected O, but got Unknown
//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
string text = "";
if (allicons != null)
{
string[] array = allicons;
foreach (string text2 in array)
{
if (text2.Contains(name))
{
text = text2;
}
}
}
if (text == "")
{
return null;
}
FileStream fileStream = new FileStream(Path.Combine(IconPath, text), FileMode.Open);
byte[] array2 = new byte[fileStream.Length];
fileStream.Read(array2, 0, array2.Length);
fileStream.Close();
Texture2D val = new Texture2D(64, 64);
ImageConversion.LoadImage(val, array2);
return Sprite.Create(val, new Rect(0f, 0f, (float)((Texture)val).width, (float)((Texture)val).height), new Vector2(0.5f, 0.5f));
}
private IEnumerator GetEnumerator()
{
yield return (object)new WaitUntil((Func<bool>)(() => (Object)(object)Object.FindObjectOfType<ServiceLocator>() != (Object)null));
yield return (object)new WaitUntil((Func<bool>)(() => ServiceLocator.GetService<ISaveLoaderService>() != null));
yield return (object)new WaitForSeconds(0.6f);
SpecialAbility[] array = Resources.FindObjectsOfTypeAll<SpecialAbility>();
foreach (SpecialAbility val in array)
{
string text = ((CharacterItem)val).Entity.Name;
if (permoves.ContainsKey(text))
{
while (permoves.ContainsKey(text))
{
text += "-";
DatabaseEntity entity = ((CharacterItem)val).Entity;
entity.Name += "-";
}
}
permoves.Add(text, ((Component)val).gameObject);
}
Explosion[] array2 = Resources.FindObjectsOfTypeAll<Explosion>();
foreach (Explosion val2 in array2)
{
string text2 = ((Object)((Component)val2).gameObject).name;
if (perObjects.ContainsKey(text2))
{
while (perObjects.ContainsKey(text2))
{
text2 += "-";
GameObject gameObject = ((Component)val2).gameObject;
((Object)gameObject).name = ((Object)gameObject).name + "-";
}
}
perObjects.Add(text2, ((Component)val2).gameObject);
}
GameObject[] array3 = Resources.FindObjectsOfTypeAll<GameObject>();
foreach (GameObject val3 in array3)
{
if (!Object.op_Implicit((Object)(object)val3.GetComponentInChildren<SpawnObject>()))
{
continue;
}
SpawnObject[] componentsInChildren = val3.GetComponentsInChildren<SpawnObject>();
foreach (SpawnObject val4 in componentsInChildren)
{
if (Object.op_Implicit((Object)(object)val4.objectToSpawn) && !string.IsNullOrEmpty(((Object)val4.objectToSpawn).name))
{
string name = ((Object)val4.objectToSpawn).name;
if (!perObjects.ContainsKey(name))
{
perObjects.Add(name, val4.objectToSpawn);
}
}
}
}
UnitBlueprint[] array4 = Resources.FindObjectsOfTypeAll<UnitBlueprint>();
foreach (UnitBlueprint val5 in array4)
{
string text3 = val5.Entity.Name;
if (perunits.ContainsKey(text3))
{
while (perunits.ContainsKey(text3))
{
text3 += "-";
}
}
perunits.Add(text3, val5);
}
EditorPath = Path.Combine(Paths.PluginPath, "Moves");
MovePath = Path.Combine(EditorPath, "MyMoves");
IconPath = Path.Combine(EditorPath, "Icons");
CheckPath(EditorPath);
CheckPath(MovePath);
CheckPath(IconPath);
allmoves = Directory.GetFiles(MovePath, "*.move");
allicons = Directory.GetFiles(IconPath);
ReaderStart();
}
public GameObject ReadMoveCanlog(ReaderTexttoJson move)
{
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Expected O, but got Unknown
//IL_01f6: Unknown result type (might be due to invalid IL or missing references)
//IL_01fd: Expected O, but got Unknown
//IL_0289: Unknown result type (might be due to invalid IL or missing references)
//IL_02d2: Unknown result type (might be due to invalid IL or missing references)
//IL_02db: Unknown result type (might be due to invalid IL or missing references)
//IL_02ec: Unknown result type (might be due to invalid IL or missing references)
//IL_02f8: Unknown result type (might be due to invalid IL or missing references)
//IL_02fd: Unknown result type (might be due to invalid IL or missing references)
//IL_0398: Unknown result type (might be due to invalid IL or missing references)
//IL_093d: Unknown result type (might be due to invalid IL or missing references)
//IL_099a: Unknown result type (might be due to invalid IL or missing references)
//IL_0520: Unknown result type (might be due to invalid IL or missing references)
//IL_06d8: Unknown result type (might be due to invalid IL or missing references)
//IL_0782: Unknown result type (might be due to invalid IL or missing references)
//IL_05d5: Unknown result type (might be due to invalid IL or missing references)
//IL_08a2: Unknown result type (might be due to invalid IL or missing references)
//IL_0653: Unknown result type (might be due to invalid IL or missing references)
//IL_08c8: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)pool == (Object)null)
{
pool = new GameObject
{
name = "pool",
hideFlags = (HideFlags)52
};
Object.DontDestroyOnLoad((Object)(object)pool);
pool.SetActive(false);
}
string value = "";
string value2 = "";
string value3 = "";
string value4 = "";
string value5 = "";
string value6 = "";
string value7 = "";
string value8 = "";
string value9 = "";
string value10 = "";
string value11 = "";
string value12 = "True";
string value13 = "True";
move.json.TryGetValue("Name", out value);
EditorTools.Warning(value);
move.json.TryGetValue("ModID", out value4);
EditorTools.Warning(value4);
move.json.TryGetValue("ID", out value5);
EditorTools.Warning(value5);
move.json.TryGetValue("PerMove", out value2);
EditorTools.Warning(value2);
move.json.TryGetValue("PerSpawn", out value3);
EditorTools.Warning(value3);
move.json.TryGetValue("PerForce", out value6);
EditorTools.Warning(value6);
move.json.TryGetValue("PerUnitId", out value7);
EditorTools.Warning(value7);
move.json.TryGetValue("Color", out value8);
EditorTools.Warning(value8);
move.json.TryGetValue("CD", out value9);
EditorTools.Warning(value9);
move.json.TryGetValue("Damage", out value10);
EditorTools.Warning(value10);
move.json.TryGetValue("SC", out value11);
EditorTools.Warning(value11);
move.json.TryGetValue("SetColor?", out value12);
EditorTools.Warning(value12);
if (move.json.ContainsKey("UseParticle?"))
{
move.json.TryGetValue("UseParticle?", out value13);
EditorTools.Warning(value13);
}
GameObject value14 = new GameObject();
permoves.TryGetValue(value2, out value14);
if ((Object)(object)value14 == (Object)null)
{
return null;
}
GameObject val = Object.Instantiate<GameObject>(value14, pool.transform);
val.transform.SetParent(pool.transform);
val.SetHideFlags<GameObject>((HideFlags)52);
((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.Name = value;
int result = 1;
int result2 = 114514;
int.TryParse(value4, out result);
int.TryParse(value5, out result2);
((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.GUID = new DatabaseID(result, result2);
((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.SpriteIcon = GetSprite(value);
EditorTools.SetField<CharacterItem>(val.GetComponentInChildren<CharacterItem>(), "m_showInEditor", true);
val.GetComponentInChildren<CharacterItem>().tags = new List<Tag>
{
new Tag
{
tagType = (TagType)0,
value = "Custom"
}
};
Color white = Color.white;
if (value8 != "" && value8 != null && (value12 == "" || bool.Parse(value12)))
{
string[] array = value8.Split(new char[1] { ',' });
((Color)(ref white))..ctor(float.Parse(array[0]), float.Parse(array[1]), float.Parse(array[2]));
if (array.Length == 4)
{
((Color)(ref white))..ctor(float.Parse(array[0]), float.Parse(array[1]), float.Parse(array[2]), float.Parse(array[3]));
}
val.SetColor(white, bool.Parse(value13));
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<SpawnObject>()))
{
SpawnObject[] componentsInChildren = val.GetComponentsInChildren<SpawnObject>();
for (int i = 0; i < componentsInChildren.Length; i++)
{
if (value3 != null && perObjects.ContainsKey(value3))
{
componentsInChildren[i].objectToSpawn = perObjects[value3];
}
}
}
if (value11 != "" && Object.op_Implicit((Object)(object)val.GetComponentInChildren<AddScreensShake>()))
{
AddScreensShake[] componentsInChildren2 = val.GetComponentsInChildren<AddScreensShake>();
for (int j = 0; j < componentsInChildren2.Length; j++)
{
componentsInChildren2[j].amount = float.Parse(value11);
}
}
if (value10 != "" && (Object.op_Implicit((Object)(object)val.GetComponentInChildren<Explosion>()) || Object.op_Implicit((Object)(object)val.GetComponentInChildren<SpawnObject>()) || Object.op_Implicit((Object)(object)val.GetComponentInChildren<AddObjectEffect>()) || Object.op_Implicit((Object)(object)val.GetComponentInChildren<CollisionWeapon>()) || Object.op_Implicit((Object)(object)val.GetComponentInChildren<ExplosionAddEffect>())))
{
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<Explosion>()))
{
Explosion[] componentsInChildren3 = val.GetComponentsInChildren<Explosion>();
for (int k = 0; k < componentsInChildren3.Length; k++)
{
componentsInChildren3[k].damage = float.Parse(value10);
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<SpawnObject>()))
{
SpawnObject[] componentsInChildren4 = val.GetComponentsInChildren<SpawnObject>();
foreach (SpawnObject val2 in componentsInChildren4)
{
val2.objectToSpawn = Object.Instantiate<GameObject>(val2.objectToSpawn, pool.transform);
val2.objectToSpawn.SetColor(white, bool.Parse(value13));
if (Object.op_Implicit((Object)(object)val2.objectToSpawn.GetComponentInChildren<Explosion>()))
{
Explosion[] componentsInChildren5 = val2.objectToSpawn.GetComponentsInChildren<Explosion>();
for (int m = 0; m < componentsInChildren5.Length; m++)
{
componentsInChildren5[m].damage = float.Parse(value10);
}
}
if (Object.op_Implicit((Object)(object)val2.objectToSpawn.GetComponentInChildren<ExplosionAddEffect>()))
{
ExplosionAddEffect[] componentsInChildren6 = val2.objectToSpawn.GetComponentsInChildren<ExplosionAddEffect>();
foreach (ExplosionAddEffect obj in componentsInChildren6)
{
obj.EffectPrefab = Object.Instantiate<UnitEffectBase>(obj.EffectPrefab, pool.transform);
obj.EffectPrefab.damageMultiplier = float.Parse(value10);
((Component)obj.EffectPrefab).gameObject.SetColor(white, bool.Parse(value13));
}
}
if (Object.op_Implicit((Object)(object)val2.objectToSpawn.GetComponentInChildren<AddObjectEffect>()))
{
AddObjectEffect[] componentsInChildren7 = val2.objectToSpawn.GetComponentsInChildren<AddObjectEffect>();
foreach (AddObjectEffect obj2 in componentsInChildren7)
{
obj2.EffectPrefab = Object.Instantiate<UnitEffectBase>(obj2.EffectPrefab, pool.transform);
obj2.EffectPrefab.damageMultiplier = float.Parse(value10);
((Component)obj2.EffectPrefab).gameObject.SetColor(white, bool.Parse(value13));
}
}
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<AddObjectEffect>()))
{
AddObjectEffect[] componentsInChildren7 = val.GetComponentsInChildren<AddObjectEffect>();
foreach (AddObjectEffect obj3 in componentsInChildren7)
{
obj3.EffectPrefab = Object.Instantiate<UnitEffectBase>(obj3.EffectPrefab, pool.transform);
obj3.EffectPrefab.damageMultiplier = float.Parse(value10);
((Component)obj3.EffectPrefab).gameObject.SetColor(white, bool.Parse(value13));
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<CollisionWeapon>()))
{
CollisionWeapon[] componentsInChildren8 = val.GetComponentsInChildren<CollisionWeapon>();
for (int num = 0; num < componentsInChildren8.Length; num++)
{
componentsInChildren8[num].damage = float.Parse(value10);
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<ExplosionAddEffect>()))
{
ExplosionAddEffect[] componentsInChildren6 = val.GetComponentsInChildren<ExplosionAddEffect>();
foreach (ExplosionAddEffect obj4 in componentsInChildren6)
{
obj4.EffectPrefab = Object.Instantiate<UnitEffectBase>(obj4.EffectPrefab, pool.transform);
obj4.EffectPrefab.damageMultiplier = float.Parse(value10);
((Component)obj4).gameObject.SetColor(white, bool.Parse(value13));
}
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<DodgeMove>()) && value6 != "" && value6 != null)
{
DodgeMove[] componentsInChildren9 = val.GetComponentsInChildren<DodgeMove>();
for (int num2 = 0; num2 < componentsInChildren9.Length; num2++)
{
componentsInChildren9[num2].forceMultiplier = float.Parse(value6);
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<UnitSpawner>()) && value7 != "" && value7 != null)
{
UnitSpawner[] componentsInChildren10 = val.GetComponentsInChildren<UnitSpawner>();
for (int num3 = 0; num3 < componentsInChildren10.Length; num3++)
{
UnitBlueprint value15 = componentsInChildren10[num3].unitBlueprint;
perunits.TryGetValue(value7, out value15);
componentsInChildren10[num3].unitBlueprint = value15;
}
}
if (value9 != null && value9 != "")
{
ConditionalEvent[] componentsInChildren11 = val.GetComponentsInChildren<ConditionalEvent>();
for (int num4 = 0; num4 < componentsInChildren11.Length; num4++)
{
ConditionalEventInstance[] events = componentsInChildren11[num4].events;
for (int num5 = 0; num5 < events.Length; num5++)
{
EventCondition[] conditions = events[num5].conditions;
foreach (EventCondition val3 in conditions)
{
if ((int)val3.conditionType == 0)
{
val3.counter = float.Parse(value9);
val3.value = float.Parse(value9);
val3.valueType = (ValueType)1;
val3.cooldownRange = float.Parse(value9);
val3.extraRandomCooldown = 0f;
}
}
}
}
}
Dictionary<DatabaseID, GameObject> dictionary = (Dictionary<DatabaseID, GameObject>)ContentDatabase.Instance().LandfallContentDatabase.GetField<LandfallContentDatabase>("m_combatMoves");
dictionary.Add(((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.GUID, val);
EditorTools.SetField<LandfallContentDatabase>(ContentDatabase.Instance().LandfallContentDatabase, "m_combatMoves", dictionary);
Dictionary<DatabaseID, Object> dictionary2 = (Dictionary<DatabaseID, Object>)typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(ContentDatabase.Instance().AssetLoader);
dictionary2.Add(((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.GUID, (Object)(object)val);
typeof(AssetLoader).GetField("m_nonStreamableAssets", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(ContentDatabase.Instance().AssetLoader, dictionary2);
moves.Add(val);
return val;
}
}
public static class EditorTools
{
public static T SetField<T>(T self, string name, object value) where T : class
{
FieldInfo field = typeof(T).GetField(name, (BindingFlags)(-1));
if (field != null)
{
field.SetValue(self, value);
}
return self;
}
public static void Log(object v)
{
Debug.Log((object)("[MoveEditor:FhpSlime]" + v));
}
public static void Warning(object v)
{
Debug.LogWarning((object)("[MoveEditor:FhpSlime]" + v));
}
public static void Error(object v)
{
Debug.LogError((object)("[MoveEditor:FhpSlime]" + v));
}
public static T SetHideFlags<T>(this T obj, HideFlags flags = 52) where T : Object
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
((Object)obj).hideFlags = flags;
return obj;
}
public static Transform SetHideFlagsChildren(this Transform tf, HideFlags flags = 52)
{
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)((Component)tf).gameObject != (Object)null)
{
((Component)tf).gameObject.SetHideFlags<GameObject>(flags);
}
if (tf.childCount > 0)
{
for (int i = 0; i < tf.childCount; i++)
{
tf.GetChild(i).SetHideFlagsChildren(flags);
}
}
return tf;
}
public static object InvokeMethod<T>(this T self, string name, object[] parameters) where T : class
{
MethodInfo methodInfo = AccessTools.Method(typeof(T), name, (Type[])null, (Type[])null);
object result = null;
if (methodInfo != null && methodInfo.ReturnType != typeof(void))
{
result = methodInfo.Invoke(self, parameters);
}
return result;
}
public static void SetColor(this GameObject gameObject, Color color, bool par)
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
//IL_0010: Expected O, but got Unknown
//IL_0055: Unknown result type (might be due to invalid IL or missing references)
Material val = new Material(Shader.Find("Standard"));
val.SetOverrideTag("RenderType", "Transparent");
val.SetFloat("_Mode", 3f);
val.SetInt("_SrcBlend", 5);
val.SetInt("_DstBlend", 10);
val.EnableKeyword("_ALPHABLEND_ON");
val.color = color;
val.renderQueue = 3000;
Renderer[] componentsInChildren = gameObject.GetComponentsInChildren<Renderer>();
foreach (Renderer val2 in componentsInChildren)
{
List<Material> list = new List<Material>();
Material[] materials = val2.materials;
for (int j = 0; j < materials.Length; j++)
{
_ = materials[j];
list.Add(val);
}
val2.materials = list.ToArray();
}
ParticleSystemRenderer[] componentsInChildren2 = gameObject.GetComponentsInChildren<ParticleSystemRenderer>();
foreach (ParticleSystemRenderer val3 in componentsInChildren2)
{
if (!par)
{
((Renderer)val3).enabled = false;
}
List<Material> list2 = new List<Material>();
Material[] materials = ((Renderer)val3).materials;
for (int j = 0; j < materials.Length; j++)
{
_ = materials[j];
list2.Add(val);
}
((Renderer)val3).materials = list2.ToArray();
}
}
}
public static class Tool
{
public static object GetField<T>(this T self, string name) where T : class
{
FieldInfo field = typeof(T).GetField(name, (BindingFlags)(-1));
if (field != null)
{
return field.GetValue(self);
}
return null;
}
public static T SetField<T>(this T self, string name, object value) where T : class
{
FieldInfo field = typeof(T).GetField(name, (BindingFlags)(-1));
if (field != null)
{
field.SetValue(self, value);
}
return self;
}
}
}
public class MoveLoader : MonoBehaviour
{
[Serializable]
[CompilerGenerated]
private sealed class <>c__1
{
public static readonly <>c__1 <>9 = new <>c__1();
public static UnityAction <>9__0_0;
internal void <SceneLoaded>b__0_0()
{
TABSSceneManager.LoadScene("MoveEditor", false);
ServiceLocator.GetService<ITimeService>().SetState(1f, 0.358f, true);
ServiceLocator.GetService<GameStateManager>().EnterNoneState();
}
}
public GameObject UI;
public MoveLoader()
{
SceneManager.sceneLoaded += SceneLoaded;
}
public void SceneLoaded(Scene scene, LoadSceneMode loadSceneMode)
{
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_001b: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0075: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Unknown result type (might be due to invalid IL or missing references)
//IL_0094: Unknown result type (might be due to invalid IL or missing references)
//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
//IL_0101: Unknown result type (might be due to invalid IL or missing references)
//IL_010b: Unknown result type (might be due to invalid IL or missing references)
//IL_011b: Unknown result type (might be due to invalid IL or missing references)
//IL_03bc: Unknown result type (might be due to invalid IL or missing references)
//IL_03c1: Unknown result type (might be due to invalid IL or missing references)
//IL_03c7: Expected O, but got Unknown
if (((Scene)(ref scene)).name.Contains("MoveEditor"))
{
MoveEditorCore moveEditorCore = new GameObject
{
name = "MoveEditorCore",
hideFlags = (HideFlags)61
}.AddComponent<MoveEditorCore>();
moveEditorCore.Init();
List<UnitBlueprint> list = new List<UnitBlueprint>(ContentDatabase.Instance().LandfallContentDatabase.GetUnitBlueprints());
Unit componentInChildren = list[0].Spawn(new Vector3(moveEditorCore.RU.transform.position.x, moveEditorCore.RU.transform.position.y, moveEditorCore.RU.transform.position.z), moveEditorCore.RU.transform.rotation, (Team)0, 1f, (UnitPoolInfo?)null)[0].GetComponentInChildren<Unit>();
Unit componentInChildren2 = list[0].Spawn(new Vector3(moveEditorCore.BU.transform.position.x, moveEditorCore.BU.transform.position.y, moveEditorCore.BU.transform.position.z), moveEditorCore.BU.transform.rotation, (Team)1, 1f, (UnitPoolInfo?)null)[0].GetComponentInChildren<Unit>();
((Component)componentInChildren).gameObject.transform.SetParent(moveEditorCore.RU.transform);
componentInChildren.data.maxHealth = float.MaxValue;
componentInChildren.data.health = float.MaxValue;
((Component)componentInChildren).gameObject.AddComponent<MovePlayUnit>();
((Component)componentInChildren2).gameObject.transform.SetParent(moveEditorCore.BU.transform);
componentInChildren2.data.maxHealth = float.MaxValue;
componentInChildren2.data.health = float.MaxValue;
((Component)componentInChildren2).gameObject.AddComponent<MovePlayUnit>();
Renderer[] componentsInChildren = ((Component)componentInChildren).gameObject.GetComponentsInChildren<Renderer>();
for (int i = 0; i < componentsInChildren.Length; i++)
{
componentsInChildren[i].enabled = false;
}
componentsInChildren = ((Component)componentInChildren2).gameObject.GetComponentsInChildren<Renderer>();
for (int j = 0; j < componentsInChildren.Length; j++)
{
componentsInChildren[j].enabled = false;
}
for (float num = 1f; num > 0f; num -= Time.deltaTime)
{
}
Rigidbody[] allRigs = componentInChildren.data.allRigs.AllRigs;
for (int k = 0; k < allRigs.Length; k++)
{
allRigs[k].isKinematic = true;
}
allRigs = componentInChildren2.data.allRigs.AllRigs;
for (int l = 0; l < allRigs.Length; l++)
{
allRigs[l].isKinematic = true;
}
}
if (!((Scene)(ref scene)).name.ToLower().Contains("menu"))
{
return;
}
GameObject val = GameObject.Find("Canvas");
if (!((Object)(object)val != (Object)null))
{
return;
}
Button[] componentsInChildren2 = val.GetComponentsInChildren<Button>();
foreach (Button val2 in componentsInChildren2)
{
if (!(((Object)((Component)val2).gameObject).name == "Quit") || !((Object)(object)GameObject.Find("Move Editor") == (Object)null))
{
continue;
}
GameObject obj = Object.Instantiate<GameObject>(((Component)val2).gameObject);
((Object)obj).name = "Move Editor";
obj.transform.parent = ((Component)val2).transform.parent;
obj.transform.SetSiblingIndex(((Component)val2).transform.GetSiblingIndex());
TextMeshProUGUI component = ((Component)obj.transform.GetChild(0)).GetComponent<TextMeshProUGUI>();
((Component)component).GetComponent<LocalizeText>().LocaleID = "Move Editor";
Object.DestroyImmediate((Object)(object)((Component)component).GetComponent<LocalizeText>());
Object.DestroyImmediate((Object)(object)((Component)component).GetComponent<MainMenuQuitGame>());
((UnityEventBase)obj.GetComponent<Button>().onClick).RemoveAllListeners();
ButtonClickedEvent onClick = obj.GetComponent<Button>().onClick;
object obj2 = <>c__1.<>9__0_0;
if (obj2 == null)
{
UnityAction val3 = delegate
{
TABSSceneManager.LoadScene("MoveEditor", false);
ServiceLocator.GetService<ITimeService>().SetState(1f, 0.358f, true);
ServiceLocator.GetService<GameStateManager>().EnterNoneState();
};
<>c__1.<>9__0_0 = val3;
obj2 = (object)val3;
}
((UnityEvent)onClick).AddListener((UnityAction)obj2);
}
}
public T DeepCopyOf<T>(T self, T from) where T : class
{
FieldInfo[] fields = typeof(T).GetFields((BindingFlags)(-1));
foreach (FieldInfo fieldInfo in fields)
{
try
{
fieldInfo.SetValue(self, fieldInfo.GetValue(from));
}
catch
{
Debug.Log((object)"[MoveEditor] Couldn't DeepCopy a field... :(");
}
}
PropertyInfo[] properties = typeof(T).GetProperties((BindingFlags)(-1));
foreach (PropertyInfo propertyInfo in properties)
{
if (propertyInfo.CanWrite && propertyInfo.CanRead)
{
try
{
propertyInfo.SetValue(self, propertyInfo.GetValue(from));
}
catch
{
Debug.Log((object)"[MoveEditor] Couldn't DeepCopy a property... :(");
}
}
}
return self;
}
}
public class MoveEditorCore : MonoBehaviour
{
[Serializable]
[CompilerGenerated]
private sealed class <>c__53
{
public static readonly <>c__53 <>9 = new <>c__53();
public static UnityAction <>9__0_3;
public static UnityAction <>9__0_4;
public static UnityAction <>9__0_5;
internal void <Init>b__0_3()
{
string movePath = MoveEditor.MovePath;
Process.Start("explorer.exe", movePath);
}
internal void <Init>b__0_4()
{
//IL_0072: Unknown result type (might be due to invalid IL or missing references)
//IL_008e: Unknown result type (might be due to invalid IL or missing references)
//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
//IL_00de: Unknown result type (might be due to invalid IL or missing references)
Dictionary<DatabaseID, GameObject> dictionary = (Dictionary<DatabaseID, GameObject>)ContentDatabase.Instance().LandfallContentDatabase.GetField<LandfallContentDatabase>("m_combatMoves");
List<DatabaseID> list = new List<DatabaseID>();
int count = MoveEditor.moves.Count;
int num = 0;
for (int i = 0; i < count; i++)
{
GameObject val = MoveEditor.moves[i - num];
EditorTools.Log("Get:" + ((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.Name);
if (!list.Contains(((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.GUID))
{
list.Add(((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.GUID);
if (dictionary.ContainsKey(((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.GUID))
{
EditorTools.Log("Find:" + ((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.Name);
dictionary.Remove(((CharacterItem)val.GetComponentInChildren<SpecialAbility>()).Entity.GUID);
MoveEditor.moves.Remove(val);
Object.Destroy((Object)(object)val);
num++;
}
}
}
EditorTools.SetField<LandfallContentDatabase>(ContentDatabase.Instance().LandfallContentDatabase, "m_combatMoves", dictionary);
EditorStart.moveeditor.ReaderStart();
}
internal void <Init>b__0_5()
{
TABSSceneManager.LoadMainMenu();
}
}
public GameObject Save;
public GameObject Exit;
public GameObject PerUnit;
public GameObject PerMove;
public GameObject PerMoveSearch;
public GameObject PerObejcettoSpawn;
public GameObject PerObejcettoSpawnSearch;
public GameObject CD;
public GameObject setColor;
public GameObject ScreenSh;
public GameObject RGB;
public GameObject Force;
public GameObject ID;
public GameObject Damage;
public static bool start;
public GameObject ForceBox;
public GameObject ForceBoxPoint;
public GameObject PlayButton;
public GameObject DeletButton;
public GameObject Name;
public GameObject ModID;
public GameObject RU;
public GameObject BU;
public Dictionary<string, string> laukey;
public GameObject ShowK;
public GameObject PerUnitSearch;
public GameObject UseParticle;
public GameObject CheckMove;
public GameObject ReLoad;
public void Init()
{
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
//IL_0376: Unknown result type (might be due to invalid IL or missing references)
//IL_037b: Unknown result type (might be due to invalid IL or missing references)
//IL_0381: Expected O, but got Unknown
//IL_03aa: Unknown result type (might be due to invalid IL or missing references)
//IL_03af: Unknown result type (might be due to invalid IL or missing references)
//IL_03b5: Expected O, but got Unknown
//IL_042e: Unknown result type (might be due to invalid IL or missing references)
//IL_0433: Unknown result type (might be due to invalid IL or missing references)
//IL_0439: Expected O, but got Unknown
laukey = Localizer.GetLanguage((Language)typeof(Localizer).GetField("m_locale", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null));
Name = GameObject.Find("Canvas/Name");
Save = GameObject.Find("Canvas/Save");
Exit = GameObject.Find("Canvas/Exit");
PerMove = GameObject.Find("Canvas/Per Move");
PerMoveSearch = GameObject.Find("Canvas/search");
PerObejcettoSpawn = GameObject.Find("Canvas/PerEx");
SetShow(PerObejcettoSpawn, this, MoveEditor_ShowOn.Type.PerObjectSpawn);
PerObejcettoSpawnSearch = GameObject.Find("Canvas/search (1)");
SetShow(PerObejcettoSpawnSearch, this, MoveEditor_ShowOn.Type.PerObjectSpawn);
SetShow(GameObject.Find("Canvas/Text (3)"), this, MoveEditor_ShowOn.Type.PerObjectSpawn);
PerUnit = GameObject.Find("Canvas/PerUnits");
PerUnitSearch = GameObject.Find("Canvas/search (2)");
SetShow(PerUnit, this, MoveEditor_ShowOn.Type.PerUnitSpawn);
SetShow(PerUnitSearch, this, MoveEditor_ShowOn.Type.PerUnitSpawn);
SetShow(GameObject.Find("Canvas/Text (4)"), this, MoveEditor_ShowOn.Type.PerUnitSpawn);
RGB = GameObject.Find("Canvas/RGB");
setColor = GameObject.Find("Canvas/SetColor?");
CD = GameObject.Find("Canvas/CD");
ScreenSh = GameObject.Find("Canvas/SC");
SetShow(ScreenSh, this, MoveEditor_ShowOn.Type.Screen);
SetShow(GameObject.Find("Canvas/Text (8)"), this, MoveEditor_ShowOn.Type.Screen);
ModID = GameObject.Find("Canvas/ModId");
ID = GameObject.Find("Canvas/ID");
Damage = GameObject.Find("Canvas/Damage");
Force = GameObject.Find("Canvas/PDF");
SetShow(Force, this, MoveEditor_ShowOn.Type.Force);
SetShow(GameObject.Find("Canvas/Text (5)"), this, MoveEditor_ShowOn.Type.Force);
ShowK = GameObject.Find("Canvas/InFormationShow");
UseParticle = GameObject.Find("Canvas/UseParticle");
ForceBox = GameObject.Find("ForceBox");
ForceBoxPoint = GameObject.Find("ForceBoxPoint");
PlayButton = GameObject.Find("Canvas/Play");
DeletButton = GameObject.Find("Canvas/Delet");
CheckMove = GameObject.Find("Canvas/CheckMove");
ReLoad = GameObject.Find("Canvas/ReLoad");
RU = GameObject.Find("RU");
BU = GameObject.Find("BU");
RGB.AddComponent<Colors>();
PerMove.AddComponent<PerMoves>().editorCore = this;
PerObejcettoSpawn.AddComponent<PerObjects>().editorCore = this;
PerMoveSearch.AddComponent<SearchMove>().dropdownper = PerMove;
((UnityEvent<string>)(object)PerMoveSearch.GetComponentInChildren<InputField>().onValueChange).AddListener((UnityAction<string>)delegate(string value)
{
PerMoveSearch.GetComponentInChildren<SearchMove>().OnVc(value);
});
((UnityEvent<string>)(object)PerObejcettoSpawnSearch.GetComponentInChildren<InputField>().onValueChange).AddListener((UnityAction<string>)delegate(string value)
{
PerObejcettoSpawnSearch.GetComponentInChildren<SearchObject>().OnVc(value);
});
PerObejcettoSpawnSearch.AddComponent<SearchObject>().dropdownper = PerObejcettoSpawn;
PerUnit.AddComponent<PerUnits>().editorCore = this;
PerUnitSearch.AddComponent<SearchUnit>().dropdownper = PerUnit;
((UnityEvent<string>)(object)PerUnitSearch.GetComponentInChildren<InputField>().onValueChange).AddListener((UnityAction<string>)delegate(string value)
{
PerUnitSearch.GetComponentInChildren<SearchUnit>().OnVc(value);
});
ButtonClickedEvent onClick = CheckMove.GetComponentInChildren<Button>().onClick;
object obj = <>c__53.<>9__0_3;
if (obj == null)
{
UnityAction val = delegate
{
string movePath = MoveEditor.MovePath;
Process.Start("explorer.exe", movePath);
};
<>c__53.<>9__0_3 = val;
obj = (object)val;
}
((UnityEvent)onClick).AddListener((UnityAction)obj);
ButtonClickedEvent onClick2 = ReLoad.GetComponentInChildren<Button>().onClick;
object obj2 = <>c__53.<>9__0_4;
if (obj2 == null)
{
UnityAction val2 = delegate
{
//IL_0072: Unknown result type (might be due to invalid IL or missing references)
//IL_008e: Unknown result type (might be due to invalid IL or missing references)
//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
//IL_00de: Unknown result type (might be due to invalid IL or missing references)
Dictionary<DatabaseID, GameObject> dictionary = (Dictionary<DatabaseID, GameObject>)ContentDatabase.Instance().LandfallContentDatabase.GetField<LandfallContentDatabase>("m_combatMoves");
List<DatabaseID> list = new List<DatabaseID>();
int count = MoveEditor.moves.Count;
int num = 0;
for (int i = 0; i < count; i++)
{
GameObject val4 = MoveEditor.moves[i - num];
EditorTools.Log("Get:" + ((CharacterItem)val4.GetComponentInChildren<SpecialAbility>()).Entity.Name);
if (!list.Contains(((CharacterItem)val4.GetComponentInChildren<SpecialAbility>()).Entity.GUID))
{
list.Add(((CharacterItem)val4.GetComponentInChildren<SpecialAbility>()).Entity.GUID);
if (dictionary.ContainsKey(((CharacterItem)val4.GetComponentInChildren<SpecialAbility>()).Entity.GUID))
{
EditorTools.Log("Find:" + ((CharacterItem)val4.GetComponentInChildren<SpecialAbility>()).Entity.Name);
dictionary.Remove(((CharacterItem)val4.GetComponentInChildren<SpecialAbility>()).Entity.GUID);
MoveEditor.moves.Remove(val4);
Object.Destroy((Object)(object)val4);
num++;
}
}
}
EditorTools.SetField<LandfallContentDatabase>(ContentDatabase.Instance().LandfallContentDatabase, "m_combatMoves", dictionary);
EditorStart.moveeditor.ReaderStart();
};
<>c__53.<>9__0_4 = val2;
obj2 = (object)val2;
}
((UnityEvent)onClick2).AddListener((UnityAction)obj2);
ForceBox.AddComponent<Rigidbody>();
Save.AddComponent<Save>().editorCore = this;
PlayButton.AddComponent<Play>().editorCore = this;
DeletButton.AddComponent<Delet>().editorCore = this;
ShowK.AddComponent<ShowMove>().editorCore = this;
ButtonClickedEvent onClick3 = Exit.GetComponentInChildren<Button>().onClick;
object obj3 = <>c__53.<>9__0_5;
if (obj3 == null)
{
UnityAction val3 = delegate
{
TABSSceneManager.LoadMainMenu();
};
<>c__53.<>9__0_5 = val3;
obj3 = (object)val3;
}
((UnityEvent)onClick3).AddListener((UnityAction)obj3);
}
static MoveEditorCore()
{
}
public static void SetShow(GameObject canva, MoveEditorCore core, MoveEditor_ShowOn.Type type)
{
MoveEditor_ShowOn moveEditor_ShowOn = canva.AddComponent<MoveEditor_ShowOn>();
moveEditor_ShowOn.editorCore = core;
moveEditor_ShowOn.type = type;
}
}
namespace Move_Editor.Script
{
public class Colors : MonoBehaviour
{
public GameObject R;
public GameObject G;
public GameObject B;
public GameObject A;
private void Start()
{
R = ((Component)((Component)this).transform.GetChild(0)).gameObject;
G = ((Component)((Component)this).transform.GetChild(1)).gameObject;
B = ((Component)((Component)this).transform.GetChild(2)).gameObject;
A = ((Component)((Component)this).transform.GetChild(3)).gameObject;
}
private void Update()
{
//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
if (R.GetComponentInChildren<InputField>().text != "" && G.GetComponentInChildren<InputField>().text != "" && B.GetComponentInChildren<InputField>().text != "" && A.GetComponentInChildren<InputField>().text != "")
{
float result = 1f;
float result2 = 1f;
float result3 = 1f;
float result4 = 1f;
float.TryParse(R.GetComponentInChildren<InputField>().text, out result);
float.TryParse(G.GetComponentInChildren<InputField>().text, out result2);
float.TryParse(B.GetComponentInChildren<InputField>().text, out result3);
float.TryParse(A.GetComponentInChildren<InputField>().text, out result4);
((Graphic)((Component)this).GetComponentInChildren<Image>()).color = new Color(result, result2, result3, result4);
}
}
}
public class PerMoves : MonoBehaviour
{
public Dictionary<string, GameObject> permoves = new Dictionary<string, GameObject>();
public MoveEditorCore editorCore;
public void Start()
{
//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
//IL_00df: Unknown result type (might be due to invalid IL or missing references)
//IL_00f5: Expected O, but got Unknown
SpecialAbility[] array = Resources.FindObjectsOfTypeAll<SpecialAbility>();
foreach (SpecialAbility val in array)
{
if (permoves.ContainsKey(((CharacterItem)val).Entity.Name) || !(((CharacterItem)val).Entity.Name != "") || !MoveEditor.permoves.ContainsValue(((Component)val).gameObject))
{
continue;
}
string text = ((CharacterItem)val).Entity.Name;
if (editorCore.laukey.ContainsKey(text))
{
text = editorCore.laukey[text];
}
if (permoves.ContainsKey(text))
{
while (permoves.ContainsKey(text))
{
text += "-";
}
}
permoves.Add(text, ((Component)val).gameObject);
((Component)this).GetComponentInChildren<Dropdown>().options.Add(new OptionData
{
text = text,
image = ((CharacterItem)val).Entity.SpriteIcon
});
}
((UnityEvent<int>)(object)((Component)this).GetComponentInChildren<Dropdown>().onValueChanged).AddListener((UnityAction<int>)delegate(int index)
{
OnVc(index);
});
}
private void OnVc(int index)
{
Debug.Log((object)index);
GameObject val = ((Component)this).GetComponentInChildren<PerMoves>().permoves[((Component)this).GetComponentInChildren<Dropdown>().options[index].text];
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<SpawnObject>()) && Object.op_Implicit((Object)(object)val.GetComponentInChildren<SpawnObject>().objectToSpawn) && editorCore.PerObejcettoSpawn.GetComponentInChildren<PerObjects>().perobjects.ContainsKey(((Object)val.GetComponentInChildren<SpawnObject>().objectToSpawn).name))
{
Debug.Log((object)((Object)val.GetComponentInChildren<SpawnObject>().objectToSpawn).name);
editorCore.PerObejcettoSpawnSearch.GetComponentInChildren<InputField>().text = "";
editorCore.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().value = editorCore.PerObejcettoSpawn.GetComponentInChildren<PerObjects>().perobjects.Keys.ToList().IndexOf(((Object)val.GetComponentInChildren<SpawnObject>().objectToSpawn).name);
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<UnitSpawner>()) && Object.op_Implicit((Object)(object)val.GetComponentInChildren<UnitSpawner>().unitBlueprint) && PerUnits.units.ContainsValue(val.GetComponentInChildren<UnitSpawner>().unitBlueprint))
{
Debug.Log((object)PerUnits.units.ToList()[PerUnits.units.Values.ToList().IndexOf(val.GetComponentInChildren<UnitSpawner>().unitBlueprint)].Key);
editorCore.PerUnitSearch.GetComponentInChildren<InputField>().text = "";
editorCore.PerUnit.GetComponentInChildren<Dropdown>().value = PerUnits.units.Keys.ToList().IndexOf(PerUnits.units.ToList()[PerUnits.units.Values.ToList().IndexOf(val.GetComponentInChildren<UnitSpawner>().unitBlueprint)].Key);
}
}
}
public class PerObjects : MonoBehaviour
{
public Dictionary<string, GameObject> perobjects = new Dictionary<string, GameObject>();
public MoveEditorCore editorCore;
public void Start()
{
//IL_009e: Unknown result type (might be due to invalid IL or missing references)
//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
//IL_00af: Expected O, but got Unknown
//IL_019e: Unknown result type (might be due to invalid IL or missing references)
//IL_01a3: Unknown result type (might be due to invalid IL or missing references)
//IL_01b0: Expected O, but got Unknown
Explosion[] array = Resources.FindObjectsOfTypeAll<Explosion>();
foreach (Explosion val in array)
{
if (!MoveEditor.perObjects.ContainsValue(((Component)val).gameObject))
{
continue;
}
string text = ((Object)((Component)val).gameObject).name;
if (editorCore.laukey.ContainsKey(text))
{
text = editorCore.laukey[text];
}
if (perobjects.ContainsKey(text))
{
while (perobjects.ContainsKey(text))
{
text += "-";
}
}
perobjects.Add(text, ((Component)val).gameObject);
((Component)this).GetComponentInChildren<Dropdown>().options.Add(new OptionData
{
text = text
});
}
GameObject[] array2 = Resources.FindObjectsOfTypeAll<GameObject>();
foreach (GameObject val2 in array2)
{
if (!Object.op_Implicit((Object)(object)val2.GetComponentInChildren<SpawnObject>()))
{
continue;
}
SpawnObject[] componentsInChildren = val2.GetComponentsInChildren<SpawnObject>();
foreach (SpawnObject val3 in componentsInChildren)
{
if (Object.op_Implicit((Object)(object)val3.objectToSpawn) && !string.IsNullOrEmpty(((Object)val3.objectToSpawn).name))
{
string text2 = ((Object)val3.objectToSpawn).name;
if (editorCore.laukey.ContainsKey(text2))
{
text2 = editorCore.laukey[text2];
}
Debug.Log((object)text2);
if (!perobjects.ContainsKey(text2) && MoveEditor.perObjects.ContainsValue(val3.objectToSpawn))
{
perobjects.Add(text2, val3.objectToSpawn);
((Component)this).GetComponentInChildren<Dropdown>().options.Add(new OptionData
{
text = text2
});
}
}
}
}
}
}
public class PerUnits : MonoBehaviour
{
public static Dictionary<string, UnitBlueprint> units;
public MoveEditorCore editorCore;
public void Start()
{
//IL_0091: Unknown result type (might be due to invalid IL or missing references)
//IL_0096: Unknown result type (might be due to invalid IL or missing references)
//IL_009d: Unknown result type (might be due to invalid IL or missing references)
//IL_00b3: Expected O, but got Unknown
UnitBlueprint[] array = Resources.FindObjectsOfTypeAll<UnitBlueprint>();
foreach (UnitBlueprint val in array)
{
if (!MoveEditor.perunits.ContainsValue(val))
{
continue;
}
string text = val.Entity.Name;
if (editorCore.laukey.ContainsKey(text))
{
text = editorCore.laukey[text];
}
if (units.ContainsKey(text))
{
while (units.ContainsKey(text))
{
text += "-";
}
}
units.Add(text, val);
((Component)this).GetComponentInChildren<Dropdown>().options.Add(new OptionData
{
text = text,
image = val.Entity.SpriteIcon
});
}
}
static PerUnits()
{
units = new Dictionary<string, UnitBlueprint>();
}
}
public class Save : MonoBehaviour
{
public MoveEditorCore editorCore;
public void Start()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Expected O, but got Unknown
((UnityEvent)((Component)this).GetComponentInChildren<Button>().onClick).AddListener((UnityAction)delegate
{
SaveMove();
});
}
public void SaveMove()
{
//IL_06ed: Unknown result type (might be due to invalid IL or missing references)
//IL_06f2: Unknown result type (might be due to invalid IL or missing references)
//IL_0771: Unknown result type (might be due to invalid IL or missing references)
//IL_0776: Unknown result type (might be due to invalid IL or missing references)
if (!Directory.Exists(Paths.PluginPath + "\\Moves"))
{
Directory.CreateDirectory(Paths.PluginPath + "\\Moves");
}
if (!Directory.Exists(Paths.PluginPath + "\\Moves\\MyMoves"))
{
Directory.CreateDirectory(Paths.PluginPath + "\\Moves\\MyMoves");
}
StreamWriter streamWriter = File.CreateText(Paths.PluginPath + "\\Moves\\MyMoves\\" + editorCore.Name.GetComponentInChildren<InputField>().text + ".move");
Debug.Log((object)("CreateText:" + editorCore.Name.GetComponentInChildren<InputField>().text + ".move"));
if (editorCore.Name.GetComponentInChildren<InputField>().text != null)
{
streamWriter.WriteLine("\"Name\"=" + editorCore.Name.GetComponentInChildren<InputField>().text);
Debug.Log((object)("SetName:" + editorCore.Name.GetComponentInChildren<InputField>().text));
}
if (editorCore.ModID.GetComponentInChildren<InputField>().text != null)
{
streamWriter.WriteLine("\"ModID\"=" + editorCore.ModID.GetComponentInChildren<InputField>().text);
Debug.Log((object)("SetModID:" + editorCore.ModID.GetComponentInChildren<InputField>().text));
}
if (editorCore.ID.GetComponentInChildren<InputField>().text != null)
{
streamWriter.WriteLine("\"ID\"=" + editorCore.ID.GetComponentInChildren<InputField>().text);
Debug.Log((object)("SetID:" + editorCore.ID.GetComponentInChildren<InputField>().text));
}
if (editorCore.PerMove.GetComponentInChildren<Dropdown>().options[editorCore.PerMove.GetComponentInChildren<Dropdown>().value].text != null)
{
streamWriter.WriteLine("\"PerMove\"=" + ((CharacterItem)editorCore.PerMove.GetComponentInChildren<PerMoves>().permoves[editorCore.PerMove.GetComponentInChildren<Dropdown>().options[editorCore.PerMove.GetComponentInChildren<Dropdown>().value].text].GetComponentInChildren<SpecialAbility>()).Entity.Name);
Debug.Log((object)("SetPerMove:" + ((CharacterItem)editorCore.PerMove.GetComponentInChildren<PerMoves>().permoves[editorCore.PerMove.GetComponentInChildren<Dropdown>().options[editorCore.PerMove.GetComponentInChildren<Dropdown>().value].text].GetComponentInChildren<SpecialAbility>()).Entity.Name));
}
if (editorCore.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().options[editorCore.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().value].text != null)
{
streamWriter.WriteLine("\"PerSpawn\"=" + ((Object)editorCore.PerObejcettoSpawn.GetComponentInChildren<PerObjects>().perobjects[editorCore.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().options[editorCore.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().value].text].gameObject).name);
Debug.Log((object)("SetPerSpawn:" + editorCore.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().options[editorCore.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().value].text));
}
if (editorCore.PerUnit.GetComponentInChildren<Dropdown>().options[editorCore.PerUnit.GetComponentInChildren<Dropdown>().value].text != null)
{
streamWriter.WriteLine("\"PerUnitId\"=" + PerUnits.units[editorCore.PerUnit.GetComponentInChildren<Dropdown>().options[editorCore.PerUnit.GetComponentInChildren<Dropdown>().value].text].Entity.Name);
Debug.Log((object)("SetPerUnitId:" + PerUnits.units[editorCore.PerUnit.GetComponentInChildren<Dropdown>().options[editorCore.PerUnit.GetComponentInChildren<Dropdown>().value].text].Entity.Name));
}
if (editorCore.Force.GetComponentInChildren<InputField>().text != null)
{
streamWriter.WriteLine("\"PerForce\"=" + editorCore.Force.GetComponentInChildren<InputField>().text);
Debug.Log((object)("SetPerForce:" + editorCore.Force.GetComponentInChildren<InputField>().text));
}
if (editorCore.CD.GetComponentInChildren<InputField>().text != null)
{
streamWriter.WriteLine("\"CD\"=" + editorCore.CD.GetComponentInChildren<InputField>().text);
Debug.Log((object)("SetCD:" + editorCore.CD.GetComponentInChildren<InputField>().text));
}
if (editorCore.Damage.GetComponentInChildren<InputField>().text != null)
{
streamWriter.WriteLine("\"Damage\"=" + editorCore.Damage.GetComponentInChildren<InputField>().text);
Debug.Log((object)("SetDamage:" + editorCore.Damage.GetComponentInChildren<InputField>().text));
}
if (editorCore.ScreenSh.GetComponentInChildren<InputField>().text != null)
{
streamWriter.WriteLine("\"SC\"=" + editorCore.ScreenSh.GetComponentInChildren<InputField>().text);
Debug.Log((object)("SetSC:" + editorCore.ScreenSh.GetComponentInChildren<InputField>().text));
}
streamWriter.WriteLine("\"SetColor?\"=" + editorCore.setColor.GetComponentInChildren<Toggle>().isOn);
streamWriter.WriteLine("\"UseParticle?\"=" + editorCore.UseParticle.GetComponentInChildren<Toggle>().isOn);
Debug.Log((object)("SetColor?:" + editorCore.setColor.GetComponentInChildren<Toggle>().isOn));
if (editorCore.setColor.GetComponentInChildren<Toggle>().isOn)
{
string[] array = new string[8] { "\"Color\"=", null, null, null, null, null, null, null };
int num = 1;
Color color = ((Graphic)editorCore.RGB.GetComponent<Image>()).color;
array[num] = color.r.ToString();
array[2] = ",";
int num2 = 3;
array[num2] = color.g.ToString();
array[4] = ",";
int num3 = 5;
array[num3] = color.b.ToString();
array[6] = ",";
array[7] = color.a.ToString();
streamWriter.WriteLine(string.Concat(array));
Color color2 = ((Graphic)editorCore.RGB.GetComponent<Image>()).color;
Debug.Log((object)("SetColor:" + ((object)(Color)(ref color2)).ToString()));
}
streamWriter.Close();
editorCore.ShowK.GetComponentInChildren<ShowMove>().Log("<color=green>Write Move Successfully!</color>\n");
if (Object.op_Implicit((Object)(object)EditorStart.moveeditor.ReadMoveCanlog(new ReaderTexttoJson(new StreamReader(Paths.PluginPath + "\\Moves\\MyMoves\\" + editorCore.Name.GetComponentInChildren<InputField>().text + ".move")))))
{
editorCore.ShowK.GetComponentInChildren<ShowMove>().Log("<color=green>Read Move Successfully!</color>\n");
}
else
{
editorCore.ShowK.GetComponentInChildren<ShowMove>().Log("<color=red>[Error]Can't Find the Per Move :(</color>\n");
}
Debug.Log((object)"Save and Read Successfully !");
}
}
public class SearchObject : MonoBehaviour
{
public GameObject dropdownper;
public void OnVc(string value)
{
//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
//IL_00d4: Expected O, but got Unknown
//IL_019b: Unknown result type (might be due to invalid IL or missing references)
//IL_01a0: Unknown result type (might be due to invalid IL or missing references)
//IL_01ad: Expected O, but got Unknown
List<string> list = new List<string>();
foreach (string key in dropdownper.GetComponentInChildren<PerObjects>().perobjects.Keys)
{
if (key.ToUpper().Contains(value.ToUpper()))
{
list.Add(key);
}
}
dropdownper.gameObject.GetComponentInChildren<Dropdown>().options.Clear();
if (value == "")
{
foreach (string key2 in dropdownper.GetComponentInChildren<PerObjects>().perobjects.Keys)
{
dropdownper.gameObject.GetComponentInChildren<Dropdown>().options.Add(new OptionData
{
text = key2
});
}
}
if (list.Count == 0)
{
((Component)dropdownper.transform.GetChild(0)).GetComponent<Text>().text = "";
return;
}
dropdownper.gameObject.GetComponentInChildren<Dropdown>().value = dropdownper.GetComponentInChildren<PerObjects>().perobjects.Keys.ToList().IndexOf(list[0]);
((Component)dropdownper.transform.GetChild(0)).GetComponent<Text>().text = list[0];
foreach (string item in list)
{
dropdownper.gameObject.GetComponentInChildren<Dropdown>().options.Add(new OptionData
{
text = item
});
}
}
}
public class SearchMove : MonoBehaviour
{
public GameObject dropdownper;
public void OnVc(string value)
{
//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
//IL_00d0: Expected O, but got Unknown
//IL_0197: Unknown result type (might be due to invalid IL or missing references)
//IL_019c: Unknown result type (might be due to invalid IL or missing references)
//IL_01a9: Expected O, but got Unknown
List<string> list = new List<string>();
foreach (string key in dropdownper.GetComponentInChildren<PerMoves>().permoves.Keys)
{
if (key.ToUpper().Contains(value.ToUpper()))
{
list.Add(key);
}
}
dropdownper.gameObject.GetComponentInChildren<Dropdown>().options.Clear();
if (value == "")
{
foreach (string key2 in dropdownper.GetComponentInChildren<PerMoves>().permoves.Keys)
{
dropdownper.gameObject.GetComponentInChildren<Dropdown>().options.Add(new OptionData
{
text = key2
});
}
}
if (list.Count == 0)
{
((Component)dropdownper.transform.GetChild(0)).GetComponent<Text>().text = "";
return;
}
dropdownper.gameObject.GetComponentInChildren<Dropdown>().value = dropdownper.GetComponentInChildren<PerMoves>().permoves.Keys.ToList().IndexOf(list[0]);
((Component)dropdownper.transform.GetChild(0)).GetComponent<Text>().text = list[0];
foreach (string item in list)
{
dropdownper.gameObject.GetComponentInChildren<Dropdown>().options.Add(new OptionData
{
text = item
});
}
}
}
public class Play : MonoBehaviour
{
public MoveEditorCore editorCore;
public static GameObject GetMove(MoveEditorCore core, GameObject gameObject2)
{
//IL_0132: Unknown result type (might be due to invalid IL or missing references)
//IL_0137: Unknown result type (might be due to invalid IL or missing references)
//IL_015f: Unknown result type (might be due to invalid IL or missing references)
//IL_0164: Unknown result type (might be due to invalid IL or missing references)
//IL_018c: Unknown result type (might be due to invalid IL or missing references)
//IL_0191: Unknown result type (might be due to invalid IL or missing references)
//IL_066e: Unknown result type (might be due to invalid IL or missing references)
//IL_0675: Expected O, but got Unknown
//IL_0677: Unknown result type (might be due to invalid IL or missing references)
//IL_0594: Unknown result type (might be due to invalid IL or missing references)
//IL_059b: Expected O, but got Unknown
//IL_05a2: Unknown result type (might be due to invalid IL or missing references)
//IL_05bb: Unknown result type (might be due to invalid IL or missing references)
//IL_09fd: Unknown result type (might be due to invalid IL or missing references)
//IL_0a21: Unknown result type (might be due to invalid IL or missing references)
string text = "";
string text2 = "";
string text3 = "";
string text4 = "";
string text5 = "";
string text6 = "";
string text7 = "";
string text8 = "";
if (core.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().value >= 0)
{
text5 = core.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().options[core.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().value].text;
EditorTools.Warning(text5);
}
if (core.Force.GetComponentInChildren<InputField>().text != null)
{
text6 = core.Force.GetComponentInChildren<InputField>().text;
EditorTools.Warning(text6);
}
if (core.PerUnit.GetComponentInChildren<Dropdown>().value >= 0)
{
text = core.PerUnit.GetComponentInChildren<Dropdown>().options[core.PerUnit.GetComponentInChildren<Dropdown>().value].text;
EditorTools.Warning(text);
}
text4 = core.setColor.GetComponentInChildren<Toggle>().isOn.ToString();
EditorTools.Warning(text4);
if (core.setColor.GetComponentInChildren<Toggle>().isOn)
{
string[] array = new string[5];
int num = 0;
array[num] = ((Graphic)core.RGB.GetComponentInChildren<Image>()).color.r.ToString();
array[1] = ",";
int num2 = 2;
array[num2] = ((Graphic)core.RGB.GetComponentInChildren<Image>()).color.g.ToString();
array[3] = ",";
int num3 = 4;
array[num3] = ((Graphic)core.RGB.GetComponentInChildren<Image>()).color.b.ToString();
text2 = string.Concat(array);
EditorTools.Warning(text2);
}
if (core.CD.GetComponentInChildren<InputField>().text != null)
{
text3 = core.CD.GetComponentInChildren<InputField>().text;
EditorTools.Warning(text3);
}
if (core.Damage.GetComponentInChildren<InputField>().text != null)
{
text7 = core.Damage.GetComponentInChildren<InputField>().text;
EditorTools.Warning(text7);
}
if (core.ScreenSh.GetComponentInChildren<InputField>().text != null)
{
text8 = core.ScreenSh.GetComponentInChildren<InputField>().text;
EditorTools.Warning(text8);
}
gameObject2.SetHideFlags<GameObject>((HideFlags)52);
if (Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<SpawnObject>()))
{
SpawnObject[] componentsInChildren = gameObject2.GetComponentsInChildren<SpawnObject>();
for (int i = 0; i < componentsInChildren.Length; i++)
{
if (text5 != null && MoveEditor.perObjects.ContainsKey(text5))
{
componentsInChildren[i].objectToSpawn = MoveEditor.perObjects[text5];
}
}
}
if (text8 != "" && Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<AddScreensShake>()))
{
AddScreensShake[] componentsInChildren2 = gameObject2.GetComponentsInChildren<AddScreensShake>();
for (int j = 0; j < componentsInChildren2.Length; j++)
{
componentsInChildren2[j].amount = float.Parse(text8);
}
}
if (text7 != "" && (Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<Explosion>()) || Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<SpawnObject>()) || Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<AddObjectEffect>()) || Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<CollisionWeapon>()) || Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<ExplosionAddEffect>())))
{
if (Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<Explosion>()))
{
Explosion[] componentsInChildren3 = gameObject2.GetComponentsInChildren<Explosion>();
for (int k = 0; k < componentsInChildren3.Length; k++)
{
componentsInChildren3[k].damage = float.Parse(text7);
}
}
if (Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<SpawnObject>()))
{
SpawnObject[] componentsInChildren4 = gameObject2.GetComponentsInChildren<SpawnObject>();
foreach (SpawnObject val in componentsInChildren4)
{
val.objectToSpawn = Object.Instantiate<GameObject>(val.objectToSpawn, MoveEditor.pool.transform);
if (Object.op_Implicit((Object)(object)val.objectToSpawn.GetComponentInChildren<Explosion>()))
{
Explosion[] componentsInChildren5 = val.objectToSpawn.GetComponentsInChildren<Explosion>();
for (int m = 0; m < componentsInChildren5.Length; m++)
{
componentsInChildren5[m].damage = float.Parse(text7);
}
}
if (Object.op_Implicit((Object)(object)val.objectToSpawn.GetComponentInChildren<ExplosionAddEffect>()))
{
ExplosionAddEffect[] componentsInChildren6 = val.objectToSpawn.GetComponentsInChildren<ExplosionAddEffect>();
foreach (ExplosionAddEffect obj in componentsInChildren6)
{
obj.EffectPrefab = Object.Instantiate<UnitEffectBase>(obj.EffectPrefab, MoveEditor.pool.transform);
obj.EffectPrefab.damageMultiplier = float.Parse(text7);
}
}
}
}
if (Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<CollisionWeapon>()))
{
CollisionWeapon[] componentsInChildren7 = gameObject2.GetComponentsInChildren<CollisionWeapon>();
for (int num4 = 0; num4 < componentsInChildren7.Length; num4++)
{
componentsInChildren7[num4].damage = float.Parse(text7);
}
}
if (Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<ExplosionAddEffect>()))
{
ExplosionAddEffect[] componentsInChildren6 = gameObject2.GetComponentsInChildren<ExplosionAddEffect>();
foreach (ExplosionAddEffect obj2 in componentsInChildren6)
{
obj2.EffectPrefab = Object.Instantiate<UnitEffectBase>(obj2.EffectPrefab, MoveEditor.pool.transform);
obj2.EffectPrefab.damageMultiplier = float.Parse(text7);
}
}
}
if (Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<DodgeMove>()) && text6 != "" && text6 != null)
{
DodgeMove[] componentsInChildren8 = gameObject2.GetComponentsInChildren<DodgeMove>();
for (int num5 = 0; num5 < componentsInChildren8.Length; num5++)
{
componentsInChildren8[num5].forceMultiplier = float.Parse(text6);
}
}
if (Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<UnitSpawner>()) && text != "" && text != null)
{
UnitSpawner[] componentsInChildren9 = gameObject2.GetComponentsInChildren<UnitSpawner>();
for (int num6 = 0; num6 < componentsInChildren9.Length; num6++)
{
UnitBlueprint unitBlueprint = componentsInChildren9[num6].unitBlueprint;
foreach (UnitBlueprint unit in LandfallUnitDatabase.GetDatabase().UnitList)
{
UnitBlueprint val2 = unit;
if (val2.Entity.GUID.m_ID == int.Parse(text) && val2.Entity.GUID.m_modID == -2)
{
unitBlueprint = val2;
}
}
componentsInChildren9[num6].unitBlueprint = unitBlueprint;
}
}
if (text2 != "" && text2 != null && (text4 == "" || bool.Parse(text4)))
{
string[] array2 = text2.Split(new char[1] { ',' });
Color color = default(Color);
((Color)(ref color))..ctor(float.Parse(array2[0]), float.Parse(array2[1]), float.Parse(array2[2]));
Material val3 = new Material(Shader.Find("Standard"));
val3.color = color;
val3.renderQueue = 3000;
Renderer[] componentsInChildren10 = gameObject2.GetComponentsInChildren<Renderer>();
foreach (Renderer val4 in componentsInChildren10)
{
List<Material> list = new List<Material>();
Material[] materials = val4.materials;
for (int n = 0; n < materials.Length; n++)
{
_ = materials[n];
list.Add(val3);
}
val4.materials = list.ToArray();
}
ParticleSystemRenderer[] componentsInChildren11 = gameObject2.GetComponentsInChildren<ParticleSystemRenderer>();
foreach (ParticleSystemRenderer val5 in componentsInChildren11)
{
if (!core.UseParticle.GetComponentInChildren<Toggle>().isOn)
{
((Renderer)val5).enabled = false;
}
List<Material> list2 = new List<Material>();
Material[] materials = ((Renderer)val5).materials;
for (int n = 0; n < materials.Length; n++)
{
_ = materials[n];
list2.Add(val3);
}
((Renderer)val5).materials = list2.ToArray();
}
if (Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<SpawnObject>()))
{
SpawnObject[] componentsInChildren4 = gameObject2.GetComponentsInChildren<SpawnObject>();
foreach (SpawnObject val6 in componentsInChildren4)
{
componentsInChildren10 = val6.objectToSpawn.GetComponentsInChildren<Renderer>();
foreach (Renderer val7 in componentsInChildren10)
{
List<Material> list3 = new List<Material>();
Material[] materials = val7.materials;
for (int num7 = 0; num7 < materials.Length; num7++)
{
_ = materials[num7];
list3.Add(val3);
}
val7.materials = list3.ToArray();
}
componentsInChildren11 = val6.objectToSpawn.GetComponentsInChildren<ParticleSystemRenderer>();
foreach (ParticleSystemRenderer val8 in componentsInChildren11)
{
if (!core.UseParticle.GetComponentInChildren<Toggle>().isOn)
{
((Renderer)val8).enabled = false;
}
List<Material> list4 = new List<Material>();
Material[] materials = ((Renderer)val8).materials;
for (int num7 = 0; num7 < materials.Length; num7++)
{
_ = materials[num7];
list4.Add(val3);
}
((Renderer)val8).materials = list4.ToArray();
}
}
}
if (Object.op_Implicit((Object)(object)gameObject2.GetComponentInChildren<AddObjectEffect>()))
{
AddObjectEffect[] componentsInChildren12 = gameObject2.GetComponentsInChildren<AddObjectEffect>();
for (int num8 = 0; num8 < componentsInChildren12.Length; num8++)
{
GameObject gameObject3 = ((Component)componentsInChildren12[num8].EffectPrefab).gameObject;
componentsInChildren10 = gameObject3.GetComponentsInChildren<Renderer>();
foreach (Renderer val9 in componentsInChildren10)
{
List<Material> list5 = new List<Material>();
Material[] materials = val9.materials;
for (int n = 0; n < materials.Length; n++)
{
_ = materials[n];
list5.Add(val3);
}
val9.materials = list5.ToArray();
}
componentsInChildren11 = gameObject3.GetComponentsInChildren<ParticleSystemRenderer>();
foreach (ParticleSystemRenderer val10 in componentsInChildren11)
{
if (!core.UseParticle.GetComponentInChildren<Toggle>().isOn)
{
((Renderer)val10).enabled = false;
}
List<Material> list6 = new List<Material>();
Material[] materials = ((Renderer)val10).materials;
for (int n = 0; n < materials.Length; n++)
{
_ = materials[n];
list6.Add(val3);
}
((Renderer)val10).materials = list6.ToArray();
}
}
}
if (text3 != null && text3 != "")
{
ConditionalEvent[] componentsInChildren13 = gameObject2.GetComponentsInChildren<ConditionalEvent>();
for (int num9 = 0; num9 < componentsInChildren13.Length; num9++)
{
ConditionalEventInstance[] events = componentsInChildren13[num9].events;
for (int num10 = 0; num10 < events.Length; num10++)
{
EventCondition[] conditions = events[num10].conditions;
foreach (EventCondition val11 in conditions)
{
if ((int)val11.conditionType == 0)
{
val11.counter = float.Parse(text3);
val11.value = float.Parse(text3);
val11.valueType = (ValueType)1;
val11.cooldownRange = float.Parse(text3);
val11.extraRandomCooldown = 0f;
}
}
}
}
}
}
return gameObject2;
}
public void PlayMove()
{
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_007e: Unknown result type (might be due to invalid IL or missing references)
//IL_0088: Unknown result type (might be due to invalid IL or missing references)
//IL_0195: Unknown result type (might be due to invalid IL or missing references)
//IL_01b0: Unknown result type (might be due to invalid IL or missing references)
//IL_0714: Unknown result type (might be due to invalid IL or missing references)
//IL_0719: Unknown result type (might be due to invalid IL or missing references)
//IL_0725: Unknown result type (might be due to invalid IL or missing references)
//IL_072c: Expected O, but got Unknown
//IL_0777: Unknown result type (might be due to invalid IL or missing references)
//IL_0426: Unknown result type (might be due to invalid IL or missing references)
//IL_058b: Unknown result type (might be due to invalid IL or missing references)
//IL_04b5: Unknown result type (might be due to invalid IL or missing references)
//IL_0b3b: Unknown result type (might be due to invalid IL or missing references)
//IL_0b57: Unknown result type (might be due to invalid IL or missing references)
float result = 1f;
float.TryParse(editorCore.Force.GetComponentInChildren<InputField>().text, out result);
_ = editorCore.PerMove.GetComponentInChildren<Dropdown>().options[editorCore.PerMove.GetComponentInChildren<Dropdown>().value].text;
editorCore.ForceBox.GetComponentInChildren<Rigidbody>().AddForce(editorCore.ForceBox.transform.up * result * 1200f, (ForceMode)5);
if (!((Object)(object)editorCore.PerObejcettoSpawn.GetComponentInChildren<PerObjects>().perobjects[editorCore.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().options[editorCore.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().value].text] != (Object)null))
{
return;
}
((Component)editorCore.RU.transform.GetChild(0)).GetComponentInChildren<Unit>().data.targetData = ((Component)editorCore.BU.transform.GetChild(0)).GetComponentInChildren<Unit>().data;
GameObject val = Object.Instantiate<GameObject>(editorCore.PerMove.GetComponentInChildren<PerMoves>().permoves[editorCore.PerMove.GetComponentInChildren<Dropdown>().options[editorCore.PerMove.GetComponentInChildren<Dropdown>().value].text], editorCore.RU.transform.GetChild(0).position, editorCore.RU.transform.GetChild(0).rotation, editorCore.RU.transform.GetChild(0));
val.SetHideFlags<GameObject>((HideFlags)52);
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<SpawnObject>()))
{
SpawnObject[] componentsInChildren = val.GetComponentsInChildren<SpawnObject>();
for (int i = 0; i < componentsInChildren.Length; i++)
{
componentsInChildren[i].objectToSpawn = editorCore.PerObejcettoSpawn.GetComponentInChildren<PerObjects>().perobjects[editorCore.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().options[editorCore.PerObejcettoSpawn.GetComponentInChildren<Dropdown>().value].text];
}
}
if (editorCore.ScreenSh.GetComponentInChildren<InputField>().text != "" && Object.op_Implicit((Object)(object)val.GetComponentInChildren<AddScreensShake>()))
{
float result2 = 1f;
float.TryParse(editorCore.ScreenSh.GetComponentInChildren<InputField>().text, out result2);
AddScreensShake[] componentsInChildren2 = val.GetComponentsInChildren<AddScreensShake>();
for (int j = 0; j < componentsInChildren2.Length; j++)
{
componentsInChildren2[j].amount = result2;
}
}
if (editorCore.Damage.GetComponentInChildren<InputField>().text != "" && (Object.op_Implicit((Object)(object)val.GetComponentInChildren<Explosion>()) || Object.op_Implicit((Object)(object)val.GetComponentInChildren<SpawnObject>()) || Object.op_Implicit((Object)(object)val.GetComponentInChildren<AddObjectEffect>()) || Object.op_Implicit((Object)(object)val.GetComponentInChildren<CollisionWeapon>()) || Object.op_Implicit((Object)(object)val.GetComponentInChildren<ExplosionAddEffect>())))
{
float result3 = 100f;
float.TryParse(editorCore.Damage.GetComponentInChildren<InputField>().text, out result3);
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<Explosion>()))
{
Explosion[] componentsInChildren3 = val.GetComponentsInChildren<Explosion>();
for (int k = 0; k < componentsInChildren3.Length; k++)
{
componentsInChildren3[k].damage = result3;
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<SpawnObject>()))
{
SpawnObject[] componentsInChildren4 = val.GetComponentsInChildren<SpawnObject>();
foreach (SpawnObject val2 in componentsInChildren4)
{
val2.objectToSpawn = Object.Instantiate<GameObject>(val2.objectToSpawn, MoveEditor.pool.transform);
if (Object.op_Implicit((Object)(object)val2.objectToSpawn.GetComponentInChildren<Explosion>()))
{
Explosion[] componentsInChildren5 = val2.objectToSpawn.GetComponentsInChildren<Explosion>();
for (int m = 0; m < componentsInChildren5.Length; m++)
{
componentsInChildren5[m].damage = result3;
}
}
val2.objectToSpawn.SetColor(((Graphic)editorCore.RGB.GetComponentInChildren<Image>()).color, editorCore.UseParticle.GetComponentInChildren<Toggle>().isOn);
if (Object.op_Implicit((Object)(object)val2.objectToSpawn.GetComponentInChildren<ExplosionAddEffect>()))
{
ExplosionAddEffect[] componentsInChildren6 = val2.objectToSpawn.GetComponentsInChildren<ExplosionAddEffect>();
foreach (ExplosionAddEffect obj in componentsInChildren6)
{
obj.EffectPrefab = Object.Instantiate<UnitEffectBase>(obj.EffectPrefab, MoveEditor.pool.transform);
obj.EffectPrefab.damageMultiplier = result3;
((Component)obj.EffectPrefab).gameObject.SetColor(((Graphic)editorCore.RGB.GetComponentInChildren<Image>()).color, editorCore.UseParticle.GetComponentInChildren<Toggle>().isOn);
}
}
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<CollisionWeapon>()))
{
CollisionWeapon[] componentsInChildren7 = val.GetComponentsInChildren<CollisionWeapon>();
for (int num = 0; num < componentsInChildren7.Length; num++)
{
componentsInChildren7[num].damage = result3;
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<ExplosionAddEffect>()))
{
ExplosionAddEffect[] componentsInChildren6 = val.GetComponentsInChildren<ExplosionAddEffect>();
foreach (ExplosionAddEffect obj2 in componentsInChildren6)
{
obj2.EffectPrefab = Object.Instantiate<UnitEffectBase>(obj2.EffectPrefab, MoveEditor.pool.transform);
obj2.EffectPrefab.damageMultiplier = result3;
((Component)obj2.EffectPrefab).gameObject.SetColor(((Graphic)editorCore.RGB.GetComponentInChildren<Image>()).color, editorCore.UseParticle.GetComponentInChildren<Toggle>().isOn);
}
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<DodgeMove>()) && editorCore.Force.GetComponentInChildren<InputField>().text != "")
{
float result4 = 1f;
float.TryParse(editorCore.Force.GetComponentInChildren<InputField>().text, out result4);
DodgeMove[] componentsInChildren8 = val.GetComponentsInChildren<DodgeMove>();
for (int num2 = 0; num2 < componentsInChildren8.Length; num2++)
{
componentsInChildren8[num2].forceMultiplier = result4;
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<UnitSpawner>()) && (Object)(object)PerUnits.units[editorCore.PerUnit.GetComponentInChildren<Dropdown>().options[editorCore.PerUnit.GetComponentInChildren<Dropdown>().value].text] != (Object)null)
{
UnitSpawner[] componentsInChildren9 = val.GetComponentsInChildren<UnitSpawner>();
for (int num3 = 0; num3 < componentsInChildren9.Length; num3++)
{
componentsInChildren9[num3].unitBlueprint = PerUnits.units[editorCore.PerUnit.GetComponentInChildren<Dropdown>().options[editorCore.PerUnit.GetComponentInChildren<Dropdown>().value].text];
}
}
if (editorCore.setColor.GetComponentInChildren<Toggle>().isOn)
{
Color color = ((Graphic)editorCore.RGB.GetComponentInChildren<Image>()).color;
Material val3 = new Material(Shader.Find("Standard"));
val3.SetOverrideTag("RenderType", "Transparent");
val3.SetFloat("_Mode", 3f);
val3.SetInt("_SrcBlend", 5);
val3.SetInt("_DstBlend", 10);
val3.EnableKeyword("_ALPHABLEND_ON");
val3.color = color;
val3.renderQueue = 3000;
Renderer[] componentsInChildren10 = val.GetComponentsInChildren<Renderer>();
foreach (Renderer val4 in componentsInChildren10)
{
List<Material> list = new List<Material>();
Material[] materials = val4.materials;
for (int n = 0; n < materials.Length; n++)
{
_ = materials[n];
list.Add(val3);
}
val4.materials = list.ToArray();
}
ParticleSystemRenderer[] componentsInChildren11 = val.GetComponentsInChildren<ParticleSystemRenderer>();
foreach (ParticleSystemRenderer val5 in componentsInChildren11)
{
if (!editorCore.UseParticle.GetComponentInChildren<Toggle>().isOn)
{
((Renderer)val5).enabled = false;
}
List<Material> list2 = new List<Material>();
Material[] materials = ((Renderer)val5).materials;
for (int n = 0; n < materials.Length; n++)
{
_ = materials[n];
list2.Add(val3);
}
((Renderer)val5).materials = list2.ToArray();
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<SpawnObject>()))
{
SpawnObject[] componentsInChildren4 = val.GetComponentsInChildren<SpawnObject>();
foreach (SpawnObject val6 in componentsInChildren4)
{
componentsInChildren10 = val6.objectToSpawn.GetComponentsInChildren<Renderer>();
foreach (Renderer val7 in componentsInChildren10)
{
List<Material> list3 = new List<Material>();
Material[] materials = val7.materials;
for (int num4 = 0; num4 < materials.Length; num4++)
{
_ = materials[num4];
list3.Add(val3);
}
val7.materials = list3.ToArray();
}
componentsInChildren11 = val6.objectToSpawn.GetComponentsInChildren<ParticleSystemRenderer>();
foreach (ParticleSystemRenderer val8 in componentsInChildren11)
{
if (!editorCore.UseParticle.GetComponentInChildren<Toggle>().isOn)
{
((Renderer)val8).enabled = false;
}
List<Material> list4 = new List<Material>();
Material[] materials = ((Renderer)val8).materials;
for (int num4 = 0; num4 < materials.Length; num4++)
{
_ = materials[num4];
list4.Add(val3);
}
((Renderer)val8).materials = list4.ToArray();
}
}
}
if (Object.op_Implicit((Object)(object)val.GetComponentInChildren<AddObjectEffect>()))
{
AddObjectEffect[] componentsInChildren12 = val.GetComponentsInChildren<AddObjectEffect>();
for (int num5 = 0; num5 < componentsInChildren12.Length; num5++)
{
GameObject gameObject = ((Component)componentsInChildren12[num5].EffectPrefab).gameObject;
componentsInChildren10 = gameObject.GetComponentsInChildren<Renderer>();
foreach (Renderer val9 in componentsInChildren10)
{
List<Material> list5 = new List<Material>();
Material[] materials = val9.materials;
for (int n = 0; n < materials.Length; n++)
{
_ = materials[n];
list5.Add(val3);
}
val9.materials = list5.ToArray();
}
componentsInChildren11 = gameObject.GetComponentsInChildren<ParticleSystemRenderer>();
foreach (ParticleSystemRenderer val10 in componentsInChildren11)
{
if (!editorCore.UseParticle.GetComponentInChildren<Toggle>().isOn)
{
((Renderer)val10).enabled = false;
}
List<Material> list6 = new List<Material>();
Material[] materials = ((Renderer)val10).materials;
for (int n = 0; n < materials.Length; n++)
{
_ = materials[n];
list6.Add(val3);
}
((Renderer)val10).materials = list6.ToArray();
}
}
}
if (editorCore.CD.GetComponentInChildren<InputField>().text != "")
{
float result5 = 10f;
float.TryParse(editorCore.CD.GetComponentInChildren<InputField>().text, out result5);
ConditionalEvent[] componentsInChildren13 = val.GetComponentsInChildren<ConditionalEvent>();
for (int num6 = 0; num6 < componentsInChildren13.Length; num6++)
{
ConditionalEventInstance[] events = componentsInChildren13[num6].events;
for (int num7 = 0; num7 < events.Length; num7++)
{
EventCondition[] conditions = events[num7].conditions;
foreach (EventCondition val11 in conditions)
{
if ((int)val11.conditionType == 0)
{
val11.counter = result5;
val11.value = result5;
val11.valueType = (ValueType)1;
}
}
}
}
}
}
ConditionalEvent[] componentsInChildren14 = val.GetComponentsInChildren<ConditionalEvent>();
foreach (ConditionalEvent obj3 in componentsInChildren14)
{
obj3.DoMovesAndContinuousEvent(obj3.NetworkId);
}
}
public void Start()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Expected O, but got Unknown
((UnityEvent)((Component)this).GetComponentInChildren<Button>().onClick).AddListener((UnityAction)delegate
{
PlayMove();
});
}
}
public class Delet : MonoBehaviour
{
public MoveEditorCore editorCore;
public void Start()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Expected O, but got Unknown
((UnityEvent)((Component)this).GetComponentInChildren<Button>().onClick).AddListener((UnityAction)delegate
{
DeletMove();
});
}
public void DeletMove()
{
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_00ee: Unknown result t