示例#1
0
    public void changeLevel()
    {
        print("change");

        RoomHolder holder = RQ.Dequeue();

        if (holder.PsychFirst)
        {
            var ps = Psych;
            ps.NextRoom = holder.NextRoom;

            RQ.Enqueue(ps);              //pysch
        }
        else
        {
            RQ.Enqueue(holder.NextRoom);
        }

        if (curEnabled != null)
        {
            curEnabled.gameObject.SetActive(false);
        }

        curEnabled = holder;
        holder.gameObject.SetActive(true);
        setPlayerPositionAndRotation(holder.SpawnPoint);


        try{
            BlinkController.OnBlink -= changeLevel;
        } catch (System.Exception e) {
        }
    }
 /// <summary>
 /// Spawns the rooms on the map
 /// <\summary>
 void Awake()
 {
     rooms  = GetComponent <RoomHolder>();
     player = Instantiate(player, playerSpawnpoint, Quaternion.identity);
     NextLevel.SetLevelsComplete(0);
     SpawnMap();
 }
示例#3
0
    public void Init(GameObject prefab, Transform parent)
    {
        this.instance = Object.Instantiate(prefab, new Vector2(gridPos.x * LevelGeneration.I.roomWidth, gridPos.y * LevelGeneration.I.roomHeight), Quaternion.identity, parent).transform;
        roomHolder    = instance.GetComponent <RoomHolder>();

        corridorTilemap = roomHolder.corridorTilemap;
        obstacleTilemap = roomHolder.obstacleTilemap;
        groundTilemap   = roomHolder.groundTilemap;

        roomHolder.Init(this);

        if (type == RoomType.START)
        {
            if (instance.Find("Portal"))
            {
                spawnPoint = (Vector2)instance.Find("Portal").position - new Vector2(0, 2);
            }
        }
    }