/// <summary>
        /// Reset the data to it initial value
        /// </summary>
        public void ClearReccords()
        {
            CostSoFar          = 0;
            EstimatedTotalCost = 0;
            CameFrom           = null;

            State = ENodeRecordState.Unvisited;
        }
        /// <summary>
        /// Construct the NodeRecord and init it data
        /// </summary>
        /// <param name="coord"></param>
        /// <param name="nodeCost"></param>
        public NodeRecord(Vector2i coord, float nodeCost = 0f)
        {
            Coord = coord;

            NodeCost           = nodeCost;
            CostSoFar          = 0;
            EstimatedTotalCost = 0;
            CameFrom           = null;

            State = ENodeRecordState.Unvisited;
        }