Skip to content

Commit 9e8c05e

Browse files
committed
Merge branch 'beta'
2 parents fb8b9b4 + a416492 commit 9e8c05e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+1121
-959
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@ Library/*
1515
/.vs/
1616
/obj/
1717
*.sln
18-
AssetDump.txt
18+
AssetDump.txt
19+
UserSettings/EditorUserSettings.asset

Assets/MapEditor/Editor/API/Elements.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ public static void ToolbarLabel(GUIContent guiContent)
2222
GUILayout.Label(guiContent, EditorStyles.toolbarButton);
2323
}
2424

25+
public static bool ToolbarCheckBox(GUIContent guiContent, bool toggle)
26+
{
27+
return EditorGUILayout.ToggleLeft(guiContent, toggle, "ToolbarButton");
28+
}
29+
2530
public static void ToolbarLabelField(GUIContent label, GUIContent label2)
2631
{
2732
EditorGUILayout.LabelField(label, label2);

Assets/MapEditor/Editor/API/Functions.cs

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using UnityEditor;
55
using RustMapEditor.Variables;
66
using static RustMapEditor.Data.TerrainManager;
7-
using RustMapEditor.Data;
87

98
namespace RustMapEditor.UI
109
{
@@ -96,7 +95,7 @@ public static void LoadMapPanel()
9695
return;
9796
var world = new WorldSerialization();
9897
world.Load(loadFile);
99-
MapManager.Load(world, loadFile);
98+
MapManager.Load(WorldConverter.WorldToTerrain(world), loadFile);
10099
ReloadTreeViews();
101100
}
102101

@@ -112,7 +111,6 @@ public static void SaveMapPanel(string mapName = "custommap")
112111
saveFile = EditorUtility.SaveFilePanel("Save Map File", saveFile, mapName, "map");
113112
if (string.IsNullOrEmpty(saveFile))
114113
return;
115-
ProgressBarManager.Display("Saving Map: " + saveFile, "Saving Heightmap ", 0.1f);
116114
MapManager.Save(saveFile);
117115
}
118116

@@ -208,6 +206,10 @@ public static void EditorSettings()
208206
if (EditorGUI.EndChangeCheck())
209207
SetWaterTransparency(SettingsManager.WaterTransparency);
210208

209+
Elements.BeginToolbarHorizontal();
210+
SettingsManager.LoadBundleOnProjectLoad = Elements.ToolbarCheckBox(ToolTips.loadBundleOnProjectLoad, SettingsManager.LoadBundleOnProjectLoad);
211+
Elements.EndToolbarHorizontal();
212+
211213
}
212214
#endregion
213215

@@ -216,36 +218,11 @@ public static void PrefabTools(ref bool deleteOnExport, string lootCrateSaveFile
216218
{
217219
Elements.MiniBoldLabel(ToolTips.toolsLabel);
218220

219-
Elements.BeginToolbarHorizontal();
220-
deleteOnExport = Elements.ToolbarToggle(ToolTips.deleteOnExport, deleteOnExport);
221-
if (Elements.ToolbarButton(ToolTips.exportMapLootCrates))
222-
{
223-
lootCrateSaveFile = EditorUtility.SaveFilePanel("Export LootCrates", lootCrateSaveFile, "LootCrateData", "json");
224-
if (!String.IsNullOrEmpty(lootCrateSaveFile))
225-
MapManager.ExportLootCrates(lootCrateSaveFile, deleteOnExport);
226-
}
227-
if (Elements.ToolbarButton(ToolTips.exportMapPrefabs))
228-
{
229-
mapPrefabSaveFile = EditorUtility.SaveFilePanel("Export Map Prefabs", mapPrefabSaveFile, "MapData", "json");
230-
if (!String.IsNullOrEmpty(mapPrefabSaveFile))
231-
MapManager.ExportMapPrefabs(mapPrefabSaveFile, deleteOnExport);
232-
}
233-
Elements.EndToolbarHorizontal();
234-
235-
Elements.BeginToolbarHorizontal();
236-
if (Elements.ToolbarButton(ToolTips.hidePrefabsInRustEdit))
237-
MapManager.HidePrefabsInRustEdit();
238-
if (Elements.ToolbarButton(ToolTips.breakRustEditPrefabs))
239-
MapManager.BreakRustEditCustomPrefabs();
240-
if (Elements.ToolbarButton(ToolTips.groupRustEditPrefabs))
241-
MapManager.GroupRustEditCustomPrefabs();
242-
Elements.EndToolbarHorizontal();
243-
244221
Elements.BeginToolbarHorizontal();
245222
if (Elements.ToolbarButton(ToolTips.deleteMapPrefabs))
246-
MapManager.RemoveMapObjects(true, false);
223+
PrefabManager.DeletePrefabs(PrefabManager.CurrentMapPrefabs);
247224
if (Elements.ToolbarButton(ToolTips.deleteMapPaths))
248-
MapManager.RemoveMapObjects(false, true);
225+
PathManager.DeletePaths(PathManager.CurrentMapPaths);
249226
Elements.EndToolbarHorizontal();
250227
}
251228
public static void AssetBundle()
@@ -751,6 +728,14 @@ public static void ToggleLights(PrefabDataHolder target)
751728
target.ToggleLights();
752729
Elements.EndToolbarHorizontal();
753730
}
731+
732+
public static void BreakPrefab(PrefabDataHolder target)
733+
{
734+
Elements.BeginToolbarHorizontal();
735+
if (Elements.ToolbarButton(ToolTips.breakPrefab))
736+
target.BreakPrefab();
737+
Elements.EndToolbarHorizontal();
738+
}
754739
#endregion
755740

756741
#region Functions
@@ -828,7 +813,7 @@ public static void NodeGraphToolbar(XNode.NodeGraph nodeGraph)
828813
}
829814
#endregion
830815

831-
#region PrefabsList
816+
#region TreeViews
832817
public static void DisplayPrefabName(string name)
833818
{
834819
Elements.BeginToolbarHorizontal();
@@ -863,6 +848,23 @@ public static void SelectPrefabPaths(PrefabsListTreeView treeView, ref bool show
863848
treeView.RefreshTreeView(showAllPrefabs);
864849
Elements.EndToolbarHorizontal();
865850
}
851+
852+
853+
public static void HierachyOptions(PrefabDataHolder[] prefabs, ref string name)
854+
{
855+
Elements.MiniBoldLabel(ToolTips.hierachyOptionsLabel);
856+
857+
Elements.BeginToolbarHorizontal();
858+
name = Elements.ToolbarTextField(name);
859+
if (Elements.ToolbarButton(ToolTips.hierachyRename))
860+
PrefabManager.RenamePrefabs(prefabs, name);
861+
Elements.EndToolbarHorizontal();
862+
863+
Elements.BeginToolbarHorizontal();
864+
if (Elements.ToolbarButton(ToolTips.hierachyDelete))
865+
PrefabManager.DeletePrefabs(prefabs);
866+
Elements.EndToolbarHorizontal();
867+
}
866868
#endregion
867869

868870
#region CreateNewMap
@@ -891,7 +893,7 @@ public static void NewMapOptions(ref int mapSize, ref float landHeight, ref Laye
891893
case 1:
892894
return;
893895
case 2:
894-
Functions.SaveMapPanel();
896+
SaveMapPanel();
895897
break;
896898
}
897899
MapManager.CreateMap(mapSize, TerrainSplat.TypeToIndex((int)layers.Ground), TerrainBiome.TypeToIndex((int)layers.Biome), landHeight);
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
using UnityEditor;
2+
using UnityEngine;
3+
4+
public static class CentredToolManager
5+
{
6+
public static Quaternion TransformRotation { get => Selection.transforms.Length == 1 ? Selection.activeTransform.rotation : Quaternion.identity; }
7+
8+
public static Vector3 HandlePos
9+
{
10+
get => HandleUtility.GUIPointToWorldRay(new Vector2(SceneView.lastActiveSceneView.camera.pixelWidth, SceneView.lastActiveSceneView.camera.pixelHeight) / 2).GetPoint(10f);
11+
}
12+
13+
public static bool ObjectsSelected { get => Selection.transforms.Length > 0 ? true : false; }
14+
15+
public static int SelectionLength { get => Selection.transforms.Length; }
16+
}

Assets/MapEditor/WorldData/CustomPrefabData.cs.meta renamed to Assets/MapEditor/Editor/Managers/CentredToolManager.cs.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/MapEditor/Editor/Managers/SceneViewManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public static bool GetMouseScenePos(out RaycastHit hit)
3333
private static void SpawnPrefab()
3434
{
3535
if (GetMouseScenePos(out RaycastHit hit))
36-
PrefabManager.Spawn(hit.point);
36+
PrefabManager.SpawnPrefab(hit.point);
3737
}
3838

3939
private static void OnMouseDown()

Assets/MapEditor/Editor/Managers/ShortcutManager.cs

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
using RustMapEditor.UI;
44
using RustMapEditor.Data;
55
using RustMapEditor.Variables;
6+
using UnityEngine;
7+
using UnityEditor.EditorTools;
68

79
public static class ShortcutManager
810
{
@@ -30,22 +32,16 @@ public static void CentreSceneView()
3032
MapManager.CentreSceneView(SceneView.lastActiveSceneView);
3133
}
3234

33-
[Shortcut("RustMapEditor/Clear Progress Bar")]
34-
public static void ClearProgressBar()
35-
{
36-
ProgressBarManager.Clear();
37-
}
38-
3935
[Shortcut("RustMapEditor/Clear Map Prefabs")]
4036
public static void ClearMapPrefabs()
4137
{
42-
MapManager.RemoveMapObjects(true);
38+
PrefabManager.DeletePrefabs(PrefabManager.CurrentMapPrefabs);
4339
}
4440

4541
[Shortcut("RustMapEditor/Clear Map Paths")]
4642
public static void ClearMapPaths()
4743
{
48-
MapManager.RemoveMapObjects(false, true);
44+
PathManager.DeletePaths(PathManager.CurrentMapPaths);
4945
}
5046

5147
[Shortcut("RustMapEditor/Clear Layer")]
@@ -65,4 +61,22 @@ public static void InvertLand()
6561
{
6662
MapManager.InvertHeightmap(Selections.Terrains.Land);
6763
}
64+
65+
[Shortcut("RustMapEditor/Move Tool", KeyCode.W, ShortcutModifiers.Shift)]
66+
public static void SelectMoveTool()
67+
{
68+
EditorTools.SetActiveTool(typeof(MoveToolCentred));
69+
}
70+
71+
[Shortcut("RustMapEditor/Rotate Tool", KeyCode.E, ShortcutModifiers.Shift)]
72+
public static void SelectRotateTool()
73+
{
74+
EditorTools.SetActiveTool(typeof(RotateToolCentred));
75+
}
76+
77+
[Shortcut("RustMapEditor/Scale Tool", KeyCode.R, ShortcutModifiers.Shift)]
78+
public static void SelectScaleTool()
79+
{
80+
EditorTools.SetActiveTool(typeof(ScaleToolCentred));
81+
}
6882
}

Assets/MapEditor/Editor/PrefabDataHolderEditor.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ public override void OnInspectorGUI()
1414
Functions.PrefabID(script);
1515
Functions.SnapToGround(script);
1616
Functions.ToggleLights(script);
17+
//Functions.BreakPrefab(script);
1718
}
1819
}
Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
using UnityEngine;
2+
using UnityEditor;
3+
using UnityEditor.EditorTools;
4+
using UnityEngine.InputSystem;
5+
6+
[EditorTool("Move Tool Centred")]
7+
class MoveToolCentred : EditorTool
8+
{
9+
Vector3 LastPosition { get; set; }
10+
11+
GUIContent m_IconContent;
12+
13+
void OnEnable()
14+
{
15+
m_IconContent = new GUIContent()
16+
{
17+
image = EditorGUIUtility.IconContent("d_MoveTool").image,
18+
text = "Move Tool Centred",
19+
tooltip = "Move Tool Centred"
20+
};
21+
}
22+
23+
public override GUIContent toolbarIcon
24+
{
25+
get { return m_IconContent; }
26+
}
27+
28+
public override void OnToolGUI(EditorWindow window)
29+
{
30+
if (!CentredToolManager.ObjectsSelected)
31+
return;
32+
33+
EditorGUI.BeginChangeCheck();
34+
Vector3 Position = Handles.PositionHandle(CentredToolManager.HandlePos, Tools.pivotRotation == PivotRotation.Global ? Quaternion.identity : CentredToolManager.TransformRotation);
35+
if (EditorGUI.EndChangeCheck())
36+
{
37+
Vector3 Delta = Position - LastPosition;
38+
Undo.RecordObjects(Selection.transforms, "Move Tool Centred");
39+
foreach (var transform in Selection.transforms)
40+
transform.position += Delta;
41+
LastPosition = Position;
42+
}
43+
if (!Mouse.current.leftButton.isPressed)
44+
LastPosition = CentredToolManager.HandlePos;
45+
}
46+
}

0 commit comments

Comments
 (0)