示例#1
0
        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);
        }
示例#2
0
 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);
 }