コード例 #1
0
    IEnumerator EnterLevel(Collider2D exitTile)
    {
        ExitLevel el    = exitTile.gameObject.GetComponent <ExitLevel>();
        string    level = el.enterScene;

        screenFade.GetComponent <ScreenFade>().FadeOut();
        DisableControllerInputs(); // disable player movement from inputs
        yield return(new WaitForSeconds(1f));

        SceneManager.LoadScene(level);
        EnableControllerInputs(); // enable player movement from inputs

        if (el.exitDirection == "North")
        {
            SetPosition((float)el.nextX, (float)el.nextY + 0.8f);
        }
        else if (el.exitDirection == "South")
        {
            SetPosition((float)el.nextX, (float)el.nextY - 0.8f);
        }
        else if (el.exitDirection == "East")
        {
            SetPosition((float)el.nextX + 1f, (float)el.nextY);
        }
        else if (el.exitDirection == "West")
        {
            SetPosition((float)el.nextX - 1f, (float)el.nextY);
        }
        else
        {
            SetPosition((float)el.nextX, (float)el.nextY);
        }
    }
コード例 #2
0
 private void Exit()
 {
     this.isLoadingBackToMenu = true;
     FileBasedPrefs.SetInt("StayInServerRoom", 1);
     if (PhotonNetwork.playerList.Length == 1)
     {
         FileBasedPrefs.SetInt("PlayerDied", 1);
         FileBasedPrefs.SetInt("MissionStatus", 1);
         FileBasedPrefs.SetInt("StayInServerRoom", 1);
         ExitLevel.CheckMissions();
         ExitLevel.CheckExp(true);
         ExitLevel.CheckChallenges(true);
         InventoryManager.RemoveItemsFromInventory();
     }
     else
     {
         FileBasedPrefs.SetInt("MissionStatus", 2);
     }
     if (XRDevice.isPresent)
     {
         this.loadLevel.levelName = "Menu_New";
         this.loadLevel.Trigger();
         return;
     }
     PhotonNetwork.LoadLevel("Menu_New");
 }
コード例 #3
0
    private void Start()
    {
        exit                 = GameObject.Find("Door").GetComponent <ExitLevel>();
        material             = GetComponent <SpriteRenderer>().material;
        pixelateAmountTarget = 1f;
        pixelateAmount       = 0;
        pixelateSpeed        = 0.30f;
        auraPixelateSpeed    = (pixelateSpeed / 2f) * 1.5f;

        if (gameObject.name == "AuraShader")
        {
            isOnAura      = true;
            pixelateSpeed = auraPixelateSpeed;
        }
    }
コード例 #4
0
 private void Exit()
 {
     if (GameController.instance)
     {
         GameController.instance.isLoadingBackToMenu = true;
     }
     if (PhotonNetwork.isMasterClient)
     {
         this.view.RPC("SyncPhotoValue", PhotonTargets.AllBuffered, new object[]
         {
             EvidenceController.instance.totalEvidenceFoundInPhotos
         });
     }
     if (GameController.instance.isTutorial)
     {
         FileBasedPrefs.SetInt("MissionStatus", 3);
         FileBasedPrefs.SetInt("setupPhase", 0);
         FileBasedPrefs.SetInt("completedTraining", 1);
         FileBasedPrefs.SetInt("StayInServerRoom", 0);
         if (MissionGhostType.instance)
         {
             MissionGhostType.instance.CheckMissionComplete();
         }
     }
     else if (!GameController.instance.myPlayer.player.isDead)
     {
         FileBasedPrefs.SetInt("MissionStatus", 1);
         FileBasedPrefs.SetInt("StayInServerRoom", 1);
         ExitLevel.CheckMissions();
         ExitLevel.CheckExp(false);
         ExitLevel.CheckChallenges(false);
         if (!this.itemSpawner.hasSpawnedOtherItems)
         {
             DailyChallengesController.Instance.ChangeChallengeProgression(ChallengeType.completeWithDefaultItems, 1);
         }
     }
     else
     {
         FileBasedPrefs.SetInt("PlayerDied", 1);
         FileBasedPrefs.SetInt("MissionStatus", 1);
         FileBasedPrefs.SetInt("StayInServerRoom", 1);
         ExitLevel.CheckMissions();
         ExitLevel.CheckExp(true);
         ExitLevel.CheckChallenges(true);
         InventoryManager.RemoveItemsFromInventory();
     }
     base.StartCoroutine(this.LoadLevelAfterDelay());
 }
コード例 #5
0
    // Start is called before the first frame update
    void Start()
    {
        instance    = GameManager.instance;
        animator    = GetComponent <Animator>();
        onetimeOnly = true;

        ManageCamera.GetComponent <ManageCamera>().setupCamera(redPlayer, yellowPlayer, bluePlayer);

        ExitLevel exitR = redExit.GetComponent <ExitLevel>();
        ExitLevel exitY = yellowExit.GetComponent <ExitLevel>();
        ExitLevel exitB = blueExit.gameObject.GetComponent <ExitLevel>();

        exitR.setPlayerName(redPlayer.name);
        exitR.setLevelManager(this);
        exitY.setPlayerName(yellowPlayer.name);
        exitY.setLevelManager(this);
        exitB.setPlayerName(bluePlayer.name);
        exitB.setLevelManager(this);
    }
コード例 #6
0
        public async Task LoadObjectsTask()
        {
            string curSceneName = SceneManager.GetActiveScene().name.ToLower();

            while (!curSceneName.Contains("menu") && !curSceneName.Contains("new"))
            {
                await Task.Delay(4000);

                if (SceneManager.sceneLoaded != null)
                {
                    Main.gameController = GameObject.FindObjectOfType <GameController>();
                    await Task.Delay(150);

                    Main.levelController = GameObject.FindObjectOfType <LevelController>();
                    await Task.Delay(150);

                    Main.levelSelectionManager = GameObject.FindObjectOfType <LevelSelectionManager>();
                    await Task.Delay(150);

                    Main.walkieTalkie = GameObject.FindObjectOfType <WalkieTalkie>();
                    await Task.Delay(150);

                    Main.handCamera = GameObject.FindObjectOfType <HandCamera>();
                    await Task.Delay(150);

                    Main.inventoryManager = GameObject.FindObjectOfType <InventoryManager>();
                    await Task.Delay(150);

                    Main.liftButton = GameObject.FindObjectOfType <LiftButton>();
                    await Task.Delay(150);

                    Main.contract = GameObject.FindObjectOfType <Contract>();
                    await Task.Delay(150);

                    Main.pCMenu = GameObject.FindObjectOfType <PCMenu>();
                    await Task.Delay(150);

                    Main.exitLevel = GameObject.FindObjectOfType <ExitLevel>();
                    await Task.Delay(150);

                    Main.ghostAI = GameObject.FindObjectOfType <GhostAI>();
                    await Task.Delay(150);

                    Main.lightSwitch = GameObject.FindObjectOfType <LightSwitch>();
                    await Task.Delay(150);

                    Main.light = GameObject.FindObjectOfType <Light>();
                    await Task.Delay(150);

                    Main.dNAEvidences = Enumerable.ToList <DNAEvidence>(GameObject.FindObjectsOfType <DNAEvidence>());
                    await Task.Delay(150);

                    Main.contracts = Enumerable.ToList <Contract>(GameObject.FindObjectsOfType <Contract>());
                    await Task.Delay(150);

                    Main.items = Enumerable.ToList <InventoryItem>(GameObject.FindObjectsOfType <InventoryItem>());
                    await Task.Delay(150);

                    Main.players = Enumerable.ToList <Player>(GameObject.FindObjectsOfType <Player>());
                    await Task.Delay(150);

                    Main.photonView = GameObject.FindObjectOfType <PhotonView>();
                    await Task.Delay(150);

                    Main.ghostInfo = GameObject.FindObjectOfType <GhostInfo>();
                    await Task.Delay(150);

                    Main.deadPlayer = GameObject.FindObjectOfType <DeadPlayer>();
                    await Task.Delay(150);

                    Main.player = GameObject.FindObjectOfType <Player>();
                    await Task.Delay(150);

                    Main.rigidbody = GameObject.FindObjectOfType <Rigidbody>();
                    await Task.Delay(150);

                    Main.itemSpawner = GameObject.FindObjectOfType <ItemSpawner>();
                    await Task.Delay(150);

                    Main.ghostInteraction = GameObject.FindObjectOfType <GhostInteraction>();
                    await Task.Delay(150);

                    //Main.baseController = GameObject.FindObjectOfType<BaseController>();
                    await Task.Delay(150);

                    Main.ouijaBoard = GameObject.FindObjectOfType <OuijaBoard>();
                    await Task.Delay(150);

                    Main.ouijaBoards = Enumerable.ToList <OuijaBoard>(GameObject.FindObjectsOfType <OuijaBoard>());
                    await Task.Delay(150);

                    Main.keys = Enumerable.ToList <Key>(GameObject.FindObjectsOfType <Key>());
                    await Task.Delay(150);

                    Main.ghosts = Enumerable.ToList <GhostAI>(GameObject.FindObjectsOfType <GhostAI>());
                    await Task.Delay(150);

                    Main.serverManager = GameObject.FindObjectOfType <ServerManager>();
                    await Task.Delay(150);

                    Main.torches = Enumerable.ToList <Torch>(GameObject.FindObjectsOfType <Torch>());
                    await Task.Delay(150);

                    Main.ghostAudio = GameObject.FindObjectOfType <GhostAudio>();
                    await Task.Delay(150);

                    Main.fuseBox = GameObject.FindObjectOfType <FuseBox>();
                    await Task.Delay(150);

                    Main.doors = Enumerable.ToList <Door>(GameObject.FindObjectsOfType <Door>());
                    await Task.Delay(150);

                    Main.lightSwitches = Enumerable.ToList <LightSwitch>(GameObject.FindObjectsOfType <LightSwitch>());
                }
            }
        }
コード例 #7
0
 void Start()
 {
     exit   = FindObjectOfType <ExitLevel>();
     player = FindObjectOfType <PlayerController>();
 }
コード例 #8
0
        public IEnumerator LoadObjectsTask()
        {
            yield return(new WaitForSeconds(0.15f));

            Main.missionManager = GameObject.FindObjectOfType <MissionManager>();
            yield return(new WaitForSeconds(0.15f));;
            Main.gameController = GameObject.FindObjectOfType <GameController>();
            yield return(new WaitForSeconds(0.15f));

            Main.levelController = GameObject.FindObjectOfType <LevelController>();
            yield return(new WaitForSeconds(0.15f));;
            Main.levelSelectionManager = GameObject.FindObjectOfType <LevelSelectionManager>();
            yield return(new WaitForSeconds(0.15f));

            Main.walkieTalkie = GameObject.FindObjectOfType <WalkieTalkie>();
            yield return(new WaitForSeconds(0.15f));

            Main.handCamera = GameObject.FindObjectOfType <HandCamera>();
            yield return(new WaitForSeconds(0.15f));

            Main.inventoryManager = GameObject.FindObjectOfType <InventoryManager>();
            yield return(new WaitForSeconds(0.15f));

            Main.liftButton = GameObject.FindObjectOfType <LiftButton>();
            yield return(new WaitForSeconds(0.15f));

            Main.contract = GameObject.FindObjectOfType <Contract>();
            yield return(new WaitForSeconds(0.15f));

            Main.pCMenu = GameObject.FindObjectOfType <PCMenu>();
            yield return(new WaitForSeconds(0.15f));

            Main.exitLevel = GameObject.FindObjectOfType <ExitLevel>();
            yield return(new WaitForSeconds(0.15f));

            Main.ghostAI = UnityEngine.Object.FindObjectOfType <GhostAI>();
            yield return(new WaitForSeconds(0.15f));

            Main.lightSwitch = GameObject.FindObjectOfType <LightSwitch>();
            yield return(new WaitForSeconds(0.15f));

            Main.light = GameObject.FindObjectOfType <Light>();
            yield return(new WaitForSeconds(0.15f));

            Main.dNAEvidences = Enumerable.ToList <DNAEvidence>(GameObject.FindObjectsOfType <DNAEvidence>());
            yield return(new WaitForSeconds(0.15f));

            Main.contracts = Enumerable.ToList <Contract>(GameObject.FindObjectsOfType <Contract>());
            yield return(new WaitForSeconds(0.15f));

            Main.items = Enumerable.ToList <InventoryItem>(GameObject.FindObjectsOfType <InventoryItem>());
            yield return(new WaitForSeconds(0.15f));

            Main.players = Enumerable.ToList <Player>(GameObject.FindObjectsOfType <Player>());
            yield return(new WaitForSeconds(0.15f));

            if (Main.levelController != null)
            {
                Main.photonView = (Main.ghostAI.field_Public_PhotonView_0 ?? null);
                yield return(new WaitForSeconds(0.15f));
            }
            Main.ghostInfo = GameObject.FindObjectOfType <GhostInfo>();
            yield return(new WaitForSeconds(0.15f));

            Main.deadPlayer = GameObject.FindObjectOfType <DeadPlayer>();
            yield return(new WaitForSeconds(0.15f));

            Main.player = GameObject.FindObjectOfType <Player>();
            yield return(new WaitForSeconds(0.15f));

            Main.rigidbody = GameObject.FindObjectOfType <Rigidbody>();
            yield return(new WaitForSeconds(0.15f));

            Main.itemSpawner = GameObject.FindObjectOfType <ItemSpawner>();
            yield return(new WaitForSeconds(0.15f));

            Main.ghostInteraction = GameObject.FindObjectOfType <GhostInteraction>();
            yield return(new WaitForSeconds(0.15f));

            //Main.baseController = GameObject.FindObjectOfType<BaseController>();
            yield return(new WaitForSeconds(0.15f));

            Main.ouijaBoard = GameObject.FindObjectOfType <OuijaBoard>();
            yield return(new WaitForSeconds(0.15f));

            Main.ouijaBoards = Enumerable.ToList <OuijaBoard>(GameObject.FindObjectsOfType <OuijaBoard>());
            yield return(new WaitForSeconds(0.15f));

            Main.keys = Enumerable.ToList <Key>(GameObject.FindObjectsOfType <Key>());
            yield return(new WaitForSeconds(0.15f));

            Main.ghosts = Enumerable.ToList <GhostAI>(GameObject.FindObjectsOfType <GhostAI>());
            yield return(new WaitForSeconds(0.15f));

            Main.serverManager = GameObject.FindObjectOfType <ServerManager>();
            yield return(new WaitForSeconds(0.15f));

            Main.torches = Enumerable.ToList <Torch>(GameObject.FindObjectsOfType <Torch>());
            yield return(new WaitForSeconds(0.15f));

            Main.ghostAudio = GameObject.FindObjectOfType <GhostAudio>();
            yield return(new WaitForSeconds(0.15f));

            Main.fuseBox = GameObject.FindObjectOfType <FuseBox>();
            yield return(new WaitForSeconds(0.15f));

            Main.doors = Enumerable.ToList <Door>(GameObject.FindObjectsOfType <Door>());
            yield return(new WaitForSeconds(0.15f));

            Main.lightSwitches = Enumerable.ToList <LightSwitch>(GameObject.FindObjectsOfType <LightSwitch>());

            if (UnityEngine.Object.FindObjectOfType <Player>() != null)
            {
                Main.player = (UnityEngine.Object.FindObjectOfType <Player>() ?? null);
                yield return(new WaitForSeconds(0.15f));

                Main.playerAnim = (Main.player.field_Public_Animator_0 ?? null);
                yield return(new WaitForSeconds(0.15f));

                if (Main.playerAnim != null)
                {
                    Main.boneTransform = (Main.playerAnim.GetBoneTransform((HumanBodyBones)10) ?? null);
                    yield return(new WaitForSeconds(0.15f));

                    if (Main.boneTransform != null)
                    {
                        Main.light = (Main.boneTransform.GetComponent <Light>() ?? null);
                        yield return(new WaitForSeconds(0.15f));
                    }
                }
            }
            yield return(null);

            yield break;
        }
コード例 #9
0
    void Start()
    {
        Scene s = SceneManager.GetActiveScene();

        map = s.name;

        GameObject levelG      = Resources.Load("Prefabs/Scripts/LevelGen") as GameObject;
        GameObject gen         = Instantiate(levelG, new Vector3(0, 0, 0), Quaternion.identity) as GameObject;
        LevelGen   generateMap = gen.GetComponent <LevelGen>();

        GameObject f = new GameObject("Floors");

        generateMap.floors = f;
        GameObject c = new GameObject("Ceilings");

        generateMap.ceilings = c;
        GameObject w = new GameObject("Walls");

        generateMap.walls = w;

        generateMap.level    = map;
        generateMap.spaceMod = UnityEngine.Random.Range(1.5f, 2f);

        generateMap.genMap();
        xStartPos = generateMap.getXStart();
        yStartPos = generateMap.getYStart();
        //print(xStartPos);
        //print(yStartPos);

        GameObject player;
        Statistics stats;

        GameObject[] players = GameObject.FindGameObjectsWithTag("Player");
        foreach (GameObject g in players)
        {
            g.transform.position = new Vector3(xStartPos, 2, yStartPos);
            player = g;
            stats  = g.GetComponent <Statistics>();
            Inventory     i    = player.GetComponent <Inventory>();
            PlayerControl cont = player.GetComponent <PlayerControl>();
            cont.startX = xStartPos;
            cont.startY = 2;
            cont.startZ = yStartPos;

            //REMOVED WHEN OTHER PART BACK In
            if (i.equipped[0] == null)
            {
                GameObject sword = Instantiate(Resources.Load("Prefabs/Weapons/SmallSword")) as GameObject;
                i.addItem(sword);
            }
            //

            //removeWeatherEffects(g);

            if (map == "dream")
            {
                stats.setMusic(1);

                /* REMOVED FOR NOW
                 * GameObject sword = Instantiate(Resources.Load("Prefabs/Weapons/SmallSword")) as GameObject;
                 * i.addItem(sword);
                 * //god stats etc
                 * stats.maxHealth = 200;
                 * stats.curHealth = 200;
                 * stats.maxMana = 100;
                 * stats.curMana = 100;
                 * stats.attack = 30;
                 * stats.magicAttack = 30;
                 * stats.strength = 20;
                 * stats.intellect = 15;
                 * stats.agility = 15;
                 * cont.refreshStats();
                 * stats.level = 10;
                 * i.updateAllStatisitics();
                 *
                 * //changeLightSize(player, 50,1);
                 * //setParticles(Resources.Load("Prefabs/Particles/Fog") as GameObject, player);
                 */
            }
            else if (map == "forest")
            {
                stats.setMusic(2);

                /* REMOVED FOR NOW
                 * //check if sword is equipped
                 * if (i.equipped[0] == null)
                 * {
                 *  GameObject sword = Instantiate(Resources.Load("Prefabs/Weapons/SmallSword")) as GameObject;
                 *  i.addItem(sword);
                 * }
                 *
                 *
                 * //rain on, drop all items
                 * stats.maxHealth = 100;
                 * stats.curHealth = 100;
                 * stats.maxMana = 50;
                 * stats.curMana = 50;
                 * stats.attack = 10;
                 * stats.magicAttack = 25;
                 * stats.strength = 5;
                 * stats.intellect = 5;
                 * stats.agility = 10;
                 *
                 * cont.refreshStats();
                 * i.updateAllStatisitics();
                 * stats.level = 1;
                 *
                 * //changeLightSize(player, 30,1);
                 * //setParticles(Resources.Load("Prefabs/Particles/Rain") as GameObject, g);
                 */
            }
            else if (map == "dungeon")
            {
                //changeLightSize(player, 50, 1.5f);
                stats.setMusic(3);
            }
            else if (map == "endLevel")
            {
                changeLightSize(player, 30, 1f);
                stats.setMusic(4);
                //setParticles(Resources.Load("Prefabs/Particles/Rain") as GameObject, player);
            }
            else if (map == "WinterForest")
            {
                //setParticles(Resources.Load("Prefabs/Particles/Fog") as GameObject, player);
            }
        }

        GameObject e    = GameObject.FindGameObjectWithTag("LevelSwitch");
        ExitLevel  exit = e.GetComponent <ExitLevel>();

        exit.setLevel(map);
    }