-
Notifications
You must be signed in to change notification settings - Fork 2
Example App
The Fern edited this page Sep 22, 2018
·
19 revisions
Let's imagine the following code is placed in garrysmod/addons/myfirstapp/lua/gpapps/testapp.lua
.
The GPhone will automatically add it to the App-list once the map loads.
You can also place it in garrysmod/data/gphone/apps/testapp.txt
, though you'll have to enable the ConVar gphone_csapp
and other players won't be able to use it.
APP.Name = "TestApp" -- The name of the App
APP.Author = "TesterChester" -- The author's name
APP.Negative = false -- Whether the App should use negative top-colors or not
APP.Icon = "https://example.com/icon.png" -- The icon. Can point to a local file or an online file
function APP.Run( frame, w, h, ratio ) -- Called when the App is first opened (frame, width, height, aspect ratio)
function frame:Paint( x, y, w, h )
draw.RoundedBox( 0, 0, 0, w, h, Color( 200, 200, 200, 255 ) )
end
local button = GPnl.AddPanel( frame, "panel" ) -- Creates a panel of type "panel"
button:SetPos( 32*ratio, 32*ratio ) -- By multiplying with "ratio" we can support all resolutions
button:SetSize( w - 64*ratio, 64*ratio )
button.Color = Color( 0, 255, 0 ) -- Green color
function button:Paint( x, y, w, h )
draw.RoundedBox( 0, 0, 0, w, h, self.Color ) -- Paint the button using the color
end
function button:OnClick() -- Called when we click
self.Color = Color( 255, 0, 0 ) -- Red color
end
end
function APP.Think( frame, w, h, ratio ) -- Called every time the SWEP.Think function is called
print("thonk")
end
function APP.Stop( frame ) -- Called when the App is closed
print("closed")
end
hook.Add("GPhonePreRenderTopbar", "TopbarBackgroundTest", function(w, h) -- Draw a green background behind the Topbar
surface.SetDrawColor(0, 255, 0, 255)
surface.DrawRect(0, 0, w, h)
end)
This App obviously doesn't do that much, but you could practially do anything GLua allows if you are willing to put in the work.