Skip to content
Snippets Groups Projects
Select Git revision
  • 4351a3e0c0ec624bc8fe7a1c9336312da2ec2bf7
  • main default protected
  • docs
  • rs_doc
  • FinishedBranch
  • ruud1
  • gardaf
  • master3
  • master2
  • master
  • alexplaytest
  • ruud
  • alex
  • JuliusSinNyeBranch
  • gardTest
15 results

FollowPlayer.cs

Blame
  • FollowPlayer.cs 3.40 KiB
    using System.Collections.Generic;
    using BigSock.Interact;
    using Cinemachine;
    using UnityEngine;
    
    
    namespace Bigsock
    {
        public class FollowPlayer : MonoBehaviour
        {
            [SerializeField]
            private NeighbourMapGenerator neighborMapGenerator;
            [SerializeField]
            private CinemachineConfiner2D cameraMap;
    
            private int levels = 1;
    
    
            Vector3 offset = new Vector3(0, 0, -10);
            int i = 0;
    
            GameObject[] boss;
            GameObject player;
            GameObject[] enemies;
            GameObject[] Chest;
            List<GameObject> chests;
            GameObject stair;
            private int roomNr = 0;
            bool stairs_down;
    
            void Start()
            {
                chests = new List<GameObject>();
                neighborMapGenerator.RunProceduralGeneration();
                player = GameObject.Find("BigSock");
                stair = GameObject.Find("Stairs(Clone)");
                Chest = GameObject.FindGameObjectsWithTag("Chest");
                foreach(GameObject c in Chest)
                {
                    chests.Add(c);
                    c.SetActive(false);
                }
                stairs_down = stair.GetComponent<Stairs>().stairs_touch;
                stair.SetActive(false);
            }
    
            void LateUpdate()
            {
                boss = GameObject.FindGameObjectsWithTag("Boss");
                enemies = GameObject.FindGameObjectsWithTag((roomNr).ToString());
                if (boss.Length == 0 && levels <= 1)
                {
                    stair.SetActive(true);
                    stairs_down = stair.GetComponent<Stairs>().stairs_touch;
                }
                
    
                if (stairs_down)
                {
                    roomNr = 0;
                    foreach(GameObject c in chests)
                    {
                        DestroyImmediate(c);
                    }
                    DestroyImmediate(stair);
                    chests.Clear();
                    TilemapGenerator.resetMaps();
                    TilemapGenerator.SetRoomIDZero();
                    player.transform.position = new Vector3(9,5,0);
                    neighborMapGenerator.RunProceduralGeneration();