Ejemplo n.º 1
0
    public void SetGrid(myGrid <PathNode> grid)
    {
        this.grid = grid;
        UpdateVisual();

        grid.OnGridObjectChanged += Grid_OnGridValueChanged;
    }
Ejemplo n.º 2
0
    void Awake()
    {
        _thistransform = GetComponent <Transform>();


        level_grid = new myGrid(grid_width, grid_height, _thistransform);
    }
Ejemplo n.º 3
0
    // Start is called before the first frame update
    void Start()
    {
        instance = this;
        Fade.Play("Black");
        pauseScreen.SetActive(false);
        winScreen.SetActive(false);

        // un-mute npcs
        GameData.instance.muteFX = false;

        // load data from GameData
        width  = GameData.instance.gridWidth;
        height = GameData.instance.gridHeight;
        Vector3 origin = GameData.instance.gridOrigin;

        worldCamera = Camera.main;
        pathfinding = new Pathfinding(width, height, origin);
        grid        = pathfinding.GetGrid();
        GameData.instance.LoadGameWalkableTiles();

        /*
         * if (GameData.instance.devTools)
         * {
         *  grid.DrawGrid();
         *  pathfindingVisual.SetGrid(grid);
         * }
         */

        // start game
        StartCoroutine(GameInit());
    }
Ejemplo n.º 4
0
    public void InitializeGrid()
    {
        Dictionary <string, myGrid> current = new Dictionary <string, myGrid>();

        for (int x = 0; x < transform.childCount; x++)
        {
            myGrid mg = transform.GetChild(x).GetComponent <myGrid>();
            current.Add(mg.posX + " " + mg.posY, mg);
        }
        grid = new myGrid[gridX, gridY];
        for (int x = 0; x < gridX; x++)
        {
            for (int y = 0; y < gridY; y++)
            {
                if (current.ContainsKey(x + " " + y))
                {
                    grid[x, y] = current[x + " " + y];
                }
                else
                {
                    GameObject t    = Instantiate(defaultTile, transform);
                    myGrid     temp = t.AddComponent <myGrid>();
                    temp.setGrid(x, y);
                    t.transform.rotation = defaultTile.transform.rotation;
                    t.transform.position = tileLocation(x, y);
                }
            }
        }
    }
Ejemplo n.º 5
0
 public void resetTilePosition()
 {
     if (Heightmap == null)
     {
         for (int x = 0; x < transform.childCount; x++)
         {
             myGrid mg = transform.GetChild(x).GetComponent <myGrid>();
             mg.transform.position = tileLocation(mg.posX, mg.posY);
         }
     }
     else
     {
         for (int x = 0; x < transform.childCount; x++)
         {
             myGrid    mg   = transform.GetChild(x).GetComponent <myGrid>();
             Mesh      m    = transform.GetChild(x).GetComponent <MeshFilter>().mesh;
             Vector3[] vert = getWorldSpaceVertices(mg.gameObject);
             mg.transform.position = tileLocation(mg.posX, mg.posY);
             Debug.Log(m.vertices[0]);
             for (int y = 0; y < vert.Length; y++)
             {
                 //Debug.Log(m.vertices[y]);
                 vert[y].z = Heightmap.GetPixelBilinear(vert[y].x * HeightMapStepSpeed / Heightmap.width, vert[y].z * HeightMapStepSpeed / Heightmap.height).g *HeightmapScale;
                 //Debug.Log(vert[y]);
                 vert[y].z -= HeightmapScale / 2;
                 vert[y].x  = m.vertices[y].x;
                 vert[y].y  = m.vertices[y].y;
             }
             m.vertices = vert;
             m.RecalculateNormals();
         }
     }
 }
Ejemplo n.º 6
0
 public PathNode(myGrid <PathNode> grid, int x, int y)
 {
     this.grid       = grid;
     this.x          = x;
     this.y          = y;
     this.isWalkable = true;
     //this.isWalkable = GameData.instance.walkableTiles[x, y];
 }
    private void Start()
    {
        create_grid = gameObject.GetComponentInParent <CreateGrid>();
        grid        = create_grid.level_grid;



        intY = Mathf.FloorToInt(gameObject.transform.localPosition.y * -1);
        intX = Mathf.FloorToInt(gameObject.transform.localPosition.x);
    }
Ejemplo n.º 8
0
 // Use this for initialization
 protected virtual void Start()
 {
     grid               = GameManager.grid;
     currentNode        = grid.GetNodeContainingPosition(transform.position);
     transform.position = currentNode.worldPosition;
     nextNode           = grid.GetNeighboursDown(currentNode);
     nextPos            = nextNode.worldPosition;
     currentNode.Grita();
     CorrectPosition();
     currentNode.isFull = true;
 }
    // Start is called before the first frame update
    void Start()
    {
        // intro fade animation
        Fade.gameObject.SetActive(true);
        Fade.Play("Black");

        // advance mode
        AdvanceMode.interactable = GameData.instance.isAdvanceModeUnlocked();

        // start menu coroutine
        StartCoroutine(Init());
        instance = this;

        // mute npcs
        GameData.instance.muteFX = true;

        // set menus active
        MainMenu.SetActive(true);
        PlayMenu.SetActive(false);
        SettingsMenu.SetActive(false);
        Credits.SetActive(false);

        // load data from GameData
        width  = GameData.instance.menuGridWidth;
        height = GameData.instance.menuGridHeight;
        Vector3 origin = GameData.instance.menuGridOrigin;

        worldCamera = Camera.main;
        pathfinding = new Pathfinding(width, height, origin);
        grid        = pathfinding.GetGrid();
        GameData.instance.LoadMenuWalkableTiles();

        if (GameData.instance.devTools)
        {
            grid.DrawGrid();
            pathfindingVisual.SetGrid(grid);
        }
    }
Ejemplo n.º 10
0
 public static void SetGrid(myGrid _grid)
 {
     grid = _grid;
 }
Ejemplo n.º 11
0
    private List <PathNode> closedList; // nodes that have already been searched

    public Pathfinding(int width, int height, Vector3 origin)
    {
        instance = this;
        grid     = new myGrid <PathNode>(width, height, 1f, origin, (myGrid <PathNode> g, int x, int y) => new PathNode(g, x, y));
    }
Ejemplo n.º 12
0
 private void Grid_OnGridValueChanged(object sender, myGrid <PathNode> .OnGridObjectChangedEventArgs e)
 {
     updateMesh = true;
 }