Files
SingularityViewer/indra/newview/floaterao.h
2011-03-01 04:16:54 +01:00

132 lines
3.1 KiB
C++

#ifndef LL_LLFLOATERAO_H
#define LL_LLFLOATERAO_H
#include "llfloater.h"
#include "llviewercontrol.h"
#include "llagent.h"
class AONoteCardDropTarget;
const int STATE_AGENT_IDLE = 0;
const int STATE_AGENT_WALK = 1;
const int STATE_AGENT_RUN = 2;
const int STATE_AGENT_STAND = 3;
const int STATE_AGENT_PRE_JUMP = 4;
const int STATE_AGENT_JUMP = 5;
const int STATE_AGENT_TURNLEFT = 6;
const int STATE_AGENT_TURNRIGHT = 7;
const int STATE_AGENT_SIT = 8;
const int STATE_AGENT_GROUNDSIT = 9;
const int STATE_AGENT_HOVER = 10;
const int STATE_AGENT_HOVER_DOWN = 11;
const int STATE_AGENT_HOVER_UP = 12;
const int STATE_AGENT_CROUCH = 13;
const int STATE_AGENT_CROUCHWALK = 14;
const int STATE_AGENT_FALLDOWN = 15;
const int STATE_AGENT_STANDUP = 16;
const int STATE_AGENT_LAND = 17;
const int STATE_AGENT_FLY = 18;
const int STATE_AGENT_FLYSLOW = 19;
class AOStandTimer : public LLEventTimer
{
public:
AOStandTimer();
~AOStandTimer();
virtual BOOL tick();
virtual void reset();
};
class AOInvTimer : public LLEventTimer
{
public:
AOInvTimer();
~AOInvTimer();
BOOL tick();
};
class LLFloaterAO : public LLFloater
{
public:
LLFloaterAO();
virtual BOOL postBuild();
virtual ~LLFloaterAO();
static void show(void*);
static void init();
static void onClickToggleAO(LLUICtrl *, void*);
static void onClickToggleSits(LLUICtrl *, void*);
static void run();
static void updateLayout(LLFloaterAO* floater);
static BOOL loadAnims();
static int getAnimationState();
static void setAnimationState(int state);
static void setStates(const LLUUID& id, BOOL start);
static LLUUID getCurrentStandId();
static void setCurrentStandId(const LLUUID& id);
static int stand_iterator;
static BOOL ChangeStand();
static BOOL startMotion(const LLUUID& id, F32 time_offset = 0.f, BOOL stand = FALSE);
static BOOL stopMotion(const LLUUID& id, BOOL stop_immediate, BOOL stand = FALSE);
static LLUUID GetAnimID(const LLUUID& id);
static int GetStateFromAnimID(const LLUUID& id);
static LLUUID GetAnimIDFromState(const int state);
static int GetStateFromToken(std::string strtoken);
static void onClickLess(void* data) ;
static void onClickMore(void* data) ;
static void onClickPrevStand(void* userdata);
static void onClickNextStand(void* userdata);
static void onClickReloadCard(void* userdata);
static void onClickOpenCard(void* userdata);
static void onClickNewCard(void* userdata);
static LLUUID invfolderid;
static const LLUUID& getAssetIDByName(const std::string& name);
static bool getInstance();
private:
static LLFloaterAO* sInstance;
static int mAnimationState;
static LLUUID mCurrentStandId;
static AONoteCardDropTarget* mAOItemDropTarget;
static void AOItemDrop(LLViewerInventoryItem* item);
static void onSpinnerCommit(LLUICtrl* ctrl, void* userdata);
static void onComboBoxCommit(LLUICtrl* ctrl, void* userdata);
static BOOL SetDefault(void *userdata, LLUUID ao_id, std::string defaultanim);
BOOL mDirty;
protected:
static void onNotecardLoadComplete(LLVFS *vfs,const LLUUID& asset_uuid,LLAssetType::EType type,void* user_data, S32 status, LLExtStat ext_status);
};
extern AOInvTimer* gAOInvTimer;
#endif