コード例 #1
0
ファイル: Game1.cs プロジェクト: linjerry0906/mist_labylinth
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            // TODO: Add your initialization logic here
            IsMouseVisible = false;
            gameDevice     = new GameDevice(Content, GraphicsDevice);
            gameManager    = new GameManager(gameDevice);

            sceneManager = new SceneManager(gameDevice);
            IScene dungeon = new DungeonScene(gameManager, gameDevice);
            IScene boss    = new BossScene(gameManager, gameDevice);
            IScene town    = new TownScene(gameManager, gameDevice);

            sceneManager.AddScene(SceneType.Load, new Load(gameDevice));
            sceneManager.AddScene(SceneType.Logo, new LogoScene(gameDevice));
            sceneManager.AddScene(SceneType.Title, new SceneFader(new Title(gameDevice), gameDevice));
            sceneManager.AddScene(SceneType.LoadTown, new LoadTown(gameManager, gameDevice));
            sceneManager.AddScene(SceneType.Town, new SceneFader(town, gameDevice));
            sceneManager.AddScene(SceneType.UpgradeStore, new UpgradeStore(town, gameManager, gameDevice));
            sceneManager.AddScene(SceneType.LoadShop, new LoadShop(town, gameManager, gameDevice));
            sceneManager.AddScene(SceneType.ItemShop, new ItemShop(town, gameManager, gameDevice));
            sceneManager.AddScene(SceneType.Quest, new GuildScene(town, gameManager, gameDevice));
            sceneManager.AddScene(SceneType.Depot, new Depot(town, gameManager, gameDevice));
            sceneManager.AddScene(SceneType.DungeonSelect, new SceneFader(new DungeonSelect(town, gameManager, gameDevice), gameDevice));
            sceneManager.AddScene(SceneType.LoadMap, new LoadMap(gameManager, gameDevice));
            sceneManager.AddScene(SceneType.Dungeon, new SceneFader(dungeon, gameDevice));
            sceneManager.AddScene(SceneType.LoadBoss, new LoadBossScene(gameManager, gameDevice));
            sceneManager.AddScene(SceneType.Boss, new SceneFader(boss, gameDevice));
            sceneManager.AddScene(SceneType.Pause, new PauseScene(dungeon, boss, town, gameManager, gameDevice));
            sceneManager.Change(SceneType.Load);

            base.Initialize();
        }
コード例 #2
0
    public void DisableBossSceneNotSurvival()
    {
        BossScene.SetActive(false);
        BossBar.SetActive(true);

        FindObjectOfType <BossHealthBar> ().enabled = true;
        Portal.SetActive(true);
    }
コード例 #3
0
    public void DisableBossScene()
    {
        BossScene.SetActive(false);
        BossBar.SetActive(true);
        FindObjectOfType <MonsterRespawn> ().BossRespawn();
        FindObjectOfType <AudioManager> ().PlayAudio("Respawn");

        FindObjectOfType <LookAt> ().SetTarget(FindObjectOfType <MonsterRespawn> ().bossPoint.gameObject);
        FindObjectOfType <StopTargets> ().ScriptsState(false);
        FindObjectOfType <StopTargets> ().Invoke("EnableScripts", 2f);
    }
コード例 #4
0
    void Initialize()
    {
        Instance = this;
        int gameMode = Common.Instance.gameMode < 0 ? 0 : Common.Instance.gameMode;

        flickPart.Initialize(gameMode);
        sanctionPart.Initialize(gameMode);
        standingBoss.GetComponent <Image>().sprite = standingBossSprites[gameMode];
        state = 0;
        SoundManager.Instance.StopBGM();

        StartCoroutine(StartAnimation());
    }
コード例 #5
0
    public void BossTime()
    {
        BossScene.SetActive(true);

        if (SceneManager.GetActiveScene().buildIndex == 1)
        {
            Invoke("DisableBossScene", 2.5f);
        }
        else if (SceneManager.GetActiveScene().buildIndex == 2)
        {
            Invoke("DisableBossSceneNotSurvival", 2.5f);
        }
    }
コード例 #6
0
        private void SetStatue()
        {
            GameObject statue = Instantiate(GameObject.Find("GG_Statue_TraitorLord"));

            statue.transform.SetPosition2D(250f, statue.transform.GetPositionY());
            BossScene scene = ScriptableObject.CreateInstance <BossScene>();

            scene.sceneName = "GG_Mighty_Zote";
            BossStatue bossStatue = statue.GetComponent <BossStatue>();

            bossStatue.bossScene = scene;

            BossStatue.Completion completion = new BossStatue.Completion
            {
                completedTier1  = true,
                completedTier2  = true,
                completedTier3  = true,
                seenTier3Unlock = true,
                isUnlocked      = true,
                hasBeenSeen     = true,
                usingAltVersion = false,
            };

            bossStatue.StatueState = completion;
            BossStatue.BossUIDetails details = new BossStatue.BossUIDetails();
            details.nameKey        = details.nameSheet = "KNIGHT_NAME";
            details.descriptionKey = details.descriptionSheet = "KNIGHT_DESC";
            bossStatue.bossDetails = details;
            foreach (SpriteRenderer sr in bossStatue.GetComponentsInChildren <SpriteRenderer>())
            {
                sr.sprite = null;
            }

            GameObject knightStatue = GameObject.Find("GG_Statue_Knight");
            GameObject statueV1     = knightStatue.FindGameObjectInChildren("Knight_v01");
            GameObject statueV2     = knightStatue.FindGameObjectInChildren("Knight_v02");
            GameObject statueV3     = knightStatue.FindGameObjectInChildren("Knight_v03");

            Destroy(statueV1.FindGameObjectInChildren("Interact"));
            Destroy(statueV2.FindGameObjectInChildren("Interact"));
            Destroy(statueV3.FindGameObjectInChildren("Interact"));
        }
コード例 #7
0
    IEnumerator checkSceneLoaded()
    {
        string spawnP = "";

        if (transitionFromBoss)
        {
            spawnP = GameObject.FindObjectOfType <TransitionGate>().getSpawn();
        }

        while (!SceneManager.GetSceneByName(sceneToLoad).isLoaded)
        {
            yield return(new WaitForEndOfFrame());
        }

        GameObject m = GameObject.FindGameObjectWithTag("MiniMap");

        if (m != null)
        {
            Player.instance.uiHandler.setCurrentMap(m);
        }
        else
        {
            Debug.Log("NO MAP FOUND!");
        }

        map      = GameObject.FindGameObjectWithTag("ColliderMap").GetComponentInChildren <Tilemap>();
        mapSizeX = new Vector2(map.cellBounds.xMin + 10, map.cellBounds.xMax - 10);
        mapSizeY = new Vector2(map.cellBounds.yMin + 5, map.cellBounds.yMax - 5);
        Player.instance.setCamBounds(mapSizeX, mapSizeY);

        if (spawnP == "")
        {
            GameObject[] allSpawns = GameObject.FindGameObjectsWithTag("Spawn");

            foreach (GameObject spawn in allSpawns)
            {
                if (spawn.GetComponent <PlayerSpawns>().spawn == gate.getSpawn())
                {
                    Player.instance.transform.position = spawn.transform.position;
                }
            }
        }
        else
        {
            GameObject[] allSpawns = GameObject.FindGameObjectsWithTag("Spawn");

            foreach (GameObject spawn in allSpawns)
            {
                if (spawn.GetComponent <PlayerSpawns>().spawn == spawnP)
                {
                    Player.instance.transform.position = spawn.transform.position;
                }
            }
        }

        if (current.character != null)
        {
            if (!Player.instance.data.hasCutscenePlayed(current.character))
            {
                Player.instance.uiHandler.changeMenu(UIHandler.Menus.DIALOGUE);
                Player.instance.dialogue.startNewDialogue(current.character.getData().getDialogue(0), current.character.getData().getCharacterSprite(), current.character.getData().getName(), Player.instance.uiHandler.getMenuObject(UIHandler.Menus.DIALOGUE));
                Player.instance.setInConvo();
                Player.instance.dialogue.switchSceneOnEnd(current.switchScene, current.gate);

                Player.instance.data.cutscenePlayed(current.character);
            }
            else
            {
                Character c = GameObject.FindObjectOfType <Character>();

                if (c.getData().getName() == current.character.getData().getName())
                {
                    Destroy(c.gameObject);
                }
            }
        }
        else
        {
            Player.instance.uiHandler.changeMenu(UIHandler.Menus.PLAYERUI);
        }

        if (current.particleEffect == Particle.GRASS)
        {
            Player.instance.audioHandler.spawnWoodsAmbience();
        }
        else if (current.particleEffect == Particle.JUNGLE)
        {
            Player.instance.audioHandler.spawnJungleAmbience();
        }
        else if (current.particleEffect == Particle.SNOW)
        {
            Player.instance.audioHandler.spawnSnowAmbience();
        }
        else
        {
            Player.instance.audioHandler.destroyAmbience();
        }

        BossScene boss = GameObject.FindObjectOfType <BossScene>();

        if (boss != null)
        {
            if (spawnFinalBoss)
            {
                boss.setBossSpawn(finalBoss);
                spawnFinalBoss = false;

                for (int i = 0; i < AllSceneData.Count; i++)
                {
                    if (AllSceneData[i].scenePath == current.scenePath)
                    {
                        SceneData d = AllSceneData[i];
                        d.boss          = finalBoss;
                        AllSceneData[i] = d;
                    }
                }
            }
            else
            {
                boss.setBossSpawn(current.boss);
            }

            boss.startScene();
        }

        transitionFromBoss = false;
        sceneToLoad        = null;
    }
コード例 #8
0
 public void setScene(BossScene b)
 {
     area = b;
 }
コード例 #9
0
        private void SetStatue()
        {
            Log("Setting up statues...");

            GameObject statue = GameObject.Find("GG_Statue_Mawlek");

            BossScene scene = ScriptableObject.CreateInstance <BossScene>();

            scene.sceneName = "GG_Brooding_Mawlek_V";

            BossStatue bs = statue.GetComponent <BossStatue>();

            bs.dreamBossScene     = scene;
            bs.dreamStatueStatePD = "statueStateTiso";

            bs.SetPlaquesVisible(bs.StatueState.isUnlocked && bs.StatueState.hasBeenSeen || bs.isAlwaysUnlocked);

            Destroy(statue.FindGameObjectInChildren("StatueAlt"));
            GameObject displayStatue = bs.statueDisplay;
            GameObject alt           = Instantiate
                                       (
                displayStatue,
                displayStatue.transform.parent,
                true
                                       );

            alt.SetActive(bs.UsingDreamVersion);
            SpriteRenderer spriteRenderer = alt.GetComponentInChildren <SpriteRenderer>();

            spriteRenderer.sprite              = TisoSpencer.Sprites[0];
            spriteRenderer.transform.position += Vector3.down;
            alt.name            = "StatueAlt";
            bs.statueDisplayAlt = alt;

            var completion = new BossStatue.Completion
            {
                completedTier1  = true,
                seenTier3Unlock = true,
                completedTier2  = true,
                completedTier3  = true,
                isUnlocked      = true,
                hasBeenSeen     = true,
                usingAltVersion = true,
            };

            bs.StatueState      = completion;
            bs.DreamStatueState = completion;

            BossStatue.BossUIDetails details = new BossStatue.BossUIDetails();
            details.nameKey        = details.nameSheet = "TISO_NAME";
            details.descriptionKey = details.descriptionSheet = "TISO_DESC";
            bs.dreamBossDetails    = details;

            GameObject altLever = statue.FindGameObjectInChildren("alt_lever");

            altLever.SetActive(true);
            altLever.transform.position = new Vector3(46.3f, 7.3f, 0.0f);

            GameObject switchBracket = altLever.FindGameObjectInChildren("GG_statue_switch_bracket");

            switchBracket.SetActive(true);

            GameObject switchLever = altLever.FindGameObjectInChildren("GG_statue_switch_lever");

            switchLever.SetActive(true);

            BossStatueLever toggle = statue.GetComponentInChildren <BossStatueLever>();

            toggle.SetOwner(bs);
            toggle.SetState(true);
        }