#pragma once
#include "GameCore.h"
#include <vector>

class Node {
public:
    Node(void);
    Node(Node* parent, POINT* point);
    ~Node(void);

    // initialize
    void init(Node* parent, POINT* point);

    // getter setter parent
    Node* getParent();
    void  setParent(Node* parent);
    // getter setter tile
    POINT* getPoint();
    void   setPoint(POINT* tile);
    // getter setter given cost
    int  getGivenCost();
    void setGivenCost(int givenCost);
    // getter setter heuristic cost
    int  getHeuristicCost();
    void setHeuristicCost(POINT* point);
    // getter total cost
    int getTotalCost();

private:
    Node*  parent;
    POINT* point;
    int    givenCost;
    int    heuristicCost;
};

