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);
            }
Ejemplo n.º 2
0
 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;
        }