コード例 #1
0
    private void NewMaze()
    {
        LoadInventory();

        Maze = MazeGrid.CreateMaze(Options);

        Maze.Player                 = Instantiate(PlayerPrefab, transform);
        Maze.Player.Maze            = Maze;
        Maze.Player.Name            = "Player";
        Maze.Player.Location.Column = Maze.GetStartColumn();
        Maze.Player.SetPosition();

        int interceptorCount = Options.InterceptorCount + ((ScoreManager.ScoreMultiplier - 1) / 10);

        for (int i = 0; i < interceptorCount; i++)
        {
            NPCMazeExplorer interceptor = Instantiate(EnemyPrefab, transform);
            interceptor.Maze = Maze;
            interceptor.Name = $"Interceptor{i + 1}";
            interceptor.SetRandomLocation();
            interceptor.SetPosition();

            Maze.AddInterceptor(interceptor);
        }

        for (int i = 0; i < UnityEngine.Random.Range(0, 4); i++)
        {
            var itemLocation = Maze.GetRandomLocation();

            CombinableItem item = Instantiate(ItemPrefab, new Vector3(itemLocation.Column, -itemLocation.Row), Quaternion.identity, transform);
            item.ItemDef = Inventory.GetRandomItemDef();
        }

        RenderWalls();

        Maze.StartMovement();
    }
コード例 #2
0
    public void AddInterceptor(NPCMazeExplorer interceptor)
    {
        interceptor.Moved += Interceptor_Moved;

        Interceptors.Add(interceptor);
    }