Fix brittle hollow north pole projection platform

This commit is contained in:
Noah Pilarski 2022-08-07 15:59:47 -04:00
parent 6564b3c083
commit 243452dca3
3 changed files with 102 additions and 2 deletions

View File

@ -17,14 +17,23 @@ namespace NewHorizons.Handlers
{
_customPlatformIDs = new Dictionary<string, NomaiRemoteCameraPlatform.ID>();
}
public static string GetPlatformIDName(NomaiRemoteCameraPlatform.ID id)
{
foreach (var pair in _customPlatformIDs)
{
if (pair.Value == id) return TranslationHandler.GetTranslation(pair.Key, TranslationHandler.TextType.UI);
}
return string.Empty;
return id.ToString();
}
public static string GetPlatformIDKey(NomaiRemoteCameraPlatform.ID id)
{
foreach (var pair in _customPlatformIDs)
{
if (pair.Value == id) return pair.Key;
}
return id.ToString();
}
public static NomaiRemoteCameraPlatform.ID GetPlatformID(string id)

View File

@ -365,6 +365,11 @@ namespace NewHorizons
behaviour.SetSector(vm);
}
}
//Fix brittle hollow north pole projection platform
var northPoleSurface = SearchUtilities.Find("BrittleHollow_Body/Sector_BH/Sector_NorthHemisphere/Sector_NorthPole/Sector_NorthPoleSurface").GetComponent<Sector>();
var remoteViewer = SearchUtilities.Find("BrittleHollow_Body/Sector_BH/Sector_NorthHemisphere/Sector_NorthPole/Sector_NorthPoleSurface/Interactables_NorthPoleSurface/LowBuilding/Prefab_NOM_RemoteViewer").GetComponent<NomaiRemoteCameraPlatform>();
remoteViewer._visualSector = northPoleSurface;
}
try

View File

@ -62,5 +62,91 @@ namespace NewHorizons.Patches
}
return false;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(NomaiRemoteCameraStreaming), nameof(NomaiRemoteCameraStreaming.NomaiRemoteCameraPlatformIDToSceneName))]
public static bool NomaiRemoteCameraStreaming_NomaiRemoteCameraPlatformIDToSceneName(NomaiRemoteCameraPlatform.ID id, out string __result)
{
switch (id)
{
case NomaiRemoteCameraPlatform.ID.SunStation:
__result = "SolarSystem";
break;
case NomaiRemoteCameraPlatform.ID.HGT_TimeLoop:
case NomaiRemoteCameraPlatform.ID.HGT_TLE:
__result = "HourglassTwins";
break;
case NomaiRemoteCameraPlatform.ID.TH_Mine:
case NomaiRemoteCameraPlatform.ID.THM_EyeLocator:
__result = "TimberHearth";
break;
case NomaiRemoteCameraPlatform.ID.BH_Observatory:
case NomaiRemoteCameraPlatform.ID.BH_GravityCannon:
case NomaiRemoteCameraPlatform.ID.BH_QuantumFragment:
case NomaiRemoteCameraPlatform.ID.BH_BlackHoleForge:
case NomaiRemoteCameraPlatform.ID.BH_NorthPole:
case NomaiRemoteCameraPlatform.ID.VM_Interior:
__result = "BrittleHollow";
break;
case NomaiRemoteCameraPlatform.ID.GD_ConstructionYardIsland1:
case NomaiRemoteCameraPlatform.ID.GD_ConstructionYardIsland2:
case NomaiRemoteCameraPlatform.ID.GD_StatueIsland:
case NomaiRemoteCameraPlatform.ID.GD_ProbeCannonSunkenModule:
case NomaiRemoteCameraPlatform.ID.GD_ProbeCannonDamagedModule:
case NomaiRemoteCameraPlatform.ID.GD_ProbeCannonIntactModule:
__result = "GiantsDeep";
break;
case NomaiRemoteCameraPlatform.ID.None:
__result = "";
break;
default:
var key = RemoteHandler.GetPlatformIDKey(id);
switch (key.Substring(0, key.IndexOf("_")))
{
case "SS":
__result = "SolarSystem";
break;
case "HGT":
case "CT":
case "TT":
__result = "HourglassTwins";
break;
case "CO":
__result = "Comet";
break;
case "QM":
__result = "QuantumMoon";
break;
case "GD":
__result = "GiantsDeep";
break;
case "BH":
case "VM":
__result = "BrittleHollow";
break;
case "TH":
case "THM":
__result = "TimberHearth";
break;
case "DB":
__result = "DarkBramble";
break;
case "WH":
__result = "WhiteHole";
break;
case "RW":
__result = "RingWorld";
break;
case "DW":
__result = "DreamWorld";
break;
default:
__result = key;
break;
}
break;
}
return false;
}
}
}