private void ReplaceGameObjects() { // Replace breakable shells with original ones. foreach (GameObject i in FindObjectsOfType <GameObject>() .Where(x => x.name.Contains("Ruins Fossil"))) { GameObject shell = Instantiate(SceneTutorial.ReplaceAssets["shell"]); shell.transform.position = i.transform.position; shell.transform.localRotation = i.transform.localRotation; shell.transform.localScale = i.transform.localScale; shell.name = i.name; shell.SetActive(true); Destroy(i); } // Replace the tink effect TinkEffect orig = SceneTutorial.ReplaceAssets["tink"].GetComponent <TinkEffect>(); foreach (TinkEffect i in FindObjectsOfType <TinkEffect>()) { i.blockEffect = orig.blockEffect; } // Replace the water colliders foreach (GameObject go in FindObjectsOfType <GameObject>() .Where(x => x.name.Contains("Surface Water"))) { GameObject surface = Instantiate(SceneTutorial.ReplaceAssets["water_region"]); surface.transform.position = go.transform.position; surface.transform.localScale = go.transform.localScale; surface.transform.rotation = go.transform.rotation; surface.SetActive(true); Destroy(go); } // Replace the void water to fix the splash effect GameObject water = Instantiate(SceneTutorial.ReplaceAssets["water"]); GameObject waterOrig = GameObject.Find("abyss_black-water"); water.transform.position = waterOrig.transform.position; water.transform.rotation = waterOrig.transform.rotation; water.transform.localScale = waterOrig.transform.localScale; water.name = waterOrig.name; water.SetActive(true); Destroy(waterOrig); }
public static void preloaded(Dictionary <string, Dictionary <string, GameObject> > preloadedObjects) { wpFlyPrefab = UObject.Instantiate(preloadedObjects["White_Palace_18"]["White Palace Fly"]); SetInactive(wpFlyPrefab); wpSawWithSoundPrefab = UObject.Instantiate(preloadedObjects["White_Palace_18"]["saw_collection/wp_saw"]); SetInactive(wpSawWithSoundPrefab); wpSawNoSoundPrefab = UObject.Instantiate(preloadedObjects["White_Palace_18"]["saw_collection/wp_saw (2)"]); SetInactive(wpSawNoSoundPrefab); wpInfSoulTotemPrefab = UObject.Instantiate(preloadedObjects["White_Palace_18"]["Soul Totem white_Infinte"]); SetInactive(wpInfSoulTotemPrefab); wpSpikesPrefab = UObject.Instantiate(preloadedObjects["White_Palace_17"]["White_ Spikes"]); SetInactive(wpSpikesPrefab); wpTinkEffectPrefab = new TinkEffect(); { var tmp = UObject.Instantiate(preloadedObjects["White_Palace_17"]["Cave Spikes Invis"]); var tmpTE = tmp.GetComponent <TinkEffect>(); wpTinkEffectPrefab.blockEffect = tmpTE.blockEffect; wpTinkEffectPrefab.useNailPosition = tmpTE.useNailPosition; wpTinkEffectPrefab.sendFSMEvent = tmpTE.sendFSMEvent; wpTinkEffectPrefab.FSMEvent = tmpTE.FSMEvent; wpTinkEffectPrefab.fsm = tmpTE.fsm; wpTinkEffectPrefab.sendDirectionalFSMEvents = tmpTE.sendDirectionalFSMEvents; } popAreaTitleCtrlPrefab = UObject.Instantiate(preloadedObjects["White_Palace_18"]["Area Title Controller"]); SetInactive(popAreaTitleCtrlPrefab); popSobPartPrefab = UObject.Instantiate(preloadedObjects["White_Palace_18"]["glow response lore 1/Glow Response Object (11)"]); SetInactive(popSobPartPrefab); popTabletInspectPrefab = UObject.Instantiate(preloadedObjects["White_Palace_18"]["Inspect Region"]); SetInactive(popTabletInspectPrefab); popSceneManagerPrefab = UObject.Instantiate(preloadedObjects["White_Palace_18"]["_SceneManager"]); { var sm = popSceneManagerPrefab.GetComponent <SceneManager>(); sm.SetAttr("musicTransitionTime", 3.0f); } SetInactive(popSceneManagerPrefab); popPmU2dPrefab = UObject.Instantiate(preloadedObjects["White_Palace_18"]["_Managers/PlayMaker Unity 2D"]); SetInactive(popPmU2dPrefab); popMusicRegionPrefab = UObject.Instantiate(preloadedObjects["White_Palace_18"]["Music Region (1)"]); SetInactive(popMusicRegionPrefab); popEnterMusicCuePrefab = UObject.Instantiate(popMusicRegionPrefab.GetComponent <MusicRegion>().enterMusicCue); SetInactive(popEnterMusicCuePrefab); whiteBenchPrefab = UObject.Instantiate(preloadedObjects["White_Palace_03_hub"]["WhiteBench"]); SetInactive(whiteBenchPrefab); wpLeverPrefab = UObject.Instantiate(preloadedObjects["White_Palace_17"]["WP Lever"]); { UObject.Destroy(wpLeverPrefab.GetComponent <PersistentBoolItem>()); } SetInactive(wpLeverPrefab); breakableWallPrefab = UObject.Instantiate(preloadedObjects["Crossroads_07"]["Breakable Wall_Silhouette"]); { UObject.Destroy(breakableWallPrefab.GetComponent <PersistentBoolItem>()); } SetInactive(breakableWallPrefab); popQuakeFloorPrefab = UObject.Instantiate(preloadedObjects["White_Palace_09"]["Quake Floor"]); { UObject.Destroy(popQuakeFloorPrefab.GetComponent <PersistentBoolItem>()); var t = popQuakeFloorPrefab.transform.Find("Active"); for (int c = t.childCount - 1; c >= 0; c--) { UObject.Destroy(t.GetChild(c).gameObject); } t = popQuakeFloorPrefab.transform.Find("Inactive"); for (int c = t.childCount - 1; c >= 0; c--) { UObject.Destroy(t.GetChild(c).gameObject); } } SetInactive(popQuakeFloorPrefab); hornet2BossPrefab = UObject.Instantiate(preloadedObjects["Deepnest_East_Hornet_boss"]["Hornet Outskirts Battle Encounter"]); SetInactive(hornet2BossPrefab); shinyPrefab = UObject.Instantiate(preloadedObjects["Grimm_Divine"]["Charm Holder"]); { UObject.Destroy(shinyPrefab.transform.GetChild(2)); UObject.Destroy(shinyPrefab.transform.GetChild(1)); UObject.Destroy(shinyPrefab.transform.GetChild(0).gameObject.GetComponent <PersistentBoolItem>()); } SetInactive(shinyPrefab); wp03Door = GameObject.Instantiate(preloadedObjects["White_Palace_03_hub"]["door1"]); SetInactive(wp03Door); wp03Dream = GameObject.Instantiate(preloadedObjects["White_Palace_03_hub"]["Dream Entry"]); SetInactive(wp03Dream); }