Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions WorldEditor.sln.DotSettings.user
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbe1fafdce2064924a5def5f871c8c46e3bac00_003F5f_003F118fe13a_003FExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AFile_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fcafb29d5233847fbb4edcf8d7c32b1e3299c90_003F4f_003Fbf149f2b_003FFile_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AFindGameObject_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbe1fafdce2064924a5def5f871c8c46e3bac00_003F70_003Fff1e917d_003FFindGameObject_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AFlingUtils_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbe1fafdce2064924a5def5f871c8c46e3bac00_003Fd6_003F9f77a7dd_003FFlingUtils_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AFsmEventTarget_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F29eb59fa5c9943cd8f336db074533d3133e00_003F51_003F57d2ad37_003FFsmEventTarget_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AFsmGameObject_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F29eb59fa5c9943cd8f336db074533d3133e00_003Fa7_003F017706a3_003FFsmGameObject_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AFsmOwnerDefault_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F29eb59fa5c9943cd8f336db074533d3133e00_003Fc7_003F81bf87cb_003FFsmOwnerDefault_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
Expand All @@ -91,6 +92,7 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGameManager_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbe1fafdce2064924a5def5f871c8c46e3bac00_003F5f_003F0caaeb65_003FGameManager_002Ecs_002Fz_003A2_002D0/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGameObjectUtils_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F41eee9e381904f2dab4b381ef1c4fc814fa00_003F98_003F350af537_003FGameObjectUtils_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGameObject_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe1951b0a402e4a7896bf9f9091343824116800_003Ffe_003F0ef2dbd8_003FGameObject_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGeoControl_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbe1fafdce2064924a5def5f871c8c46e3bac00_003F2f_003Fefd3a61e_003FGeoControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGetAudioVolume_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbe1fafdce2064924a5def5f871c8c46e3bac00_003F06_003F144f5ab8_003FGetAudioVolume_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGetCanSeeHero_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbe1fafdce2064924a5def5f871c8c46e3bac00_003F2a_003Ff5a88161_003FGetCanSeeHero_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGetNailDamage_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbe1fafdce2064924a5def5f871c8c46e3bac00_003F93_003Ffd73bce5_003FGetNailDamage_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
Expand Down Expand Up @@ -134,12 +136,14 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIPacket_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fd369a8d0554833c6240d5488237d2765c20e78ca13e345d542b1fc5a440c73_003FIPacket_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIServerAddonNetworkReceiver_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F826c2eb5f3c1d9634095af2d25ba4efecb8a3cc8cbe7c094ada57f6523a42b_003FIServerAddonNetworkReceiver_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIServerAddonNetworkSender_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fb1cf8cf747e51ace6ab313b86478643d3145bec37465a1555566343f1596b9_003FIServerAddonNetworkSender_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AItemHelper_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe12bc71c24e844b4adac9a997f2dbc4c1e000_003Fa1_003F97ea2eb9_003FItemHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AJellyEgg_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbe1fafdce2064924a5def5f871c8c46e3bac00_003Fec_003F012520c6_003FJellyEgg_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AJsonConverterAttribute_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F38552c99524046d5bbe92b16d16688aca7a00_003Ff8_003Fe6ceab8c_003FJsonConverterAttribute_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AJsonConverter_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F38552c99524046d5bbe92b16d16688aca7a00_003F91_003F5ace8712_003FJsonConverter_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AJsonConvert_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F38552c99524046d5bbe92b16d16688aca7a00_003Fc1_003F005d5947_003FJsonConvert_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AJsonSerializer_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F38552c99524046d5bbe92b16d16688aca7a00_003F80_003F1f1aa087_003FJsonSerializer_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AJsonWriter_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F38552c99524046d5bbe92b16d16688aca7a00_003Fba_003Fb156c958_003FJsonWriter_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ALanguage_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbe1fafdce2064924a5def5f871c8c46e3bac00_003Ff1_003Ff946c0c9_003FLanguage_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ALayoutRoot_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fb8a5ae686eb2c2b08a6894e8503cbbded8d650ea26fcebd5dd5c7b97f36765f_003FLayoutRoot_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ALayout_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fd229964bec2c0cc7b6184234b4434353f568aea761b935ba754053bdbeed37_003FLayout_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ALineOfSightDetector_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbe1fafdce2064924a5def5f871c8c46e3bac00_003Ffb_003Fd8cbcf73_003FLineOfSightDetector_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
Expand Down
3 changes: 3 additions & 0 deletions WorldEditor/Architect/Architect.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
using Modding;
using Satchel;
using UnityEngine;
using UnityEngine.UI;
using Object = UnityEngine.Object;

namespace Architect;
Expand Down Expand Up @@ -112,6 +113,8 @@ public WorldEditorGlobalSettings OnSaveGlobal()
private static void InitializeLayout()
{
_editorLayout = new LayoutRoot(true, "Architect Editor");
_editorLayout.Canvas.GetComponent<CanvasScaler>().screenMatchMode = CanvasScaler.ScreenMatchMode.Expand;

EditorUIManager.Initialize(_editorLayout);

_menuLayout = new LayoutRoot(true, "Architect Menu")
Expand Down
4 changes: 2 additions & 2 deletions WorldEditor/Architect/Architect.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
<Product>Architect</Product>
<Description>A mod to add platforms, enemies and more to change areas in the game with an in-game level editor.</Description>
<Copyright>Copyright © Arun Kapila 2025</Copyright>
<AssemblyVersion>1.16.15.0</AssemblyVersion>
<FileVersion>1.16.15.0</FileVersion>
<AssemblyVersion>1.18.0.3</AssemblyVersion>
<FileVersion>1.18.0.3</FileVersion>
<OutputPath>bin\$(Configuration)\</OutputPath>
<LangVersion>latest</LangVersion>
</PropertyGroup>
Expand Down
8 changes: 5 additions & 3 deletions WorldEditor/Architect/Category/PrefabsCategory.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.Linq;
using Architect.Objects;
using Architect.Storage;
using Architect.UI;
Expand All @@ -12,7 +13,8 @@ internal class PrefabsCategory : ObjectCategory

public PrefabsCategory() : base("Prefabs")
{
foreach (var obj in SceneSaveLoader.Load("Prefabs"))
foreach (var obj in SceneSaveLoader.Load("Prefabs").Placements
.Where(obj => obj?.GetPlaceableObject() != null))
{
Prefabs.Add(new PrefabObject(obj));
Objects.Add(obj);
Expand All @@ -26,7 +28,7 @@ public static void TryAddPrefab()
var placement = placeable.MakePlacement();

Objects.Add(placement);
SceneSaveLoader.Save("Prefabs", Objects);
SceneSaveLoader.Save("Prefabs", new LevelData(Objects, []));

Prefabs.Add(new PrefabObject(placement));

Expand All @@ -38,7 +40,7 @@ public static void RemovePrefab(PrefabObject obj)
{
Prefabs.Remove(obj);
Objects.RemoveAll(placement => placement.GetId() == obj.GetId());
SceneSaveLoader.Save("Prefabs", Objects);
SceneSaveLoader.Save("Prefabs", new LevelData(Objects, []));

EditorUIManager.RefreshObjects();
EditorUIManager.RefreshButtons();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
using Architect.MultiplayerHook;
using HutongGames.PlayMaker;
using Modding;
using SFCore.Utils;
using UnityEngine;
using FsmUtil = Satchel.FsmUtil;

namespace Architect.Content.Elements.Custom.Behaviour;

public class ZoteTrophy : MonoBehaviour
{
private static GameObject _titleCard;
private static FsmString _titleCardData;
private bool _collected;
private float _collectedTime;
private bool _particlesStopped;
Expand Down Expand Up @@ -77,19 +75,33 @@ private void OnTriggerEnter2D(Collider2D other)

public static void Init()
{
_titleCard = GameCameras.instance.hudCamera.transform.GetChild(10).GetChild(0).gameObject;
_titleCardData = _titleCard.LocateMyFSM("Area Title Control").FsmVariables.FindFsmString("Area Event");

ModHooks.LanguageGetHook += (key, _, orig) =>
On.PlayMakerFSM.Awake += (orig, fsm) =>
{
if (key.EndsWith("_RawText_SUPER") || key.EndsWith("_RawText_SUB")) return "";
return key.EndsWith("_RawText_MAIN") ? key.Replace("_RawText_MAIN", "") : orig;
orig(fsm);

if (fsm.FsmName != "Area Title Control") return;

FsmUtil.InsertCustomAction(fsm, "Visited Check", f =>
{
if (_overrideAreaText)
{
f.SendEvent("UNVISITED");
f.FsmVariables.FindFsmString("Title Main").Value = _areaBody;
f.FsmVariables.FindFsmString("Title Sup").Value = "";
f.FsmVariables.FindFsmString("Title Sub").Value = "";
}
}, 0);
};
}

private static bool _overrideAreaText;
private static string _areaBody;

public static void WinScreen(string name)
{
_titleCardData.Value = name + "_RawText";
_titleCard.SetActive(true);
_overrideAreaText = true;
_areaBody = name;

AreaTitle.instance.gameObject.SetActive(true);
}
}
22 changes: 20 additions & 2 deletions WorldEditor/Architect/Content/Elements/Custom/RoomObjects.cs
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@ public static void Initialize()
CreateObjectRemover("door_remover", "Remove Transition", FindObjectsToDisable<TransitionPoint>)
.WithConfigGroup(ConfigGroup.Invisible)
.WithReceiverGroup(ReceiverGroup.Invisible),
CreateObjectRemover("renderer_remover", "Remove Renderer", FindObjectsToDisable<Renderer>)
.WithConfigGroup(ConfigGroup.Invisible)
.WithReceiverGroup(ReceiverGroup.Invisible),
CreateObjectRemover("enemy_remover", "Remove Enemy", FindObjectsToDisable<HealthManager>)
.WithConfigGroup(ConfigGroup.Invisible)
.WithReceiverGroup(ReceiverGroup.Invisible),
Expand All @@ -98,7 +101,22 @@ public static void Initialize()
if (config)
try
{
point = o.scene.FindGameObject(config.objectPath);
// First try the current scene
point = o.scene.FindGameObject(config.objectPath);

// If not found, search all other loaded scenes
if (point == null)
{
for (int i = 0; i < UnityEngine.SceneManagement.SceneManager.sceneCount; i++)
{
var scene = UnityEngine.SceneManagement.SceneManager.GetSceneAt(i);
if (scene != o.scene) // Skip the current scene since we already checked it
{
point = scene.FindGameObject(config.objectPath);
if (point != null) break;
}
}
}
}
catch (ArgumentException)
{
Expand All @@ -112,7 +130,7 @@ public static void Initialize()
ContentPacks.RegisterPack(edits);
}

private static Disabler[] FindObjectsToDisable<T>(GameObject disabler) where T : UnityEngine.Behaviour
private static Disabler[] FindObjectsToDisable<T>(GameObject disabler) where T : Component
{
var objects = disabler.scene.GetRootGameObjects()
.Where(obj => !obj.name.StartsWith("[Architect] "))
Expand Down
Loading