private static bool GuideObjectManager_DeleteAll(GuideObjectManager __instance, ref HashSet <GuideObject> ___hashSelectObject, ref Dictionary <Transform, GuideObject> ___dicGuideObject, ref Dictionary <Transform, Light> ___dicTransLight, ref Dictionary <GuideObject, Light> ___dicGuideLight) { if (IsStudio) { return(true); } ___hashSelectObject.Clear(); __instance.operationTarget = null; GameObject[] array = (from v in ___dicGuideObject where v.Value != null select v.Value.gameObject).ToArray(); for (int i = 0; i < array.Length; i++) { if (array[i] != null) { DestroyImmediate(array[i]); } } ___dicGuideObject.Clear(); ___dicTransLight.Clear(); ___dicGuideLight.Clear(); //Added null check if (__instance.drawLightLine != null) { __instance.drawLightLine.Clear(); } //Added null check if (__instance.guideInput != null) { __instance.guideInput.Stop(); } return(false); }
private static void FindAllPatch(GuideObjectManager __instance, Transform _target, int _dicKey, Dictionary<Transform, GuideObject> ___dicGuideObject, Dictionary<Transform, Light> ___dicTransLight) { if (___dicGuideObject.TryGetValue(_target, out var existing)) { Destroy(existing); ___dicGuideObject.Remove(_target); } if (___dicTransLight.TryGetValue(_target, out var existing2)) { Destroy(existing2); ___dicTransLight.Remove(_target); } }
private void FinishScale() { GuideObjectManager instance = Singleton <GuideObjectManager> .Instance; GuideCommand.EqualsInfo[] changeAmountInfo = (from v in Targets select new GuideCommand.EqualsInfo { dicKey = v.Key, oldValue = OldScale[v.Key], newValue = v.Value.changeAmount.scale }).ToArray(); Singleton <UndoRedoManager> .Instance.Push(new GuideCommand.ScaleEqualsCommand(changeAmountInfo)); KeyMode = Key.NONE; }