/// <summary>Update selection for instant preview.</summary> void EditModeSelect(UpgradeObjectSettings obj) { if (transform.childCount > 1) { Debug.LogError("Wrong amount of children in Transform."); return; } else if (transform.childCount == 1) { DestroyImmediate(transform.GetChild(0).gameObject); } if (obj == null) { throw new UnityException("Object you want to select is null"); } // Reset TransformSettingsType so it won't f**k up stuff. if (type == TransformSettingsType.UpdateBaseTransform) { type = 0; } Debug.Log("Updating Selection"); CurrentObject = obj.Prefab; var newObj = UnityEditor.PrefabUtility.InstantiatePrefab(obj.Prefab, transform); newObj.name = newObj.name.Replace("(Clone)", ""); transform.localScale = obj.LocalScale; transform.position = OriginalPosition + obj.LocalPosition; }
void AddSettingsForNewPrefabs() { foreach (var prefab in prefabsToAddToTheList) { if (ObjectSettings.Any(x => x.Prefab == prefab)) { Debug.LogWarning($"{prefab.name} is already contained in the list. Skipping..."); continue; } var newSettings = new UpgradeObjectSettings(prefab); ObjectSettings.Add(newSettings); } if (prefabsToAddToTheList.Count != 0) { OriginalPosition = transform.position; prefabsToAddToTheList.Clear(); } }