camera.lua 871 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. if camera_mesh ~= nil then
  19. RenderWorld.mesh_set_visible(render_world, camera_mesh, false)
  20. end
  21. end
  22. end
  23. function Behavior.update(world, dt)
  24. -- Update all units
  25. end
  26. function Behavior.unspawned(world, units)
  27. -- Cleanup
  28. for uu = 1, #units do
  29. if Data[world][units] then
  30. Data[world][units] = nil
  31. end
  32. end
  33. end
  34. return Behavior