コード例 #1
0
    void Awake()
    {
        if (!room)
        {
            room = GetComponentInParent <DungeonRoomController>();
        }
        if (!dungeonManager)
        {
            dungeonManager = FindObjectOfType <DungeonManager>();
        }
        if (!enemyController)
        {
            enemyController = GetComponent <EnemyController>();
        }

        enemyController.GivesExperienceWhenKilled = false;
        //enemyController.HandleFightBack = t;


        if (!attackRadiusCollider || !activateRadiusCollider)
        {
            var colliders = GetComponents <SphereCollider>();
            if (colliders.Length == 2)
            {
                attackRadiusCollider   = colliders[0];
                activateRadiusCollider = colliders[1];
            }
            else
            {
                Debug.LogError("Blerp");
            }
        }

        name = "___DUNGEON__BOSS___";
    }
コード例 #2
0
    public void NextRoom()
    {
        currentRoom.Exit();
        currentRoomIndex = (currentRoomIndex + 1) % rooms.Length;
        if (currentRoomIndex == 0)
        {
            Exit();
            return;
        }

        currentRoom = rooms[currentRoomIndex];
        currentRoom.Enter();
    }
コード例 #3
0
    // Start is called before the first frame update
    void Start()
    {
        if (!itemDropHandler)
        {
            itemDropHandler = GetComponent <ItemDropHandler>();
        }
        if (!dungeonManager)
        {
            dungeonManager = FindObjectOfType <DungeonManager>();
        }

        rooms            = GetComponentsInChildren <DungeonRoomController>();
        currentRoom      = rooms.FirstOrDefault(x => x.RoomType == DungeonRoomType.Start);
        currentRoomIndex = Array.IndexOf(rooms, currentRoom);
    }