#ifndef XPATHNODETRANSIENT_H
#define XPATHNODETRANSIENT_H

#include "xasset.h"

class XPathNode;

class XPathNodeTransient : public XAsset
{
public:
    explicit XPathNodeTransient();
    ~XPathNodeTransient();

    void ParseData(QDataStream *aStream) override;

    int GetSearchFrame() const;
    void SetSearchFrame(int frame);

    XPathNode *GetNextOpen() const;
    void SetNextOpen(XPathNode* node);

    XPathNode* GetPrevOpen() const;
    void SetPrevOpen(XPathNode* node);

    XPathNode* GetParent() const;
    void SetParent(XPathNode* parent);

    float GetCost() const;
    void SetCost(float cost);

    float GetHeuristic() const;
    void SetHeuristic(float heuristic);

    float GetCostFactor() const;
    void SetCostFactor(float factor);

private:
    int mSearchFrame;
    XPathNode* mNextOpen;
    XPathNode* mPrevOpen;
    XPathNode* mParent;
    float mCost;
    float mHeuristic;
    float mCostFactor;
};

#endif // XPATHNODETRANSIENT_H





