天龙Lua函数参考-客户端

0. Window
Window::s_pMetaTable = new LuaPlus::LuaObject;
*Window::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_Window");
Window::s_pMetaTable->SetObject("__index", *Window::s_pMetaTable);

Window::s_pMetaTable->RegisterObjectFunctor("SetProperty", &Window::setProperty);
Window::s_pMetaTable->RegisterObjectFunctor("GetProperty", &Window::getProperty);
Window::s_pMetaTable->RegisterObjectFunctor("GetType" , &Window::getType);
Window::s_pMetaTable->RegisterObjectFunctor("GetName" , &Window::getName);
Window::s_pMetaTable->RegisterObjectFunctor("GetText" , &Window::getText);
Window::s_pMetaTable->RegisterObjectFunctor("SetText" , &Window::setText);
Window::s_pMetaTable->RegisterObjectFunctor("SetTextOriginal" , &Window::setTextOriginal);
Window::s_pMetaTable->RegisterObjectFunctor("TransText" , &Window::TransText);
Window::s_pMetaTable->RegisterObjectFunctor("Show" , &Window::Show);
Window::s_pMetaTable->RegisterObjectFunctor("Hide" , &Window::Hide);
Window::s_pMetaTable->RegisterObjectFunctor("Disable" , &Window::Disable);
Window::s_pMetaTable->RegisterObjectFunctor("Enable" , &Window::Enable);
Window::s_pMetaTable->RegisterObjectFunctor("IsVisible" , &Window::IsVisible);
Window::s_pMetaTable->RegisterObjectFunctor("SetForce" , &Window::setForce);
Window::s_pMetaTable->RegisterObjectFunctor("SetToolTip", &Window::SetToolTip);
Window::s_pMetaTable->RegisterObjectFunctor("CaptureInput", &Window::CaptureInput);
Window::s_pMetaTable->RegisterObjectFunctor("CenterWindow", &Window::CenterWindow);
Window::s_pMetaTable->RegisterObjectFunctor("SetWindowCenter", &Window::SetWindowCenter);
Window::s_pMetaTable->RegisterObjectFunctor("SetClippedByParent", &Window::SetClippedByParent);
Window::s_pMetaTable->RegisterObjectFunctor("AutoMousePosition", &Window::AutoMousePosition);

//-----------------------------------------------------------
//1. Progress
ProgressBar::s_pMetaTable = new LuaPlus::LuaObject;
*ProgressBar::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_ProgressBar");
*ProgressBar::s_pMetaTable = *Window::s_pMetaTable;
ProgressBar::s_pMetaTable->SetObject("__index", *ProgressBar::s_pMetaTable);

ProgressBar::s_pMetaTable->RegisterObjectFunctor("SetProgress" , &ProgressBar::SetProgress);

//-----------------------------------------------------------
//2. ActionButton
ActionButton::s_pMetaTable = new LuaPlus::LuaObject;
*ActionButton::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_ActionButton");
*ActionButton::s_pMetaTable = *Window::s_pMetaTable;
ActionButton::s_pMetaTable->SetObject("__index", *ActionButton::s_pMetaTable);

ActionButton::s_pMetaTable->RegisterObjectFunctor("SetActionItem" , &ActionButton::Lua_SetActionItem);
ActionButton::s_pMetaTable->RegisterObjectFunctor("DoAction" , &ActionButton::Lua_DoAction);
ActionButton::s_pMetaTable->RegisterObjectFunctor("DoSubAction" , &ActionButton::Lua_DoSubAction);
ActionButton::s_pMetaTable->RegisterObjectFunctor("SetPushed" , &ActionButton::Lua_SetPushed);
ActionButton::s_pMetaTable->RegisterObjectFunctor("SetFlash" , &ActionButton::Lua_SetFlash);
ActionButton::s_pMetaTable->RegisterObjectFunctor("Gloom" , &ActionButton::Lua_Gloom);
ActionButton::s_pMetaTable->RegisterObjectFunctor("Bright" , &ActionButton::Lua_Bright);

//-----------------------------------------------------------
//3. PopMenu
PopMenu::s_pMetaTable = new LuaPlus::LuaObject;
*PopMenu::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_PopMenu");
*PopMenu::s_pMetaTable = *Window::s_pMetaTable;
PopMenu::s_pMetaTable->SetObject("__index", *PopMenu::s_pMetaTable);

PopMenu::s_pMetaTable->RegisterObjectFunctor("OpenPopMenu" , &PopMenu::OpenPopMenu);
PopMenu::s_pMetaTable->RegisterObjectFunctor("ClosePopMenu" , &PopMenu::ClosePopMenu);
PopMenu::s_pMetaTable->RegisterObjectFunctor("SetPopMenuPos", &PopMenu::SetPopMenuPos);

//-----------------------------------------------------------
//4. ComplexWindow
ComplexWindow::s_pMetaTable = new LuaPlus::LuaObject;
*ComplexWindow::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_ComplexWindow");
*ComplexWindow::s_pMetaTable = *Window::s_pMetaTable;
ComplexWindow::s_pMetaTable->SetObject("__index", *ComplexWindow::s_pMetaTable);

ComplexWindow::s_pMetaTable->RegisterObjectFunctor("AddTextElement" , &ComplexWindow::AddTextElement);
ComplexWindow::s_pMetaTable->RegisterObjectFunctor("AddOptionElement" , &ComplexWindow::AddOptionElement);
ComplexWindow::s_pMetaTable->RegisterObjectFunctor("AddItemElement" , &ComplexWindow::AddItemElement);
ComplexWindow::s_pMetaTable->RegisterObjectFunctor("AddActionElement" , &ComplexWindow::AddActionElement);
ComplexWindow::s_pMetaTable->RegisterObjectFunctor("AddMoneyElement" , &ComplexWindow::AddMoneyElement);
ComplexWindow::s_pMetaTable->RegisterObjectFunctor("AddImpactElement" , &ComplexWindow::AddImpactElement);
ComplexWindow::s_pMetaTable->RegisterObjectFunctor("ClearAllElement" , &ComplexWindow::CleanAllElement);
ComplexWindow::s_pMetaTable->RegisterObjectFunctor("SetTextColour" , &ComplexWindow::SetTextColour);
ComplexWindow::s_pMetaTable->RegisterObjectFunctor("PageEnd" , &ComplexWindow::PageEnd);

//-----------------------------------------------------------
//5.Minimap
Minimap::s_pMetaTable = new LuaPlus::LuaObject;
*Minimap::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_Minimap");
*Minimap::s_pMetaTable = *Window::s_pMetaTable;
Minimap::s_pMetaTable->SetObject("__index", *Minimap::s_pMetaTable);

Minimap::s_pMetaTable->RegisterObjectFunctor( "UpdateFlag", &Minimap::UpdateFlag);

//-----------------------------------------------------------
//6. ListBox
ListBox::s_pMetaTable = new LuaPlus::LuaObject;
*ListBox::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_Listbox");
*ListBox::s_pMetaTable = *Window::s_pMetaTable;
ListBox::s_pMetaTable->SetObject("__index", *ListBox::s_pMetaTable);

ListBox::s_pMetaTable->RegisterObjectFunctor( "SetItemTooltip", &ListBox::SetItemTooltip );
ListBox::s_pMetaTable->RegisterObjectFunctor( "AddItem", &ListBox::AddItem );
ListBox::s_pMetaTable->RegisterObjectFunctor( "SetListItemText", &ListBox::SetItemText );
ListBox::s_pMetaTable->RegisterObjectFunctor( "GetItem", &ListBox::GetItem);
ListBox::s_pMetaTable->RegisterObjectFunctor( "DelItem", &ListBox::DelItem);
ListBox::s_pMetaTable->RegisterObjectFunctor( "ClearListBox", &ListBox::ClearListBox);
ListBox::s_pMetaTable->RegisterObjectFunctor( "GetFirstSelectItem", &ListBox::GetFirstSelectItem);
ListBox::s_pMetaTable->RegisterObjectFunctor( "SetItemSelect", &ListBox::SetItemSelect);
ListBox::s_pMetaTable->RegisterObjectFunctor( "SetItemSelectByItemID", &ListBox::SetItemSelectByItemID);

//-----------------------------------------------------------
//7. ChatWindows

//-----------------------------------------------------------
//8. ChatInputWindow

//-----------------------------------------------------------
//9. ImageListBox
ImageListBox::s_pMetaTable = new LuaPlus::LuaObject;
*ImageListBox::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_ImageListbox");
*ImageListBox::s_pMetaTable = *Window::s_pMetaTable;
ImageListBox::s_pMetaTable->SetObject("__index", *ImageListBox::s_pMetaTable);

ImageListBox::s_pMetaTable->RegisterObjectFunctor( "AddItem", &ImageListBox::AddItem );

//-----------------------------------------------------------
//10. ImageListBoxEx
ImageListBoxEx::s_pMetaTable = new LuaPlus::LuaObject;
*ImageListBoxEx::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_ImageListboxEx");
*ImageListBoxEx::s_pMetaTable = *Window::s_pMetaTable;
ImageListBoxEx::s_pMetaTable->SetObject("__index", *ImageListBoxEx::s_pMetaTable);

ImageListBoxEx::s_pMetaTable->RegisterObjectFunctor( "AddItem", &ImageListBoxEx::AddItem );

//-----------------------------------------------------------
//11. CheckBox
CheckButton::s_pMetaTable = new LuaPlus::LuaObject;
*CheckButton::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_ImageCheckbox");
*CheckButton::s_pMetaTable = *Window::s_pMetaTable;
CheckButton::s_pMetaTable->SetObject("__index", *ImageListBoxEx::s_pMetaTable);

CheckButton::s_pMetaTable->RegisterObjectFunctor( "SetCheck", &CheckButton::SetCheck );
CheckButton::s_pMetaTable->RegisterObjectFunctor( "GetCheck", &CheckButton::GetCheck );

//-----------------------------------------------------------
//12. ComboBox
ComboBox::s_pMetaTable = new LuaPlus::LuaObject;
*ComboBox::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_ComboBox");
*ComboBox::s_pMetaTable = *Window::s_pMetaTable;
ComboBox::s_pMetaTable->SetObject("__index", *ComboBox::s_pMetaTable);

ComboBox::s_pMetaTable->RegisterObjectFunctor( "ComboBoxAddItem", &ComboBox::ComboBoxAddItem);
ComboBox::s_pMetaTable->RegisterObjectFunctor( "ResetList", &ComboBox::ResetList);
ComboBox::s_pMetaTable->RegisterObjectFunctor( "GetCurrentSelect", &ComboBox::GetCurrentSelect);
ComboBox::s_pMetaTable->RegisterObjectFunctor( "SetCurrentSelect", &ComboBox::SetCurrentSelect);
//-----------------------------------------------------------
//13. StaticImage
StaticImage::s_pMetaTable = new LuaPlus::LuaObject;
*StaticImage::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_StaticImage");
*StaticImage::s_pMetaTable = *Window::s_pMetaTable;
StaticImage::s_pMetaTable->SetObject("__index", *StaticImage::s_pMetaTable);

StaticImage::s_pMetaTable->RegisterObjectFunctor( "SetImage", &StaticImage::SetImage);
StaticImage::s_pMetaTable->RegisterObjectFunctor( "SetImageColor", &StaticImage::SetImageColor);

//-----------------------------------------------------------
//14. ScrollBar
ScrollBar::s_pMetaTable = new LuaPlus::LuaObject;
*ScrollBar::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_ScrollBar");
*ScrollBar::s_pMetaTable = *Window::s_pMetaTable;
ScrollBar::s_pMetaTable->SetObject("__index", *ScrollBar::s_pMetaTable);

ScrollBar::s_pMetaTable->RegisterObjectFunctor( "SetPosition", &ScrollBar::SetPosition );
ScrollBar::s_pMetaTable->RegisterObjectFunctor( "GetPosition", &ScrollBar::GetPosition );

//-----------------------------------------------------------
//15. SuperTooltip
SuperTooltip::s_pMetaTable = new LuaPlus::LuaObject;
*SuperTooltip::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_SuperTooltip");
*SuperTooltip::s_pMetaTable = *Window::s_pMetaTable;
SuperTooltip::s_pMetaTable->SetObject("__index", *SuperTooltip::s_pMetaTable);

SuperTooltip::s_pMetaTable->RegisterObjectFunctor( "PositionSelf", &SuperTooltip::PositionSelf );

//-----------------------------------------------------------
//16. MeshWindow
MeshWindow::s_pMetaTable = new LuaPlus::LuaObject;
*MeshWindow::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_MeshWindow");
*MeshWindow::s_pMetaTable = *Window::s_pMetaTable;
MeshWindow::s_pMetaTable->SetObject("__index", *MeshWindow::s_pMetaTable);

MeshWindow::s_pMetaTable->RegisterObjectFunctor("SetFakeObject", &MeshWindow::SetFakeObject );
MeshWindow::s_pMetaTable->RegisterObjectFunctor("RotateBegin", &MeshWindow::RotateBegin );
MeshWindow::s_pMetaTable->RegisterObjectFunctor("RotateEnd", &MeshWindow::RotateEnd );
MeshWindow::s_pMetaTable->RegisterObjectFunctor("ChangeActionBegin", &MeshWindow::ChangeActionBegin );
//-----------------------------------------------------------
//17. ChatHistory
ChatHistory::s_pMetaTable = new LuaPlus::LuaObject;
*ChatHistory::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_ChatHistory");
*ChatHistory::s_pMetaTable = *Window::s_pMetaTable;
ChatHistory::s_pMetaTable->SetObject("__index", *ChatHistory::s_pMetaTable);

ChatHistory::s_pMetaTable->RegisterObjectFunctor("InsertChatString", &ChatHistory::InsertChatString);
ChatHistory::s_pMetaTable->RegisterObjectFunctor("RemoveAllChatString", &ChatHistory::RemoveAllChatString);
ChatHistory::s_pMetaTable->RegisterObjectFunctor("ScrollToEnd", &ChatHistory::ScrollToEnd);
ChatHistory::s_pMetaTable->RegisterObjectFunctor("ExtendClearRegion", &ChatHistory::ExtendClearRegion);

//-----------------------------------------------------------
//18. ChatChannel
ChatChannel::s_pMetaTable = new LuaPlus::LuaObject;
*ChatChannel::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_ChatChannel");
*ChatChannel::s_pMetaTable = *Window::s_pMetaTable;
ChatChannel::s_pMetaTable->SetObject("__index", *ChatChannel::s_pMetaTable);

ChatChannel::s_pMetaTable->RegisterObjectFunctor("ClearAllChannel", &ChatChannel::ClearAllChannel);
ChatChannel::s_pMetaTable->RegisterObjectFunctor("AddChannel", &ChatChannel::AddChannel);

//-----------------------------------------------------------
//19. Scenemap
Scenemap::s_pMetaTable = new LuaPlus::LuaObject;
*Scenemap::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_SceneMapWindow");
*Scenemap::s_pMetaTable = *Window::s_pMetaTable;
Scenemap::s_pMetaTable->SetObject("__index", *Scenemap::s_pMetaTable);

Scenemap::s_pMetaTable->RegisterObjectFunctor("SetSceneFileName", &Scenemap::SetSceneFileName );
Scenemap::s_pMetaTable->RegisterObjectFunctor("CloseSceneMap", &Scenemap::CloseSceneMap );
Scenemap::s_pMetaTable->RegisterObjectFunctor("GetMouseScenePos", &Scenemap::GetMouseScenePos );
Scenemap::s_pMetaTable->RegisterObjectFunctor("UpdateSceneMap", &Scenemap::UpdateSceneMap );
Scenemap::s_pMetaTable->RegisterObjectFunctor("SetSceneZoomMode", &Scenemap::SetSceneZoomMode );
Scenemap::s_pMetaTable->RegisterObjectFunctor("UpdateViewRect", &Scenemap::UpdateViewRect);

//20. Worldmap
Worldmap::s_pMetaTable = new LuaPlus::LuaObject;
*Worldmap::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_WorldMapWindow");
*Worldmap::s_pMetaTable = *Window::s_pMetaTable;
Worldmap::s_pMetaTable->SetObject("__index", *Worldmap::s_pMetaTable);

Scenemap::s_pMetaTable->RegisterObjectFunctor("InitWorldMap", &Worldmap::InitWorldMap );
Scenemap::s_pMetaTable->RegisterObjectFunctor("GetCurrentSelectScene", &Worldmap::GetCurrentSelectScene );
Scenemap::s_pMetaTable->RegisterObjectFunctor("UpdateWorldMap", &Worldmap::UpdateWorldMap );

// 21. InfoList
InfoList::s_pMetaTable = new LuaPlus::LuaObject;
*InfoList::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_InfoListWindow");
*InfoList::s_pMetaTable = *Window::s_pMetaTable;
InfoList::s_pMetaTable->SetObject("__index", *InfoList::s_pMetaTable);

InfoList::s_pMetaTable->RegisterObjectFunctor("AddInfo", &InfoList::AddInfo );

// 22 CtrlList
CtrlList::s_pMetaTable = new LuaPlus::LuaObject;
*CtrlList::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_CtrlListWindow");
*CtrlList::s_pMetaTable = *Window::s_pMetaTable;
CtrlList::s_pMetaTable->SetObject("__index", *CtrlList::s_pMetaTable);

CtrlList::s_pMetaTable->RegisterObjectFunctor("AddColumn", &CtrlList::AddColumn );
CtrlList::s_pMetaTable->RegisterObjectFunctor("InsertColumn", &CtrlList::InsertColumn );
CtrlList::s_pMetaTable->RegisterObjectFunctor("AddNewItem", &CtrlList::AddNewItem );
CtrlList::s_pMetaTable->RegisterObjectFunctor("SetItemText", &CtrlList::SetItemText );
CtrlList::s_pMetaTable->RegisterObjectFunctor("SetItemData", &CtrlList::SetItemData );
CtrlList::s_pMetaTable->RegisterObjectFunctor("DeleteItem", &CtrlList::DeleteItem );
CtrlList::s_pMetaTable->RegisterObjectFunctor("RemoveAllItem", &CtrlList::RemoveAllItem );
CtrlList::s_pMetaTable->RegisterObjectFunctor("GetItemText", &CtrlList::GetItemText );
CtrlList::s_pMetaTable->RegisterObjectFunctor("GetItemCount", &CtrlList::GetItemCount );
CtrlList::s_pMetaTable->RegisterObjectFunctor("GetColumnCount", &CtrlList::GetColumnCount );
CtrlList::s_pMetaTable->RegisterObjectFunctor("GetSelectItem", &CtrlList::GetSelectItem );

// 23 SoftKeyWindow
SoftKeyWindow::s_pMetaTable = new LuaPlus::LuaObject;
*SoftKeyWindow::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_SoftKeyWindow");
*SoftKeyWindow::s_pMetaTable = *Window::s_pMetaTable;
SoftKeyWindow::s_pMetaTable->SetObject("__index", *SoftKeyWindow::s_pMetaTable);

SoftKeyWindow::s_pMetaTable->RegisterObjectFunctor("SetAimEditBox", &SoftKeyWindow::SetAimEditBox );

// 24 Animate
AnimateWindow::s_pMetaTable = new LuaPlus::LuaObject;
*AnimateWindow::s_pMetaTable = pLuaState->GetGlobals().CreateTable("MetaTable_Control_SoftKeyWindow");
*AnimateWindow::s_pMetaTable = *Window::s_pMetaTable;
AnimateWindow::s_pMetaTable->SetObject("__index", *AnimateWindow::s_pMetaTable);

AnimateWindow::s_pMetaTable->RegisterObjectFunctor("Play", &AnimateWindow::Play);

/****************************\

* *
* 用于将控件功能输出 *
* *
***************************/

#pragma once
#include <CEGUIWindow.h>
#include “LuaPlus.h”
#include “TDActionSystem.h”
class tScriptSandbox;
class tActionItem;

namespace LUA_CONTROL
{

//--------------------------------------------------
//控件基类
class Window
{
public:
static Window* CreateControl(CEGUI::Window* pWindow);
static VOID DestroyControl(Window* pThis);

public:
static VOID RegisterMetaTable(VOID);
static VOID DestroyMetaTable(VOID);

virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }

public:
//设置通用属性
INT setProperty(LuaPlus::LuaState* pState);
//取得通用属性
INT getProperty(LuaPlus::LuaState* pState);

//得到窗口类型
INT getType(LuaPlus::LuaState* pState)
{
pState->PushString(m_pWindow->getWidgetType().c_str());
return 1;
}

//得到窗口名称
INT getName(LuaPlus::LuaState* pState)
{
pState->PushString(m_pWindow->getName().c_str());
return 1;
}

//得到窗口文字
INT getText(LuaPlus::LuaState* pState);

//设置文字
INT setText(LuaPlus::LuaState* pState);
INT setTextOriginal(LuaPlus::LuaState* pState);
INT TransText(LuaPlus::LuaState* pState);
INT setForce(LuaPlus::LuaState* pState);

//显示
INT Show(LuaPlus::LuaState* pState)
{
m_pWindow->setVisible(true);
return 0;
}
//隐藏
INT Hide(LuaPlus::LuaState* pState);

//Disable
INT Disable(LuaPlus::LuaState* pState)
{
m_pWindow->setEnabled(false);
return 0;
}

//Enable
INT Enable(LuaPlus::LuaState* pState)
{
m_pWindow->setEnabled(true);
return 0;
}

INT IsVisible( LuaPlus::LuaState* pState )
{
pState->PushBoolean( m_pWindow->isVisible() );
return 1;
}

INT SetToolTip( LuaPlus::LuaState* pState );

//捕获键盘焦点
INT CaptureInput( LuaPlus::LuaState* pState);

INT CenterWindow( LuaPlus::LuaState* pState );
INT SetWindowCenter( LuaPlus::LuaState* pState );
INT SetClippedByParent( LuaPlus::LuaState* pState );
INT AutoMousePosition( LuaPlus::LuaState* pState );

public:
Window(CEGUI::Window* pWindow) { m_pWindow = pWindow; }
virtual ~Window() { }

protected:
CEGUI::Window* m_pWindow;

static LuaPlus::LuaObject* s_pMetaTable;
};

//-------------------------------------------------------------
//Progress Bar
class ProgressBar : public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }

public:
//设置进度
INT SetProgress(LuaPlus::LuaState* pState);

protected:
friend class Window;
ProgressBar(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~ProgressBar() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

//-------------------------------------------------------------
//ActionButton
class ActionButton : public Window, public tActionReference
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }

public:
//配置ActionItem
INT Lua_SetActionItem(LuaPlus::LuaState* pState);
//激活
INT Lua_DoAction(LuaPlus::LuaState* pState);
//激活(副操作,一般是鼠标另一个键引起)
INT Lua_DoSubAction(LuaPlus::LuaState* pState);
//进入按下状态
INT Lua_SetPushed(LuaPlus::LuaState* pState);
//进入闪烁状态
INT Lua_SetFlash(LuaPlus::LuaState* pState);
//置灰
INT Lua_Gloom(LuaPlus::LuaState* pState);
//变亮
INT Lua_Bright(LuaPlus::LuaState* pState);

public:
//ActionSystem 调用
//逻辑Action已经被销毁
virtual VOID BeDestroyed(VOID);
//按钮按下
virtual VOID SetCheck(BOOL bCheck);
//按钮设置成default的状态
virtual VOID SetDefault(BOOL bDefault);
//进入冷却
virtual VOID EnterCoolDown(INT fTime, FLOAT fPercent);
//进入闪烁
virtual VOID EnterFlash(BOOL bFlash);
//显示数字
virtual VOID SetCornerChar(CORNER_NUMBER_POS pos, LPCTSTR szChar);
//数据更新
virtual VOID Update(INT id);
//屏蔽
virtual VOID Disable(VOID);
//开启
virtual VOID Enable(VOID);
//变灰
virtual VOID Gloom(VOID);
//变亮
virtual VOID Bright(VOID);
//锁定
virtual VOID Locked(VOID);
//解除锁定
virtual VOID Unlock(VOID);

protected:
friend class Window;
ActionButton(CEGUI::Window* pWindow):Window(pWindow), m_pActionItem(NULL) { }
virtual ~ActionButton() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
tActionItem* m_pActionItem;
};

//-------------------------------------------------------------
//PopMenu
class PopMenu : public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }

public:
//配置ActionItem
INT OpenPopMenu(LuaPlus::LuaState* pState);
//激活
INT ClosePopMenu(LuaPlus::LuaState* pState);

// 设置位置
INT SetPopMenuPos(LuaPlus::LuaState* pState);

protected:
friend class Window;
PopMenu(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~PopMenu() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

//-------------------------------------------------------------
//ComplexWindow
class ComplexWindow : public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }

public:
//添加文字元素
INT AddTextElement(LuaPlus::LuaState* pState);
//添加选项元素
INT AddOptionElement(LuaPlus::LuaState* pState);
//添加Item元素
INT AddItemElement(LuaPlus::LuaState* pState);
//添加Money元素
INT AddMoneyElement(LuaPlus::LuaState* pState);
//添加Impact元素
INT AddImpactElement(LuaPlus::LuaState* pState);
//添加Action Button元素
INT AddActionElement(LuaPlus::LuaState* pState);
//清空所有元素
INT CleanAllElement(LuaPlus::LuaState* pState);
//更改字体的颜色
INT SetTextColour(LuaPlus::LuaState* pState);

INT PageEnd(LuaPlus::LuaState* pState);
protected:
friend class Window;
ComplexWindow(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~ComplexWindow() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class ListBox : public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }
public:
virtual INT AddItem( LuaPlus::LuaState* pState );
virtual INT SetItemTooltip( LuaPlus::LuaState* pState );
virtual INT SetItemText( LuaPlus::LuaState* pState );

INT DelItem( LuaPlus::LuaState* pState );
INT GetItem( LuaPlus::LuaState* pState );
INT ClearListBox( LuaPlus::LuaState* pState );
INT GetFirstSelectItem( LuaPlus::LuaState* pState );
INT SetItemSelect( LuaPlus::LuaState* pState );
INT SetItemSelectByItemID( LuaPlus::LuaState* pState );

protected:
friend class Window;
ListBox(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~ListBox() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};
class ImageListBox : public ListBox
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }
public:
virtual INT AddItem( LuaPlus::LuaState* pState );
protected:
friend class Window;
ImageListBox(CEGUI::Window* pWindow):ListBox(pWindow) { }
virtual ~ImageListBox() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class ImageListBoxEx : public ListBox
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }
public:
virtual INT AddItem( LuaPlus::LuaState* pState );
protected:
friend class Window;
ImageListBoxEx(CEGUI::Window* pWindow):ListBox(pWindow) { }
virtual ~ImageListBoxEx() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class CheckButton: public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }
public:

protected:
friend class Window;
CheckButton(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~CheckButton() {}

INT SetCheck( LuaPlus::LuaState* pState );
INT GetCheck( LuaPlus::LuaState* pState );
protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class ComboBox: public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }
public:

protected:
friend class Window;
ComboBox(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~ComboBox() {}

INT ComboBoxAddItem( LuaPlus::LuaState* pState );
INT ResetList( LuaPlus::LuaState* pState );
INT GetCurrentSelect( LuaPlus::LuaState* pState );
INT SetCurrentSelect( LuaPlus::LuaState* pState );

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class StaticImage: public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }
public:

protected:
friend class Window;
StaticImage(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~StaticImage() {}

INT SetImage( LuaPlus::LuaState* pState );
INT SetImageColor( LuaPlus::LuaState* pState );

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class ScrollBar: public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }
public:

protected:
friend class Window;
ScrollBar(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~ScrollBar() {}

INT GetPosition( LuaPlus::LuaState* pState );
INT SetPosition( LuaPlus::LuaState* pState );
protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class SuperTooltip : public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }
public:

protected:
friend class Window;
SuperTooltip(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~SuperTooltip() {}

INT PositionSelf(LuaPlus::LuaState* pState);

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class MeshWindow: public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }

protected:
friend class Window;
MeshWindow(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~MeshWindow() {}

INT SetFakeObject(LuaPlus::LuaState* pState);
INT RotateBegin(LuaPlus::LuaState* pState);
INT RotateEnd(LuaPlus::LuaState* pState);
INT ChangeActionBegin(LuaPlus::LuaState* pState);
protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class ChatHistory : public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }

protected:
friend class Window;
ChatHistory(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~ChatHistory() {}

INT InsertChatString(LuaPlus::LuaState* pState);
INT RemoveAllChatString(LuaPlus::LuaState* pState);
INT ScrollToEnd(LuaPlus::LuaState* pState);
INT ExtendClearRegion(LuaPlus::LuaState* pState);

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class ChatChannel : public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }

protected:
friend class Window;
ChatChannel(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~ChatChannel() {}

INT ClearAllChannel(LuaPlus::LuaState* pState);
INT AddChannel(LuaPlus::LuaState* pState);

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};
class Scenemap:public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }

public:
INT UpdateViewRect( LuaPlus::LuaState* pState );
INT SetSceneFileName( LuaPlus::LuaState* pState );
INT CloseSceneMap( LuaPlus::LuaState* pState );
INT GetMouseScenePos( LuaPlus::LuaState* pState );
INT UpdateSceneMap( LuaPlus::LuaState* pState );
INT SetSceneZoomMode( LuaPlus::LuaState* pState );
protected:
friend class Window;
Scenemap(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~Scenemap() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class Worldmap:public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }
public:
INT InitWorldMap( LuaPlus::LuaState* pState );
INT UpdateWorldMap( LuaPlus::LuaState* pState );
INT GetCurrentSelectScene( LuaPlus::LuaState* pState );
protected:
void UpdatePlayer();
CEGUI::String Worldmap::GetSceneNameByID( int id );
friend class Window;
Worldmap(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~Worldmap() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class InfoList:public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }
public:
INT AddInfo( LuaPlus::LuaState* pState );
protected:
friend class Window;
InfoList(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~InfoList() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class CtrlList: public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }
public:
INT AddColumn( LuaPlus::LuaState* pState ); // 添加列
INT InsertColumn( LuaPlus::LuaState* pState ); // 查入一列
INT AddNewItem( LuaPlus::LuaState* pState ); // 添加一行
INT SetItemText( LuaPlus::LuaState* pState ); // 设置一个单元的文本
INT SetItemData( LuaPlus::LuaState* pState ); // 设置一个单元的数据
INT DeleteItem( LuaPlus::LuaState* pState ); // 删除一行
INT RemoveAllItem( LuaPlus::LuaState* pState ); // 删除所有

INT GetItemText( LuaPlus::LuaState* pState ); // 得到一个单元的文本
INT GetItemCount( LuaPlus::LuaState* pState ); // 得到又多少行
INT GetColumnCount( LuaPlus::LuaState* pState); // 得到有多少列
INT GetSelectItem( LuaPlus::LuaState* pState); // 得到选中的行

protected:
friend class Window;
CtrlList(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~CtrlList() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class SoftKeyWindow: public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }
public:
INT SetAimEditBox( LuaPlus::LuaState* pState); // 得到有多少列

protected:
friend class Window;
SoftKeyWindow(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~SoftKeyWindow() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class Minimap : public Scenemap
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }

public:
INT UpdateFlag( LuaPlus::LuaState* pState );
protected:
friend class Window;
Minimap(CEGUI::Window* pWindow):Scenemap(pWindow) { }
virtual ~Minimap() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

class AnimateWindow : public Window
{
public:
virtual LuaPlus::LuaObject* GetMetaTable(VOID) { return s_pMetaTable; }

public:
INT Play( LuaPlus::LuaState* pState );
protected:
friend class Window;
AnimateWindow(CEGUI::Window* pWindow):Window(pWindow) { }
virtual ~AnimateWindow() {}

protected:
static LuaPlus::LuaObject* s_pMetaTable;
};

    THE END
    喜欢就支持一下吧
    点赞11赞赏 分享
    评论 抢沙发

    请登录后发表评论

      暂无评论内容