Dynamic Windows Tutorial Part 2

From Legends of Aria Admin and Modding Wiki
Revision as of 15:55, 12 March 2019 by Gizmo (talk | contribs) (TestTool.Lua)
Jump to: navigation, search

back to Project_Phoenix#Video_List

Dynamic Windows Test Tools

Video

EmbedVideo is missing a required parameter.

TestTool.Lua

function ShowTestWindow(user,controlobject)
    local dynamicWindow = DynamicWindow("DynamicWindowHandler","",300,300,-150,-150,"TransparentDraggable","Center")
    dynamicWindow:AddImage(1,1,"HueSwatch",300,300,"Simple","252525")
    DrawCloseButton(271,5,dynamicWindow)
    --test dynamic window code here
    user:OpenDynamicWindow(dynamicWindow,controlobject)
end	
function DrawCloseButton(x,y,dynamicwindow)
    dynamicwindow:AddImage(x,y,"Blank",24,24,"Sliced","AA0000")
    dynamicwindow:AddImage(x+2,y+2,"Blank",20,20,"Sliced","770000")
    dynamicwindow:AddButton(x,y,"CloseButton","",24,24,"[FF7700]Close\n[FFFF00]closes this dynamic window.","",true,"Invisible")
end
RegisterEventHandler(EventType.DynamicWindowResponse,"DynamicWindowHandler",
function (user,buttonId,fieldData)
--add button click checks here
end)
RegisterEventHandler(EventType.Message, "UseObject", 
function(user, usedType) 
    if(usedType=="Open Window") then
        ShowTestWindow(user,this)
    end
    if(usedType=="Refresh Modules") then
        ReloadModule(GetCurrentModule())
    end
    if(usedType=="Test Code") then
        --your test code here
    end
end)
RegisterEventHandler(EventType.ModuleAttached, GetCurrentModule(), function() 
    AddUseCase(this,"Open Window",true)
    AddUseCase(this,"Refresh Modules",false)
    AddUseCase(this,"Test Code",false)
end)

TestTool.Xml

<ObjectTemplate>
    <Name>Test Window</Name>
    <ClientId>2</ClientId>
    <SharedStateEntry name="Weight" type="int" value="1"/>	
    <ScriptEngineComponent>
        <LuaModule Name="your_script_name"/>
    </ScriptEngineComponent>
</ObjectTemplate>

back to Project_Phoenix#Video_List