//GameObject LastSelectObject; public void SelectObject(GameObject Obj) { int ObjectId = GetIdOfObject(Obj); bool contains = Selection.Ids.Contains(ObjectId); if (contains && !IsSelectionRemove() && !IsSelectionAdd()) { if (Time.time < LastClickTime + 0.2f) { CameraControler.FocusOnObject(Obj); } LastClickTime = Time.time; return; } //LastSelectObject = Obj; LastClickTime = Time.time; if (ObjectId >= 0) { Undo.Current.RegisterSelectionChange(); if (IsSelectionRemove()) { if (contains) { Selection.Ids.Remove(ObjectId); FinishSelectionChange(); } } else if (IsSelectionAdd()) { if (!contains) { Selection.Ids.Add(ObjectId); FinishSelectionChange(); } } else { if (Selection.Ids.Count == 1 && Selection.Ids[0] == ObjectId) { } else { Selection.Ids = new List <int>(); Selection.Ids.Add(ObjectId); FinishSelectionChange(); } } } }