#pragma once
#include "DirectXCore.h"

class ObjectNode
{
public:
	ObjectNode();

	void Update(XMFLOAT4X4& currentWorldTransform);

	XMVECTOR GetNodePosition();
	void SetNodePosition(XMVECTOR vectorIn);
	void SetNodePosition(XMFLOAT4 floatIn);
	void SetNodePosition(float x, float y, float z);
	void SetPitch(float pitch);
	void SetTotalPitch(float pitch);
	float GetPitch() const;
	void SetYaw(float yaw);
	void SetTotalYaw(float yaw);
	float GetYaw() const;
	void SetRoll(float roll);
	void SetTotalRoll(float roll);
	float GetRoll() const;
	void SetLeftRight(float leftRight);
	float GetLeftRight() const;
	void SetForwardBack(float forwardBack);
	float GetForwardBack() const;
	void SetStartOrientation(FXMMATRIX originalOrientation);	

protected:
	XMFLOAT4    _nodeRootPosition;

	float       _moveLeftRight;
	float       _moveForwardBack;

	float       _nodeYaw;
	float       _nodePitch;
	float       _nodeRoll;

	XMFLOAT4X4 _originalOrientation;
};

