|
|
@@ -214,14 +214,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("BoxCollider", "New scene object");
|
|
|
+ so = new SceneObject("BoxCollider");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<BoxCollider>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a BoxCollider component");
|
|
|
- so.AddComponent<BoxCollider>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a BoxCollider component");
|
|
|
+ so.AddComponent<BoxCollider>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -236,14 +240,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("SphereCollider", "New scene object");
|
|
|
+ so = new SceneObject("SphereCollider");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<SphereCollider>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a SphereCollider component");
|
|
|
- so.AddComponent<SphereCollider>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a SphereCollider component");
|
|
|
+ so.AddComponent<SphereCollider>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -258,14 +266,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("CapsuleCollider", "New scene object");
|
|
|
+ so = new SceneObject("CapsuleCollider");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<CapsuleCollider>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a CapsuleCollider component");
|
|
|
- so.AddComponent<CapsuleCollider>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a CapsuleCollider component");
|
|
|
+ so.AddComponent<CapsuleCollider>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -280,14 +292,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("MeshCollider", "New scene object");
|
|
|
+ so = new SceneObject("MeshCollider");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<MeshCollider>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a MeshCollider component");
|
|
|
- so.AddComponent<MeshCollider>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a MeshCollider component");
|
|
|
+ so.AddComponent<MeshCollider>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -302,14 +318,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("PlaneCollider", "New scene object");
|
|
|
+ so = new SceneObject("PlaneCollider");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<PlaneCollider>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a PlaneCollider component");
|
|
|
- so.AddComponent<PlaneCollider>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a PlaneCollider component");
|
|
|
+ so.AddComponent<PlaneCollider>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -324,14 +344,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("Rigidbody", "New scene object");
|
|
|
+ so = new SceneObject("Rigidbody");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<Rigidbody>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a Rigidbody component");
|
|
|
- so.AddComponent<Rigidbody>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a Rigidbody component");
|
|
|
+ so.AddComponent<Rigidbody>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -346,14 +370,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("CharacterController", "New scene object");
|
|
|
+ so = new SceneObject("CharacterController");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<CharacterController>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a CharacterController component");
|
|
|
- so.AddComponent<CharacterController>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a CharacterController component");
|
|
|
+ so.AddComponent<CharacterController>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -368,14 +396,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("FixedJoint", "New scene object");
|
|
|
+ so = new SceneObject("FixedJoint");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<FixedJoint>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a FixedJoint component");
|
|
|
- so.AddComponent<FixedJoint>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a FixedJoint component");
|
|
|
+ so.AddComponent<FixedJoint>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -390,14 +422,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("DistanceJoint", "New scene object");
|
|
|
+ so = new SceneObject("DistanceJoint");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<DistanceJoint>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a DistanceJoint component");
|
|
|
- so.AddComponent<DistanceJoint>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a DistanceJoint component");
|
|
|
+ so.AddComponent<DistanceJoint>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -412,14 +448,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("HingeJoint", "New scene object");
|
|
|
+ so = new SceneObject("HingeJoint");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<HingeJoint>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a HingeJoint component");
|
|
|
- so.AddComponent<HingeJoint>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a HingeJoint component");
|
|
|
+ so.AddComponent<HingeJoint>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -434,14 +474,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("SphericalJoint", "New scene object");
|
|
|
+ so = new SceneObject("SphericalJoint");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<SphericalJoint>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a SphericalJoint component");
|
|
|
- so.AddComponent<SphericalJoint>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a SphericalJoint component");
|
|
|
+ so.AddComponent<SphericalJoint>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -456,14 +500,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("SliderJoint", "New scene object");
|
|
|
+ so = new SceneObject("SliderJoint");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<SliderJoint>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a SliderJoint component");
|
|
|
- so.AddComponent<SliderJoint>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a SliderJoint component");
|
|
|
+ so.AddComponent<SliderJoint>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -478,14 +526,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("D6Joint", "New scene object");
|
|
|
+ so = new SceneObject("D6Joint");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<D6Joint>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a D6Joint component");
|
|
|
- so.AddComponent<D6Joint>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a D6Joint component");
|
|
|
+ so.AddComponent<D6Joint>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -500,14 +552,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("AudioListener", "New scene object");
|
|
|
+ so = new SceneObject("AudioListener");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<AudioListener>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a AudioListener component");
|
|
|
- so.AddComponent<AudioListener>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a AudioListener component");
|
|
|
+ so.AddComponent<AudioListener>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -522,14 +578,18 @@ namespace bs.Editor
|
|
|
SceneObject so = Selection.SceneObject;
|
|
|
if (so == null)
|
|
|
{
|
|
|
- so = UndoRedo.CreateSO("AudioSource", "New scene object");
|
|
|
+ so = new SceneObject("AudioSource");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+ so.AddComponent<AudioSource>();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
}
|
|
|
-
|
|
|
- GameObjectUndo.RecordSceneObject(so, false, "Added a AudioSource component");
|
|
|
- so.AddComponent<AudioSource>();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameObjectUndo.RecordSceneObject(so, false, "Added a AudioSource component");
|
|
|
+ so.AddComponent<AudioSource>();
|
|
|
+ }
|
|
|
|
|
|
GameObjectUndo.ResolveDiffs();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
@@ -578,9 +638,8 @@ namespace bs.Editor
|
|
|
[ToolbarItem("SceneObject", ToolbarIcon.NewSceneObject, "Creates a new empty scene object", 1601, true)]
|
|
|
private static void AddEmptySO()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("SceneObject", "New scene object");
|
|
|
+ UndoRedo.CreateSO("SceneObject", "New scene object");
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|
|
|
@@ -592,11 +651,14 @@ namespace bs.Editor
|
|
|
[ToolbarItem("Camera", ToolbarIcon.NewCamera, "New camera", 1600, false)]
|
|
|
private static void AddCameraSO()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("Camera", "Created a Camera");
|
|
|
+ SceneObject so = new SceneObject("Camera");
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
+
|
|
|
Camera cam = so.AddComponent<Camera>();
|
|
|
cam.Main = true;
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
+ GameObjectUndo.ResolveDiffs();
|
|
|
+
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|
|
|
@@ -608,10 +670,12 @@ namespace bs.Editor
|
|
|
[ToolbarItem("Renderable", ToolbarIcon.NewRenderable, "New renderable", 1599)]
|
|
|
private static void AddRenderableSO()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("Renderable", "Created a Renderable");
|
|
|
+ SceneObject so = new SceneObject("Renderable");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
so.AddComponent<Renderable>();
|
|
|
+ GameObjectUndo.ResolveDiffs();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|
|
|
@@ -622,10 +686,12 @@ namespace bs.Editor
|
|
|
[MenuItem("Scene Objects/Particle system", 8948)]
|
|
|
private static void AddParticleSystemSO()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("Particle system", "Created a ParticleSystem");
|
|
|
+ SceneObject so = new SceneObject("Particle system");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
so.AddComponent<ParticleSystem>();
|
|
|
+ GameObjectUndo.ResolveDiffs();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|
|
|
@@ -636,10 +702,12 @@ namespace bs.Editor
|
|
|
[MenuItem("Scene Objects/Decal", 8947)]
|
|
|
private static void AddDecalSO()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("Decal", "Created a Decal");
|
|
|
+ SceneObject so = new SceneObject("Decal");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
so.AddComponent<Decal>();
|
|
|
+ GameObjectUndo.ResolveDiffs();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|
|
|
@@ -651,11 +719,13 @@ namespace bs.Editor
|
|
|
[ToolbarItem("Point light", ToolbarIcon.NewPointLight, "New radial light", 1598)]
|
|
|
private static void AddPointLightSO()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("Radial light", "Created a Light");
|
|
|
+ SceneObject so = new SceneObject("Radial light");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
Light light = so.AddComponent<Light>();
|
|
|
light.Type = LightType.Radial;
|
|
|
+ GameObjectUndo.ResolveDiffs();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|
|
|
@@ -667,11 +737,13 @@ namespace bs.Editor
|
|
|
[ToolbarItem("Spot light", ToolbarIcon.NewSpotLight, "New spot light", 1597)]
|
|
|
private static void AddSpotLightSO()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("Spot light", "Created a Light");
|
|
|
+ SceneObject so = new SceneObject("Spot light");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
Light light = so.AddComponent<Light>();
|
|
|
light.Type = LightType.Spot;
|
|
|
+ GameObjectUndo.ResolveDiffs();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|
|
|
@@ -683,11 +755,13 @@ namespace bs.Editor
|
|
|
[ToolbarItem("Directional light", ToolbarIcon.NewDirLight, "New directional light", 1596)]
|
|
|
private static void AddDirectionalLightSO()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("Directional light", "Created a Light");
|
|
|
+ SceneObject so = new SceneObject("Directional light");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
Light light = so.AddComponent<Light>();
|
|
|
light.Type = LightType.Directional;
|
|
|
+ GameObjectUndo.ResolveDiffs();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|
|
|
@@ -698,10 +772,12 @@ namespace bs.Editor
|
|
|
[MenuItem("Scene Objects/GUI widget", 8850, true)]
|
|
|
private static void AddGUIWidgetSO()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("GUIWidget", "Created a GUIWidget");
|
|
|
+ SceneObject so = new SceneObject("GUI widget");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
so.AddComponent<GUIWidget>();
|
|
|
+ GameObjectUndo.ResolveDiffs();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|
|
|
@@ -713,11 +789,13 @@ namespace bs.Editor
|
|
|
[ToolbarItem("Cube", ToolbarIcon.NewCube, "Creates a scene object with a box primitive", 1700, true)]
|
|
|
private static void Add3DBox()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("Box", "Created a box");
|
|
|
+ SceneObject so = new SceneObject("Box");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
Renderable renderable = so.AddComponent<Renderable>();
|
|
|
renderable.Mesh = Builtin.Box;
|
|
|
+ GameObjectUndo.ResolveDiffs();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|
|
|
@@ -729,11 +807,13 @@ namespace bs.Editor
|
|
|
[ToolbarItem("Sphere", ToolbarIcon.NewSphere, "Creates a scene object with a sphere primitive", 1699)]
|
|
|
private static void Add3DSphere()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("Sphere", "Created a sphere");
|
|
|
+ SceneObject so = new SceneObject("Sphere");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
Renderable renderable = so.AddComponent<Renderable>();
|
|
|
renderable.Mesh = Builtin.Sphere;
|
|
|
+ GameObjectUndo.ResolveDiffs();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|
|
|
@@ -745,11 +825,13 @@ namespace bs.Editor
|
|
|
[ToolbarItem("Cone", ToolbarIcon.NewCone, "Creates a scene object with a cone primitive", 1698)]
|
|
|
private static void Add3DCone()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("Cone", "Created a cone");
|
|
|
+ SceneObject so = new SceneObject("Cone");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
Renderable renderable = so.AddComponent<Renderable>();
|
|
|
renderable.Mesh = Builtin.Cone;
|
|
|
+ GameObjectUndo.ResolveDiffs();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|
|
|
@@ -761,11 +843,13 @@ namespace bs.Editor
|
|
|
[ToolbarItem("Quad", ToolbarIcon.NewQuad, "Creates a scene object with a quad primitive", 1697)]
|
|
|
private static void Add3DQuad()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("Quad", "Created a quad");
|
|
|
+ SceneObject so = new SceneObject("Quad");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
Renderable renderable = so.AddComponent<Renderable>();
|
|
|
renderable.Mesh = Builtin.Quad;
|
|
|
+ GameObjectUndo.ResolveDiffs();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|
|
|
@@ -776,11 +860,13 @@ namespace bs.Editor
|
|
|
[MenuItem("Scene Objects/3D primitives/Disc", 8096)]
|
|
|
private static void Add3DDisc()
|
|
|
{
|
|
|
- SceneObject so = UndoRedo.CreateSO("Disc", "Created a disc");
|
|
|
+ SceneObject so = new SceneObject("Disc");
|
|
|
+
|
|
|
+ GameObjectUndo.RecordNewSceneObject(so);
|
|
|
Renderable renderable = so.AddComponent<Renderable>();
|
|
|
renderable.Mesh = Builtin.Disc;
|
|
|
+ GameObjectUndo.ResolveDiffs();
|
|
|
|
|
|
- Selection.SceneObject = so;
|
|
|
FocusOnHierarchyOrScene();
|
|
|
EditorApplication.SetSceneDirty();
|
|
|
}
|