outfit looktype change
This commit is contained in:
parent
591f8c2c7c
commit
b7125738d8
|
@ -2,6 +2,8 @@ Outfit = {}
|
|||
|
||||
-- private variables
|
||||
local window = nil
|
||||
local outfits = nil
|
||||
local currentOutfit = 1
|
||||
|
||||
-- public functions
|
||||
function Outfit.test()
|
||||
|
@ -18,9 +20,13 @@ end
|
|||
function Outfit.create(creature, outfitList)
|
||||
Outfit.destroy()
|
||||
window = loadUI("/outfit/outfit.otui", UI.root)
|
||||
window:lock()
|
||||
|
||||
local creatureWidget = window:getChildById('creature')
|
||||
creatureWidget:setCreature(creature)
|
||||
|
||||
outfits = outfitList
|
||||
currentOutfit = 1
|
||||
end
|
||||
|
||||
function Outfit.destroy()
|
||||
|
@ -30,6 +36,30 @@ function Outfit.destroy()
|
|||
end
|
||||
end
|
||||
|
||||
function Outfit.nextType()
|
||||
local creatureWidget = window:getChildById('creature')
|
||||
currentOutfit = currentOutfit + 1
|
||||
if currentOutfit > #outfits then
|
||||
currentOutfit = 1
|
||||
end
|
||||
|
||||
creatureWidget:setOutfitType(outfits[currentOutfit][1])
|
||||
|
||||
-- TODO: update addons
|
||||
end
|
||||
|
||||
function Outfit.previousType()
|
||||
local creatureWidget = window:getChildById('creature')
|
||||
currentOutfit = currentOutfit - 1
|
||||
if currentOutfit <= 0 then
|
||||
currentOutfit = #outfits
|
||||
end
|
||||
|
||||
creatureWidget:setOutfitType(outfits[currentOutfit][1])
|
||||
|
||||
-- TODO: update addons
|
||||
end
|
||||
|
||||
-- private functions
|
||||
|
||||
-- hooked events
|
||||
|
|
|
@ -10,6 +10,22 @@ Window
|
|||
anchors.left: parent.left
|
||||
margin.top: 30
|
||||
margin.left: 20
|
||||
|
||||
Button
|
||||
onClick: Outfit.previousType()
|
||||
text: <<
|
||||
width: 32
|
||||
margin.top: 3
|
||||
anchors.top: creature.bottom
|
||||
anchors.left: creature.left
|
||||
|
||||
Button
|
||||
onClick: Outfit.nextType()
|
||||
text: >>
|
||||
width: 32
|
||||
margin.top: 3
|
||||
anchors.top: creature.bottom
|
||||
anchors.right: creature.right
|
||||
|
||||
HorizontalSeparator
|
||||
anchors.left: parent.left
|
||||
|
|
|
@ -77,6 +77,8 @@ void OTClient::registerLuaFunctions()
|
|||
g_lua.bindClassStaticFunction<UICreature>("create", &UICreature::create<UICreature>);
|
||||
g_lua.bindClassMemberFunction<UICreature>("getCreature", &UICreature::getCreature);
|
||||
g_lua.bindClassMemberFunction<UICreature>("setCreature", &UICreature::setCreature);
|
||||
g_lua.bindClassMemberFunction<UICreature>("setOutfitType", &UICreature::setOutfitType);
|
||||
|
||||
|
||||
g_lua.registerClass<UIMap, UIWidget>();
|
||||
g_lua.bindClassStaticFunction<UIMap>("create", &UIWidget::create<UIMap>);
|
||||
|
|
|
@ -50,3 +50,12 @@ void UICreature::onStyleApply(const OTMLNodePtr& styleNode)
|
|||
|
||||
UIWidget::onStyleApply(styleNode);
|
||||
}
|
||||
|
||||
void UICreature::setOutfitType(int outfitType)
|
||||
{
|
||||
if(m_creature) {
|
||||
Outfit outfit = m_creature->getOutfit();
|
||||
outfit.setType(outfitType);
|
||||
m_creature->setOutfit(outfit);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,6 +34,8 @@ public:
|
|||
void render();
|
||||
|
||||
void setCreature(const CreaturePtr& creature) { m_creature = creature; }
|
||||
void setOutfitType(int outfitType);
|
||||
|
||||
CreaturePtr getCreature() { return m_creature; }
|
||||
|
||||
protected:
|
||||
|
|
Loading…
Reference in New Issue