private static void EditProto(Proto proto) { if (proto is ItemProto itemProto) { if (itemUpgradeList.ContainsKey(itemProto.ID)) { itemProto.Grade = itemUpgradeList[itemProto.ID]; SignalNetwork.logDebug("Changing grade of " + itemProto.name); } if (itemProto.Grade == 0 || items.ContainsKey(itemProto.ID)) { return; } foreach (var kv in items) { if (kv.Value.Grade == 0 || kv.Value.Upgrades == null) { continue; } if (itemProto.Grade > kv.Value.Upgrades.Length) { continue; } if (kv.Value.Upgrades[itemProto.Grade - 1] == itemProto.ID) { itemProto.Upgrades = kv.Value.Upgrades; SignalNetwork.logDebug("Updating upgrade list of " + itemProto.name); } } } }
public static bool Prefix(ref string filename) { if (filename.Contains(Registry.keyWord) && !Registry.vertaFolder.Equals("")) { filename = $"{Registry.vertaFolder}/{filename}"; SignalNetwork.logDebug("Loading my verta file " + filename); } return(true); }
public static void Postfix(ItemProto[,] ___protos) { SignalNetwork.logDebug("Patching UIBuildMenu"); foreach (var kv in Registry.items) { int buildIndex = kv.Value.BuildIndex; if (buildIndex > 0) { int num = buildIndex / 100; int num2 = buildIndex % 100; if (num <= 12 && num2 <= 12) { ___protos[num, num2] = kv.Value; } } } }
public static bool Prefix(ref string path, Type systemTypeInstance, ref UnityEngine.Object __result) { if (path.Contains(Registry.keyWord) && Registry.bundle != null) { SignalNetwork.logDebug("Loading my asset " + path); if (Registry.bundle.Contains(path + ".prefab") && systemTypeInstance == typeof(GameObject)) { Material[] mats = Registry.modelMats[path]; UnityEngine.Object myPrefab = Registry.bundle.LoadAsset(path + ".prefab"); if (myPrefab != null) { MeshRenderer[] renderers = ((GameObject)myPrefab).GetComponentsInChildren <MeshRenderer>(); foreach (MeshRenderer renderer in renderers) { Material[] newMats = new Material[renderer.sharedMaterials.Length]; for (int i = 0; i < newMats.Length; i++) { newMats[i] = mats[i]; } renderer.sharedMaterials = newMats; } } __result = myPrefab; return(false); } if (Registry.bundle.Contains(path + ".png")) { UnityEngine.Object mySprite = Registry.bundle.LoadAsset(path + ".png", systemTypeInstance); __result = mySprite; return(false); } } return(true); }