//================================================================================
// StatusBaseHandle.
//================================================================================

class StatusBaseHandle extends WindowHandle
	Native;

struct GaugeTextureSplitData
{
	var string strTexture;
	var Texture pTexture;
	var int BarUSize;
	var int BarVSize;
	var Color Color;
	var int ratio;
};

enum StatusRoundSplitType {
	SRST_Back,
	SRST_Main,
	SRST_Trailer,
	SRST_Mask1,
	SRST_Mask2,
	SRST_Overlay
};

enum StatusBarSplitType {
	SBST_BackLeft, // 0
	SBST_BackCenter, // 1
	SBST_BackRight, // 2
	SBST_RegenLeft, // 3
	SBST_RegenCenter, // 4
	SBST_RegenRight, // 5
	SBST_ForeLeft, // 6
	SBST_ForeCenter, // 7
	SBST_ForeRight, // 8
	SBST_OverlayLeft, // 9
	SBST_OverlayCenter,
	SBST_OverlayRight,
	SBST_WarnLeft,
	SBST_WarnCenter,
	SBST_WarnRight,
	SBST_ForeLeft01,
	SBST_ForeCenter01,
	SBST_ForeRight01,
	SBST_ForeLeft02,
	SBST_ForeCenter02,
	SBST_ForeRight02,
	SBST_Trailer
};


native final function StatusBaseHandle GetSelfScript ();

native final function string GetGaugeTexture (int Type);

native final function SetGaugeTexture (int Type, string strTexture, optional int size1, optional int size2);

native final function Color GetGaugeColor (int Type);

native final function SetGaugeColor (int Type, Color Color);

native final function GetPoint (out INT64 CurrentValue, out INT64 MaxValue, optional out INT64 MinValue);

native final function ClearPoint ();

native final function SetPoint (INT64 CurrentValue, INT64 MaxValue);

native final function SetPointPercent (INT64 CurrentValue, INT64 MinValue, INT64 MaxValue);

native final function SetPointExpPercentRate (float CurrentPercentRate);

native final function SetRegenInfo (int Duration, int ticks, float Amount);