private void OnEnable() { ISceneObject sceneObject = target as ISceneObject; FieldInfo fieldInfoObj = sceneObject.GetType().GetField("uniqueName", BindingFlags.NonPublic | BindingFlags.Instance); string uniqueName = fieldInfoObj.GetValue(sceneObject) as string; if (string.IsNullOrEmpty(uniqueName)) { sceneObject.SetSuitableName(); } }
private void SceneObjectAutomaticSetup(GameObject selectedSceneObject, Type valueType) { ISceneObject sceneObject = selectedSceneObject.GetComponent <TrainingSceneObject>() ?? selectedSceneObject.AddComponent <TrainingSceneObject>(); if (RuntimeConfigurator.Configuration.SceneObjectRegistry.ContainsGuid(sceneObject.Guid) == false) { // Sets a UniqueName and then registers it. sceneObject.SetSuitableName(); } if (typeof(ISceneObjectProperty).IsAssignableFrom(valueType)) { sceneObject.AddTrainingProperty(valueType); } isUndoOperation = true; }