private void Start()
 {
     camera         = Camera.main;
     roomGeneration = GameObject.FindGameObjectWithTag("GenerationManager").GetComponent <RoomGeneration>();
     roomHeight     = roomGeneration.roomHeight;
     roomWidth      = roomGeneration.roomWidth;
 }
    // Use this for initialization
    void Start()
    {
        tpFailed = false;
        timer    = 0;
        player   = GameObject.FindGameObjectWithTag("Player");

        dungeon = GameObject.FindGameObjectWithTag("Dungeon");
        if (dungeon != null)
        {
            generator = dungeon.GetComponent <RoomGeneration>();
        }

        if (Application.loadedLevelName == "Tutorial")
        {
            if (transform.position.x < 0.5f || transform.position.x > 26.5f || transform.position.y > -0.5f || transform.position.y < -21.32f)
            {
                tpFailed = true;
            }
        }
        else
        {
            if (transform.position.x < 0f || transform.position.x > (generator.finalRoomInfoArray[generator.currentRoom].width - 1) || transform.position.y > 0f || transform.position.y < -(generator.finalRoomInfoArray[generator.currentRoom].height - 1))
            {
                tpFailed = true;
            }
        }
    }
Ejemplo n.º 3
0
 public void LoadDungeon()
 {
     theRooms             = GameObject.FindGameObjectWithTag("Dungeon").GetComponent <RoomGeneration>();
     options.easyMode     = data.easymode;
     theRooms.currentRoom = data.currentroom;
     theRooms.loadedData  = data;
 }
Ejemplo n.º 4
0
    // Update is called once per frame
    void Update()
    {
        shouldload = options.shouldload;
        if (player == null)
        {
            player = GameObject.FindGameObjectWithTag("Player");
            if (player != null)
            {
                eq       = player.GetComponent <PlayerEquipment>();
                theStats = player.GetComponent <PlayerStats>();
            }
        }

        enemies = GameObject.FindGameObjectsWithTag("Enemy").Length;
        if (dungeon == null)
        {
            dungeon = GameObject.FindGameObjectWithTag("Dungeon");
            if (dungeon != null)
            {
                theRooms = GameObject.FindGameObjectWithTag("Dungeon").GetComponent <RoomGeneration>();
            }
        }

        //  else
        //   if (theRooms != null)
        //      if (enemies <= 0&&saved==false)

        //           {
        //                 Save();
        //		data.canyousave=true;
        //                 Debug.Log("Saved!");

        //                  saved = true;
        //              }
    }
Ejemplo n.º 5
0
 void Start()
 {
     if (tag != "Decoy")
     {
         //        player = GameObject.FindGameObjectWithTag("Player");
         anim          = gameObject.GetComponent <Animator>();
         heroEquipment = gameObject.GetComponent <PlayerEquipment>();
         controller    = gameObject.GetComponent <CharacterController>();
         heroCooldowns = gameObject.GetComponent <PlayerCooldowns>();
         //rb2d = GetComponent<Rigidbody2D>();
     }
     else
     {
         heroEquipment = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerEquipment>();
     }
     fullSpeed      = 3.1f;
     halfSpeed      = 1.6f;
     knockbackTimer = 0;
     stunned        = false;
     sTimerMax      = .5f;
     stunTimer      = sTimerMax;
     if (GameObject.FindGameObjectWithTag("Dungeon"))
     {
         generator = GameObject.FindGameObjectWithTag("Dungeon").GetComponent <RoomGeneration>();
     }
 }
Ejemplo n.º 6
0
    void InstantiateRoom(RoomGeneration r)
    {
        int nbRooms = 0;

        for (int i = 0; i < m_roomPrefabs.Count; i++)
        {
            if (m_roomPrefabs[i].type == r.type)
            {
                nbRooms++;
            }
        }
        int index = new UniformIntDistribution(0, nbRooms).Next(new StaticRandomGenerator <MT19937>()) + 1;

        for (int i = 0; i < m_roomPrefabs.Count; i++)
        {
            if (m_roomPrefabs[i].type == r.type)
            {
                index--;
                if (index == 0)
                {
                    InstantiateRoom(r, m_roomPrefabs[i]);
                    break;
                }
            }
        }
    }
Ejemplo n.º 7
0
    // Start is called before the first frame update
    void Start()
    {
        //Set information about the room
        this.roomGenerator = transform.root.GetComponent <RoomGeneration>();
        this.room          = this.roomGenerator.room;

        //Setup random generation with room seed
        //Random.InitState(this.room.Seed);

        //Spawn enemies if room has NOT BEEN CLEARED
        if (!this.room.IsCleared() && !this.room.IsSafeRoom)
        {
            GameObject enemy = SelectEnemyType();
            if (enemy != null)
            {
                GameObject instantiatedEnemy = Instantiate(enemy, transform.position, Quaternion.identity);
                instantiatedEnemy.transform.parent = this.roomGenerator.transform.Find("Layout").transform; //Put enemies under Layout so they are moved with the room when the room if flipped

                //Set references to correct character object in Enemy_Movement and Enemy_Shooting scripts
                instantiatedEnemy.GetComponent <Enemy_Movement>().Player = this.roomGenerator.playerPrefab.GetComponent <Rigidbody2D>();
                if (instantiatedEnemy.transform.childCount > 0) //Has weapon
                {
                    Enemy_Shooting gun = instantiatedEnemy.transform.GetChild(0).gameObject.GetComponent <Enemy_Shooting>();
                    if (gun)
                    {
                        gun.Player = this.roomGenerator.playerPrefab.GetComponent <Rigidbody2D>();
                    }
                }

                //Counts the number of enemies added to keep count how many are left in a room
                roomGenerator.IncreaseNumberOfEnemies();
            }
        }
    }
Ejemplo n.º 8
0
 public void DestroyRobot()
 {
     if (robotType == RobotType.enemy)
     {
         RoomGeneration parentRoom = GetComponentInParent <RoomGeneration> ();
         parentRoom.Invoke("CheckEnemies", 0.1f);
     }
     Destroy(gameObject);
 }
Ejemplo n.º 9
0
    public void spawnAllEnemies()
    {
        enemies = new List <GameObject>();

        roomGen = FindObjectOfType <RoomGeneration>();
        rooms   = roomGen.getAllRooms();

        spawnEnemies();
    }
Ejemplo n.º 10
0
 private void Start()
 {
     doorSR         = topDoor.GetComponentInChildren <SpriteRenderer>();
     roomGeneration = gameObject.GetComponent <RoomGeneration>();
     roomHeight     = roomGeneration.roomHeight;
     roomWidth      = roomGeneration.roomWidth;
     doorHeight     = doorSR.bounds.size.y;
     doorWidth      = doorSR.bounds.size.x;
 }
Ejemplo n.º 11
0
 // Use this for initialization
 void Awake()
 {
     canMove           = true;
     navMeshAgent      = GetComponent <NavMeshAgent>();
     laserInst         = laser.GetComponent <Laser>();
     laserLineRendInst = laser.GetComponent <LineRenderer>();
     laserBoxCollInst  = laser.GetComponent <BoxCollider>();
     roomGen           = FindObjectOfType <RoomGeneration>();
     particles         = GetComponentInChildren <ParticleSystem>();
 }
 void Start()
 {
     player          = GameObject.FindGameObjectWithTag("Player");
     movement        = player.GetComponent <PlayerMovement>();
     dungeon         = GameObject.FindGameObjectWithTag("Dungeon");
     generator       = dungeon.GetComponent <RoomGeneration>();
     isLocked        = true;
     iHopeThisWorks  = true;
     easyMode        = GameObject.FindObjectOfType <Options>().easyMode;
     hasTransitioned = false;
 }
 void Start()
 {
     player = GameObject.FindGameObjectWithTag("Player").transform;
     roLo   = GetComponent <RobotLoadout> ();
     BasicEnemySetup();
     for (int i = 0; i < roLo.loadout.Length; i++)
     {
         roLo.hitPoints[i] = Mathf.RoundToInt(roLo.hitPoints[i] / 2);
     }
     parentRoom = GetComponentInParent <RoomGeneration> ();
 }
Ejemplo n.º 14
0
 private void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else
     {
         Destroy(this);
     }
 }
Ejemplo n.º 15
0
 public void CheckRoomForOpenDoors(RoomGeneration roomGen)
 {
     doorsOpen = roomGen.ReturnOpenDoors();
     for (int i = 0; i < doorsOpen.Length; i++)
     {
         if (doorsOpen[i])
         {
             doors[i].gameObject.SetActive(true);
             doors[i].enabled = false;
         }
     }
 }
Ejemplo n.º 16
0
 // Use this for initialization
 void Start()
 {
     currentSelection = 0;
     maxchoices       = 1;
     AxisChanged      = false;
     easyMode         = GameObject.FindObjectOfType <Options>().easyMode;
     if (Application.loadedLevelName == "Game")
     {
         generator = GameObject.FindGameObjectWithTag("Dungeon").GetComponent <RoomGeneration>();
     }
     playerHealth = GameObject.FindGameObjectWithTag("Player").GetComponent <Health>();
     dasLicht     = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerLight>();
     equipment    = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerEquipment>();
     anim         = GameObject.FindGameObjectWithTag("Player").GetComponent <Animator>();
 }
Ejemplo n.º 17
0
    void Start()
    {
        agent        = GetComponent <NavMeshAgent>();
        target       = GameObject.Find("Character");
        baker        = FindObjectOfType <NavigationBaker>();
        gen          = FindObjectOfType <RoomGeneration>();
        playerScript = FindObjectOfType <Player>();
        //patrolBase.Find("Map");

        alive = true;

        state = State.PATROL;

        StartCoroutine("FSM");
    }
Ejemplo n.º 18
0
 void Start()
 {
     timer = .1f;
     //ScreenshakeOn = false;
     alternate = false;
     player    = GameObject.FindGameObjectWithTag("Player");
     if (player != null)
     {
         transform.position = new Vector3(player.transform.position.x, player.transform.position.y, -20.0f);
     }
     dungeon = GameObject.FindGameObjectWithTag("Dungeon");
     if (dungeon != null)
     {
         generator = dungeon.GetComponent <RoomGeneration>();
     }
 }
Ejemplo n.º 19
0
    // Use this for initialization
    void Start()


    {
        data    = new PlayerData();
        options = GameObject.FindObjectOfType <Options>();
        player  = GameObject.FindGameObjectWithTag("Player");
        dungeon = GameObject.FindGameObjectWithTag("Dungeon");
        if (dungeon != null)
        {
            theRooms = dungeon.GetComponent <RoomGeneration>();
        }


        data.canyouload = true;
        LoadData();
    }
Ejemplo n.º 20
0
        // Use this for initialization
        void Start()
        {
            rolo       = GetComponent <RobotLoadout> ();
            parentRoom = GetComponentInParent <RoomGeneration> ();

            rolo.InitializeLoadout(
                new Item(),
                Database.instance.items[1],
                new Item(),
                Database.instance.items[18],
                new Item(),
                new Item(),
                new Item()
                );
            StartCoroutine(DefineRotation());
            StartCoroutine(SpawnBullets(rolo.loadout[3]));
        }
Ejemplo n.º 21
0
    void InstantiateRoom(RoomGeneration r, RoomInfo rInfo)
    {
        var room = Instantiate(rInfo.roomPrefab);

        room.transform.position = new Vector3(r.x * m_roomSize.x, r.y * m_roomSize.y, 1);
        RoomInstance instance = new RoomInstance();

        instance.room      = room;
        instance.type      = r.type;
        instance.x         = r.x;
        instance.y         = r.y;
        instance.upDoor    = r.upDoor;
        instance.downDoor  = r.downDoor;
        instance.leftDoor  = r.leftDoor;
        instance.rightDoor = r.rightDoor;

        if (instance.upDoor)
        {
            var door = Instantiate(m_topDoor, room.transform);
            door.transform.localPosition = new Vector3(0, m_roomSize.y / 2, -1);
        }
        if (instance.downDoor)
        {
            var door = Instantiate(m_downDoor, room.transform);
            door.transform.localPosition = new Vector3(0, -m_roomSize.y / 2, -1);
        }
        if (instance.rightDoor)
        {
            var door = Instantiate(m_rightDoor, room.transform);
            door.transform.localPosition = new Vector3(m_roomSize.x / 2, 0, -1);
        }
        if (instance.leftDoor)
        {
            var door = Instantiate(m_leftDoor, room.transform);
            door.transform.localPosition = new Vector3(-m_roomSize.x / 2, 0, -1);
        }
        if (r.type == RoomType.BossRoom)
        {
            var door = Instantiate(m_bossDoor, room.transform);
            door.transform.localPosition = new Vector3(0, m_roomSize.y / 2, -1);
        }

        m_rooms.Add(instance);
    }
 // Use this for initialization
 void Start()
 {
     coll        = GetComponent <CapsuleCollider2D> ();
     tracking    = transform.position;
     player      = FindObjectOfType <PlayerController> ();
     pathfinding = GetComponent <Pathfinding> ();
     cNavMesh    = GetComponentInParent <CustomNavMesh> ();
     myRoom      = GetComponentInParent <RoomGeneration> ();
     roLo        = GetComponent <RobotLoadout> ();
     anims       = GetComponentsInChildren <Animator> ();
     if (enemyType == 0)
     {
         basic = GetComponent <BasicEnemy> ();
     }
     if (enemyType == 1)
     {
         rangeShort = GetComponent <RangeShortEnemy> ();
     }
 }
Ejemplo n.º 23
0
    void Start()
    {
        timer     = .5f;
        player    = GameObject.FindGameObjectWithTag("Player");
        equipment = player.GetComponent <PlayerEquipment>();
        canvas    = GameObject.Find("Map&StatsCanvas");
        canvas.SetActive(false);
        showing = false;

        Texture2D texture = new Texture2D(1, 1);

        texture.wrapMode = TextureWrapMode.Repeat;
        texture.SetPixel(1, 1, new Color(.75f, .75f, .75f));
        texture.Apply();
        style = new GUIStyle();
        style.normal.background = texture;

        Texture2D texture2 = new Texture2D(1, 1);

        texture2.wrapMode = TextureWrapMode.Repeat;
        texture2.SetPixel(1, 1, Color.blue);
        texture2.Apply();
        crStyle = new GUIStyle();
        crStyle.normal.background = texture2;

        Texture2D door = new Texture2D(1, 1);

        door.wrapMode = TextureWrapMode.Repeat;
        door.SetPixel(1, 1, Color.magenta);
        door.Apply();
        doorStyle = new GUIStyle();
        doorStyle.normal.background = door;


        dungeon = GameObject.FindGameObjectWithTag("Dungeon");
        if (dungeon)
        {
            generator = dungeon.GetComponent <RoomGeneration>();
        }
        easyMode = GameObject.FindObjectOfType <Options>().easyMode;
    }
    void Start()
    {
        theoptions   = GameObject.Find("TheOptions").GetComponent <Options>();
        hitTimer     = 0;
        playerDead   = false;
        player       = GameObject.FindGameObjectWithTag("Player");
        anim         = gameObject.GetComponent <Animator>();
        playerHealth = player.GetComponent <Health>();
        equipment    = player.GetComponent <PlayerEquipment>();
        if (this.tag == "Player")
        {
            healthBar = GameObject.FindGameObjectWithTag("HealthBar");
        }
        healthPercent = currentHP / maxHP;

        dungeon = GameObject.FindGameObjectWithTag("Dungeon");
        if (dungeon != null)
        {
            generator = dungeon.GetComponent <RoomGeneration>();
        }
    }
Ejemplo n.º 25
0
    void Start()
    {
        Roommanager = RoomGeneration.instance;

        if (Intercection)
        {
            switch (Roommanager.LatestDirection)
            {
            case Direction.Up:

                Roommanager.CreateRoom(Roommanager.CreateHallway(gameObject.transform, Direction.Up, false), Direction.Up);
                Roommanager.CreateRoom(Roommanager.CreateHallway(gameObject.transform, Direction.Rigth, false), Direction.Rigth);
                Roommanager.CreateRoom(Roommanager.CreateHallway(gameObject.transform, Direction.Left, false), Direction.Left);
                break;

            case Direction.Left:

                Roommanager.CreateRoom(Roommanager.CreateHallway(gameObject.transform, Direction.Up, false), Direction.Up);
                Roommanager.CreateRoom(Roommanager.CreateHallway(gameObject.transform, Direction.Left, false), Direction.Left);
                Roommanager.CreateRoom(Roommanager.CreateHallway(gameObject.transform, Direction.Down, false), Direction.Down);
                break;

            case Direction.Down:
                Roommanager.CreateRoom(Roommanager.CreateHallway(gameObject.transform, Direction.Down, false), Direction.Down);
                Roommanager.CreateRoom(Roommanager.CreateHallway(gameObject.transform, Direction.Rigth, false), Direction.Rigth);
                Roommanager.CreateRoom(Roommanager.CreateHallway(gameObject.transform, Direction.Left, false), Direction.Left);
                break;

            case Direction.Rigth:
                Roommanager.CreateRoom(Roommanager.CreateHallway(gameObject.transform, Direction.Up, false), Direction.Up);
                Roommanager.CreateRoom(Roommanager.CreateHallway(gameObject.transform, Direction.Rigth, false), Direction.Rigth);
                Roommanager.CreateRoom(Roommanager.CreateHallway(gameObject.transform, Direction.Down, false), Direction.Down);
                break;

            default:
                break;
            }
        }
    }
Ejemplo n.º 26
0
 void CreateBossRoom(List <RoomGeneration> rooms)
 {
     for (int i = rooms.Count - 1; i >= 0; i--)
     {
         var r = rooms[i];
         if (CanGo(new Vector2Int(r.x, r.y + 1), rooms))
         {
             RoomGeneration newRoom = new RoomGeneration();
             newRoom.x        = r.x;
             newRoom.y        = r.y + 1;
             r.upDoor         = true;
             newRoom.downDoor = true;
             rooms.Add(newRoom);
             return;
         }
         if (CanGo(new Vector2Int(r.x - 1, r.y), rooms))
         {
             RoomGeneration newRoom = new RoomGeneration();
             newRoom.x         = r.x - 1;
             newRoom.y         = r.y;
             r.leftDoor        = true;
             newRoom.rightDoor = true;
             rooms.Add(newRoom);
             return;
         }
         if (CanGo(new Vector2Int(r.x + 1, r.y), rooms))
         {
             RoomGeneration newRoom = new RoomGeneration();
             newRoom.x        = r.x + 1;
             newRoom.y        = r.y;
             r.rightDoor      = true;
             newRoom.leftDoor = true;
             rooms.Add(newRoom);
             return;
         }
     }
 }
Ejemplo n.º 27
0
 void Start()
 {
     spawnCoordinates = transform.position;
     roomGeneration   = GameObject.FindGameObjectWithTag("GenerationManager").GetComponent <RoomGeneration>();
     spawnLimit       = AmountToSpawn();
 }
Ejemplo n.º 28
0
    [SerializeField] float[] flipProbabilities; //x, y, both, otherwise no flip

    // Start is called before the first frame update
    void Start()
    {
        RoomGeneration roomGenerator = transform.root.GetComponent <RoomGeneration>();
        Room           room          = roomGenerator.room;
        QRand          qrand         = FindObjectOfType <QRand>();
        // qrand.InitState(room.Seed); //Change the seed based on the location
        float random = qrand.NextFloat();

        //Random.InitState(room.Seed); //TODO something addition to make new combinations
        //float random = Random.value;

        //Debug.Log(random);
        float cumulativeProbability = 0f;

        for (int i = 0; i < probabilities.Length; i++)
        {
            cumulativeProbability += probabilities[i];
            if (cumulativeProbability >= random)
            {
                GameObject roomPart = Instantiate(roomParts[i], transform.position, Quaternion.identity, transform.parent);
                //roomPart.transform.parent = roomGenerator.transform.Find("Layout").transform;
                roomPart.transform.parent = gameObject.transform;
                break;
            }
        }

        random = qrand.NextFloat();
        cumulativeProbability = 0f;
        bool x = false;
        bool y = false;

        for (int i = 0; i < flipProbabilities.Length; i++)
        {
            cumulativeProbability += flipProbabilities[i];
            if (cumulativeProbability >= random)
            {
                if (i == 0 || i == 2)
                {
                    x = true;
                }
                if (i == 1 || i == 2)
                {
                    y = true;
                }
                Debug.Log("Probs: " + i);
            }
        }

        Debug.Log(x + ", " + y);

        int j = 0;

        if (transform.childCount > 0)
        {
            foreach (Transform child in transform.GetChild(0))
            {
                if (x)
                {
                    child.localPosition = new Vector3(-child.localPosition.x, child.localPosition.y, child.localPosition.z);
                }
                if (y)
                {
                    child.localPosition = new Vector3(child.localPosition.x, -child.localPosition.y, child.localPosition.z);
                }
                child.parent = roomGenerator.transform.Find("Layout").transform;
                Debug.Log("Childs: " + j);
                j += 1;
            }
        }


        //This game object is not neede anymore
        Destroy(gameObject);
    }
Ejemplo n.º 29
0
 // Loads object when in the same room as object.
 private void LoadObject()
 {
     col        = GetComponent <Collider2D> ();
     myRoom     = GetComponentInParent <RoomGeneration> ();
     gameLoaded = true;
 }
Ejemplo n.º 30
0
    void Update()
    {
        if (isPaused)
        {
            Debug.Log(Input.mousePosition);
            //if (InputManager.controller)
            {
                #region Controller Input
                if (axisChanged && Input.GetAxis("CLSVertical") == 0.0f && Input.GetAxis("CDPadVertical") == 0.0f &&
                    Input.GetAxis("CLSHorizontal") == 0.0f && Input.GetAxis("CDPadHorizontal") == 0.0f &&
                    Input.GetAxis("KBVertical") == 0.0f && Input.GetAxis("KBHorizontal") == 0f)
                {
                    axisChanged = false;
                }
                if (!axisChanged && (Input.GetAxis("CLSVertical") > 0.0f || Input.GetAxis("CDPadVertical") > 0.0f))
                {
                    if (!optionsMode)
                    {
                        currOption--;
                    }
                    else
                    {
                        currOptionOption--;
                    }
                    axisChanged = true;
                }
                if (!axisChanged && (Input.GetAxis("CLSVertical") < 0.0f || Input.GetAxis("CDPadVertical") < 0.0f))
                {
                    if (!optionsMode)
                    {
                        currOption++;
                    }
                    else
                    {
                        currOptionOption++;
                    }
                    axisChanged = true;
                }
                #endregion
            }
            //else
            {
                #region KB/M Input
                if (!axisChanged && Input.GetAxis("KBVertical") > 0.0f)
                {
                    if (!optionsMode)
                    {
                        currOption--;
                    }
                    else
                    {
                        currOptionOption--;
                    }
                    axisChanged = true;
                }
                if (!axisChanged && Input.GetAxis("KBVertical") < 0.0f)
                {
                    if (!optionsMode)
                    {
                        currOption++;
                    }
                    else
                    {
                        currOptionOption++;
                    }
                    axisChanged = true;
                }
                #endregion
            }
            #region Wrapping
            if (currOption < 0)
            {
                currOption = numOptions - 1;
            }
            else if (currOption >= numOptions)
            {
                currOption = 0;
            }

            if (currOptionOption < 0)
            {
                currOptionOption = numOptionOptions - 1;
            }
            else if (currOptionOption >= numOptionOptions)
            {
                currOptionOption = 0;
            }
            #endregion

            if (!optionsMode)
            {
                if (mousePrevPos.x != Input.mousePosition.x || mousePrevPos.y != Input.mousePosition.y)
                {
                    if (resumeRect.Contains(Input.mousePosition))
                    {
                        currOption = 0;
                    }
                    if (optionsRect.Contains(Input.mousePosition))
                    {
                        currOption = 1;
                    }
                    if (quitRect.Contains(Input.mousePosition))
                    {
                        currOption = 2;
                    }
                }
                switch (currOption)
                {
                case 0:
                    #region Resume
                    SelectorRemains.transform.localPosition = new Vector3(-100f, 80f, -5.1f);
                    if (Input.GetButtonDown("CMenuAccept"))
                    {
                        // Resume Code Here
                        GameObject[] allObjects;
                        allObjects = GameObject.FindObjectsOfType <GameObject>();
                        //isPaused = !isPaused;
                        foreach (GameObject obj in allObjects)
                        {
                            obj.SendMessage("UnPause", SendMessageOptions.DontRequireReceiver);
                        }
                        GameObject.Find("InputManager").GetComponent <InputManager>().isPaused = false;
                    }
                    else if (Input.GetButtonDown("KBMenuAccept"))
                    {
                        // Resume Code Here
                        GameObject[] allObjects;
                        allObjects = GameObject.FindObjectsOfType <GameObject>();
                        //isPaused = !isPaused;
                        foreach (GameObject obj in allObjects)
                        {
                            obj.SendMessage("UnPause", SendMessageOptions.DontRequireReceiver);
                        }
                        GameObject.Find("InputManager").GetComponent <InputManager>().isPaused = false;
                    }
                    if (resumeRect.Contains(Input.mousePosition) && Input.GetButtonDown("KBSpells"))
                    {
                        // Resume Code Here
                        GameObject[] allObjects;
                        allObjects = GameObject.FindObjectsOfType <GameObject>();
                        //isPaused = !isPaused;
                        foreach (GameObject obj in allObjects)
                        {
                            obj.SendMessage("UnPause", SendMessageOptions.DontRequireReceiver);
                        }
                        GameObject.Find("InputManager").GetComponent <InputManager>().isPaused = false;
                    }
                    break;

                    #endregion
                case 1:
                    #region Options Menu Stuff
                    SelectorRemains.transform.localPosition = new Vector3(-105f, 30f, -5.1f);
                    if (Input.GetButtonDown("CMenuAccept"))
                    {
                        // Options Code Here
                        SwapMode();
                    }
                    else if (Input.GetButtonDown("KBMenuAccept"))
                    {
                        // Options Code Here
                        SwapMode();
                    }
                    if (optionsRect.Contains(Input.mousePosition) && Input.GetButtonDown("KBSpells"))
                    {
                        SwapMode();
                    }
                    break;

                    #endregion
                case 2:
                    #region Quit
                    SelectorRemains.transform.localPosition = new Vector3(-70f, -85f, -5.1f);
                    if (Application.loadedLevelName == "Game")
                    {
                        SelectorRemains.transform.localPosition = new Vector3(-120f, -85f, -5.1f);
                    }
                    if (Input.GetButtonDown("CMenuAccept"))
                    {
                        // Save & Quit Code Here
                        GameObject dungeon = GameObject.FindGameObjectWithTag("Dungeon");
                        if (dungeon)
                        {
                            RoomGeneration gen = dungeon.GetComponent <RoomGeneration>();
                            if (GameObject.FindGameObjectsWithTag("Enemy").Length + GameObject.FindGameObjectsWithTag("Invincible").Length > 0)
                            {
                                gen.finalRoomInfoArray[gen.currentRoom].beenThere = false;
                                if (gen.currentRoom > 0)
                                {
                                    gen.currentRoom -= 1;
                                }
                            }
                            GameObject.FindObjectOfType <Options>().GetComponent <SaveTest>().Save();
                        }
                        Application.LoadLevel("MainMenu");
                    }
                    else if (Input.GetButtonDown("KBMenuAccept"))
                    {
                        // Save & Quit Code Here
                        GameObject dungeon = GameObject.FindGameObjectWithTag("Dungeon");
                        if (dungeon)
                        {
                            RoomGeneration gen = dungeon.GetComponent <RoomGeneration>();
                            if (GameObject.FindGameObjectsWithTag("Enemy").Length + GameObject.FindGameObjectsWithTag("Invincible").Length > 0)
                            {
                                gen.finalRoomInfoArray[gen.currentRoom].beenThere = false;
                                if (gen.currentRoom > 0)
                                {
                                    gen.currentRoom -= 1;
                                }
                            }
                            GameObject.FindObjectOfType <Options>().GetComponent <SaveTest>().Save();
                        }
                        Application.LoadLevel("MainMenu");
                    }
                    if (quitRect.Contains(Input.mousePosition) && Input.GetButtonDown("KBSpells"))
                    {
                        GameObject dungeon = GameObject.FindGameObjectWithTag("Dungeon");
                        if (dungeon)
                        {
                            RoomGeneration gen = dungeon.GetComponent <RoomGeneration>();
                            if (GameObject.FindGameObjectsWithTag("Enemy").Length + GameObject.FindGameObjectsWithTag("Invincible").Length > 0)
                            {
                                gen.finalRoomInfoArray[gen.currentRoom].beenThere = false;
                                if (gen.currentRoom > 0)
                                {
                                    gen.currentRoom -= 1;
                                }
                            }
                            GameObject.FindObjectOfType <Options>().GetComponent <SaveTest>().Save();
                        }
                        Application.LoadLevel("MainMenu");
                    }
                    break;

                    #endregion
                default:
                    break;
                }
            }
            else
            {
                if (mousePrevPos.x != Input.mousePosition.x || mousePrevPos.y != Input.mousePosition.y)
                {
                    if (sfxRect.Contains(Input.mousePosition))
                    {
                        currOptionOption = 0;
                    }
                    if (musicRect.Contains(Input.mousePosition))
                    {
                        currOptionOption = 1;
                    }
                    if (fullscreenRect.Contains(Input.mousePosition))
                    {
                        currOptionOption = 2;
                    }
                    if (controlsRect.Contains(Input.mousePosition))
                    {
                        currOptionOption = 3;
                    }
                    if (backRect.Contains(Input.mousePosition))
                    {
                        currOptionOption = 4;
                    }
                }
                switch (currOptionOption)
                {
                case 0:
                    #region SFX
                    SelectorRemains.transform.localPosition = new Vector3(-150f, 130f, -5.1f);
                    if (!axisChanged && (Input.GetAxis("CLSHorizontal") < 0.0f || Input.GetAxis("CDPadHorizontal") < 0.0f))
                    {
                        // Decrease SFX Volume
                        GameObject.FindObjectOfType <Options>().sfxDecrease();
                        sVolume.text = "SFX Volume: " + GameObject.FindObjectOfType <Options>().sfxVolume.ToString();
                        axisChanged  = true;
                    }
                    else if (!axisChanged && (Input.GetAxis("CLSHorizontal") > 0.0f || Input.GetAxis("CDPadHorizontal") > 0.0f))
                    {
                        // Increase SFX Volume
                        GameObject.FindObjectOfType <Options>().sfxIncrease();
                        sVolume.text = "SFX Volume: " + GameObject.FindObjectOfType <Options>().sfxVolume.ToString();
                        axisChanged  = true;
                    }
                    else if (!axisChanged && Input.GetAxis("KBHorizontal") < 0.0f)
                    {
                        // Decrease SFX Volume
                        GameObject.FindObjectOfType <Options>().sfxDecrease();
                        sVolume.text = "SFX Volume: " + GameObject.FindObjectOfType <Options>().sfxVolume.ToString();
                        axisChanged  = true;
                    }
                    else if (!axisChanged && Input.GetAxis("KBHorizontal") > 0.0f)
                    {
                        // Increase SFX Volume
                        GameObject.FindObjectOfType <Options>().sfxIncrease();
                        sVolume.text = "SFX Volume: " + GameObject.FindObjectOfType <Options>().sfxVolume.ToString();
                        axisChanged  = true;
                    }
                    if (sfxLeftRect.Contains(Input.mousePosition) && Input.GetButtonDown("KBSpells"))
                    {
                        GameObject.FindObjectOfType <Options>().sfxDecrease();
                        sVolume.text = "SFX Volume: " + GameObject.FindObjectOfType <Options>().sfxVolume.ToString();
                    }
                    if (sfxRightRect.Contains(Input.mousePosition) && Input.GetButtonDown("KBSpells"))
                    {
                        GameObject.FindObjectOfType <Options>().sfxIncrease();
                        sVolume.text = "SFX Volume: " + GameObject.FindObjectOfType <Options>().sfxVolume.ToString();
                    }
                    #endregion
                    break;

                case 1:
                    #region Music
                    SelectorRemains.transform.localPosition = new Vector3(-160f, 80f, -5.1f);
                    if (!axisChanged && (Input.GetAxis("CLSHorizontal") < 0.0f || Input.GetAxis("CDPadHorizontal") < 0.0f))
                    {
                        // Decrease Music Volume
                        GameObject.FindObjectOfType <Options>().musicDecrease();
                        mVolume.text = "Music Volume: " + GameObject.FindObjectOfType <Options>().musicVolume.ToString();
                        axisChanged  = true;
                    }
                    else if (!axisChanged && (Input.GetAxis("CLSHorizontal") > 0.0f || Input.GetAxis("CDPadHorizontal") > 0.0f))
                    {
                        // Increase Music Volume
                        GameObject.FindObjectOfType <Options>().musicIncrease();
                        mVolume.text = "Music Volume: " + GameObject.FindObjectOfType <Options>().musicVolume.ToString();
                        axisChanged  = true;
                    }
                    else if (!axisChanged && Input.GetAxis("KBHorizontal") < 0.0f)
                    {
                        // Decrease Music Volume
                        GameObject.FindObjectOfType <Options>().musicDecrease();
                        mVolume.text = "Music Volume: " + GameObject.FindObjectOfType <Options>().musicVolume.ToString();
                        axisChanged  = true;
                    }
                    else if (!axisChanged && Input.GetAxis("KBHorizontal") > 0.0f)
                    {
                        // Increase Music Volume
                        GameObject.FindObjectOfType <Options>().musicIncrease();
                        mVolume.text = "Music Volume: " + GameObject.FindObjectOfType <Options>().musicVolume.ToString();
                        axisChanged  = true;
                    }
                    if (musicLeftRect.Contains(Input.mousePosition) && Input.GetButtonDown("KBSpells"))
                    {
                        GameObject.FindObjectOfType <Options>().musicDecrease();
                        mVolume.text = "Music Volume: " + GameObject.FindObjectOfType <Options>().musicVolume.ToString();
                    }
                    if (musicRightRect.Contains(Input.mousePosition) && Input.GetButtonDown("KBSpells"))
                    {
                        GameObject.FindObjectOfType <Options>().musicIncrease();
                        mVolume.text = "Music Volume: " + GameObject.FindObjectOfType <Options>().musicVolume.ToString();
                    }
                    #endregion
                    break;

                case 2:
                    #region Fullscreen
                    SelectorRemains.transform.localPosition = new Vector3(-100f, 30f, -5.1f);
                    if (Input.GetButtonDown("CMenuAccept"))
                    {
                        if (Screen.fullScreen)
                        {
                            Screen.SetResolution(1280, 720, !Screen.fullScreen);
                        }
                        else
                        {
                            Screen.SetResolution(1280, 720, Screen.fullScreen);
                        }
                        Screen.fullScreen = !Screen.fullScreen;
                    }
                    else if (Input.GetButtonDown("KBMenuAccept"))
                    {
                        if (Screen.fullScreen)
                        {
                            Screen.SetResolution(1280, 720, !Screen.fullScreen);
                        }
                        else
                        {
                            Screen.SetResolution(1280, 720, Screen.fullScreen);
                        }
                        Screen.fullScreen = !Screen.fullScreen;
                    }
                    if (fullscreenRect.Contains(Input.mousePosition) && Input.GetButtonDown("KBSpells"))
                    {
                        if (Screen.fullScreen)
                        {
                            Screen.SetResolution(1280, 720, !Screen.fullScreen);
                        }
                        else
                        {
                            Screen.SetResolution(1280, 720, Screen.fullScreen);
                        }
                        Screen.fullScreen = !Screen.fullScreen;
                    }
                    #endregion
                    break;

                case 3:
                    #region Control Mode
                    SelectorRemains.transform.localPosition = new Vector3(-180f, -25f, -5.1f);
                    if (Input.GetButtonDown("CMenuAccept"))
                    {
                        InputManager.controller = !InputManager.controller;
                        controlMode.text        = "Controls: " + (InputManager.controller ? "Controller" : "KB/Mouse");
                    }
                    else if (Input.GetButtonDown("KBMenuAccept"))
                    {
                        InputManager.controller = !InputManager.controller;
                        controlMode.text        = "Controls: " + (InputManager.controller ? "Controller" : "KB/Mouse");
                    }
                    if (controlsRect.Contains(Input.mousePosition) && Input.GetButtonDown("KBSpells"))
                    {
                        InputManager.controller = !InputManager.controller;
                        controlMode.text        = "Controls: " + (InputManager.controller ? "Controller" : "KB/Mouse");
                    }
                    #endregion
                    break;

                case 4:
                    #region Back
                    SelectorRemains.transform.localPosition = new Vector3(-70f, -85f, -5.1f);
                    if (InputManager.controller && Input.GetButtonDown("CMenuAccept"))
                    {
                        SwapMode();
                    }
                    else if (!InputManager.controller && Input.GetButtonDown("KBMenuAccept"))
                    {
                        SwapMode();
                    }
                    if (backRect.Contains(Input.mousePosition) && Input.GetButtonDown("KBSpells"))
                    {
                        SwapMode();
                    }
                    #endregion
                    break;

                default:
                    break;
                }
            }
        }
        mousePrevPos = Input.mousePosition;
    }