camera.lua 835 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. -- Copyright (c) 2012-2024 Daniele Bartolini et al.
  2. -- SPDX-License-Identifier: MIT
  3. local Behavior = Behavior or {}
  4. local Data = Data or {}
  5. function Behavior.spawned(world, units)
  6. if Data[world] == nil then
  7. Data[world] = {}
  8. end
  9. for uu = 1, #units do
  10. local unit = units[uu]
  11. -- Store instance-specific data
  12. if Data[world][unit] == nil then
  13. -- Data[world][unit] = {}
  14. end
  15. -- Hide the camera mesh
  16. local render_world = World.render_world(world)
  17. local camera_mesh = RenderWorld.mesh_instance(render_world, unit)
  18. RenderWorld.mesh_set_visible(render_world, camera_mesh, false)
  19. end
  20. end
  21. function Behavior.update(world, dt)
  22. -- Update all units
  23. end
  24. function Behavior.unspawned(world, units)
  25. -- Cleanup
  26. for uu = 1, #units do
  27. if Data[world][units] then
  28. Data[world][units] = nil
  29. end
  30. end
  31. end
  32. return Behavior