Ajustor

mekanismEnergyManager

Apr 7th, 2018
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.09 KB | None | 0 0
  1. local component = require("component")
  2. local serialization = require("serialization")
  3.  
  4. local computer = component.computer
  5. local modem = component.modem
  6. local energy = {}
  7. local arraySize=0
  8. local maxEnergy=0
  9. local currEnergy=0
  10.  
  11. modem.open(17)
  12. local nbClients = 1
  13. local clients = {
  14.   {address=""}
  15. }
  16.  
  17. function getEnergyCubes()
  18.   maxEnergy=0
  19.   for i in component.list("energy_cube") do
  20.     energy[arraySize] = component.proxy(i)
  21.     maxEnergy=maxEnergy+energy[arraySize].getMaxEnergy()
  22.     arraySize=arraySize+1    
  23.   end
  24.   for i in component.list("induction_matrix") do
  25.     energy[arraySize] = component.proxy(i)
  26.     maxEnergy=maxEnergy+energy[arraySize].getMaxEnergy()
  27.     arraySize=arraySize+1    
  28.   end
  29. end
  30.  
  31. function getEnergy()
  32.   currEnergy=0
  33.   for i=0, arraySize-1 do
  34.     currEnergy=currEnergy+energy[i].getEnergy()    
  35.   end
  36. end
  37.  
  38. getEnergyCubes()
  39. while true do
  40.    getEnergy()
  41.    local msg={}
  42.    msg["curr"] = currEnergy
  43.    msg["max"] = maxEnergy
  44.    for i, row in ipairs(clients) do
  45.       modem.send(clients[i].address, 17, serialization.serialize(msg))
  46.    end
  47. end
Add Comment
Please, Sign In to add comment