Advertisement
Guest User

badges

a guest
Jul 23rd, 2014
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.11 KB | None | 0 0
  1. require = GLOBAL.require
  2. local Badge = require "widgets/badge"
  3. local Text = require "widgets/text"
  4.  
  5. local sampleNumber = 0
  6. local maxNumber = 100
  7.  
  8. -- define the sample badge class
  9. local SampleBadge = Class(Badge, function(self, owner)
  10.     Badge._ctor(self, "health", owner)
  11. end)
  12.  
  13. AddSimPostInit(function()
  14.     local player = GLOBAL.GetPlayer()
  15.     local status = player.HUD.controls.status
  16.  
  17.     -- instantiate the sample badge object
  18.     status.sampleBadge = status:AddChild(SampleBadge(owner))
  19.     status.sampleBadge:SetHAnchor(GLOBAL.ANCHOR_MIDDLE)
  20.     status.sampleBadge:SetVAnchor(GLOBAL.ANCHOR_TOP)
  21.     status.sampleBadge:SetPosition(0,-50,0)
  22.     status.sampleBadge:SetScaleMode(GLOBAL.SCALEMODE_PROPORTIONAL)
  23.     status.sampleBadge.num = status.sampleBadge:AddChild(Text(GLOBAL.BODYTEXTFONT, 33))
  24.     status.sampleBadge.num:SetPosition(4, 0, 0)
  25.     status.sampleBadge.num:Hide()
  26.  
  27.     player:DoPeriodicTask(0.5, function(inst)
  28.         sampleNumber = sampleNumber + 1
  29.  
  30.         if sampleNumber > maxNumber then
  31.             sampleNumber = 0
  32.         end
  33.  
  34.         status.sampleBadge:SetPercent(sampleNumber/maxNumber, maxNumber)
  35.         status.sampleBadge.num:SetString(tostring(sampleNumber))
  36.     end)
  37. end)
  38.  
  39. AddSimPostInit(function()
  40.     local player = GLOBAL.GetPlayer()
  41.     local status = player.HUD.controls.status
  42.  
  43.     -- instantiate the sample badge object
  44.     status.moistureBadge = status:AddChild(SampleBadge(owner))
  45.     status.moistureBadge:SetHAnchor(GLOBAL.ANCHOR_MIDDLE)
  46.     status.moistureBadge:SetVAnchor(GLOBAL.ANCHOR_TOP)
  47.     status.moistureBadge:SetPosition(100,-50,0)
  48.     status.moistureBadge:SetScaleMode(GLOBAL.SCALEMODE_PROPORTIONAL)
  49.     status.moistureBadge.num = status.moistureBadge:AddChild(Text(GLOBAL.BODYTEXTFONT, 33))
  50.     status.moistureBadge.num:SetPosition(4, 0, 0)
  51.     status.moistureBadge.num:Hide()
  52.  
  53.     player:DoPeriodicTask(0.5, function(inst)
  54.         local season = GLOBAL.GetSeasonManager()
  55.         local moisture = math.floor(season.atmo_moisture)
  56.         local limit = math.floor(season.moisture_limit)
  57.  
  58.         status.moistureBadge:SetPercent(moisture/limit, limit)
  59.         status.moistureBadge.num:SetString(tostring(moisture))
  60.     end)
  61. end)
  62.  
  63. AddSimPostInit(function()
  64.     local player = GLOBAL.GetPlayer()
  65.     local status = player.HUD.controls.status
  66.  
  67.     -- instantiate the sample badge object
  68.     status.naughtyBadge = status:AddChild(SampleBadge(owner))
  69.     status.naughtyBadge:SetHAnchor(GLOBAL.ANCHOR_MIDDLE)
  70.     status.naughtyBadge:SetVAnchor(GLOBAL.ANCHOR_TOP)
  71.     status.naughtyBadge:SetPosition(-100,-50,0)
  72.     status.naughtyBadge:SetScaleMode(GLOBAL.SCALEMODE_PROPORTIONAL)
  73.     status.naughtyBadge.num = status.naughtyBadge:AddChild(Text(GLOBAL.BODYTEXTFONT, 33))
  74.     status.naughtyBadge.num:SetPosition(4, 0, 0)
  75.     status.naughtyBadge.num:Hide()
  76.  
  77.     player:DoPeriodicTask(0.5, function(inst)
  78.         local naughtiness = player.components.kramped.actions
  79.         local limit = player.components.kramped.threshold or 30
  80.  
  81.         status.naughtyBadge:SetPercent(naughtiness/limit, limit)
  82.         status.naughtyBadge.num:SetString(tostring(naughtiness))
  83.     end)
  84. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement