| 6 | // |
| 7 | |
| 8 | public class World { |
| 9 | // runity.dll callbacks |
| 10 | private DSpawnPrefab m_cbSpawnPrefab; |
| 11 | private DSpawnPrefabWithTransform m_cbSpawnPrefabWithTransform; |
| 12 | private DSpawnPrefabWithTransformAndParent m_cbSpawnPrefabWithTransformAndParent; |
| 13 | private DDespawnGameObject m_cbDespawnGameObject; |
| 14 | private DUploadComponentTransform m_cbUploadComponentTransform; |
| 15 | private DUploadComponentTextmeshui m_cbUploadComponentTextmeshui; |
| 16 | private DKeyCallback m_cbKeyJustPressed; |
| 17 | private DKeyCallback m_cbKeyJustReleased; |
| 18 | private DKeyCallback m_cbKeyHeld; |
| 19 | private DEntityTrackCollision m_cbEntityTrackCollision; |
| 20 | |
| 21 | // unity side data |
| 22 | private Dictionary<string, UnityEngine.GameObject> m_prefabs; |
| 23 | private Dictionary<UInt64, RustyGameObject> m_gameObjects; |
| 24 | private Dictionary<int, System.Type> m_idToComponentType; |
| 25 | |
| 26 | public World(ScriptablePrefabs a_prefabBindings) { |
| 27 | m_cbSpawnPrefab = SpawnPrefab; |
| 28 | m_cbSpawnPrefabWithTransform = SpawnPrefabWithTransform; |
| 29 | m_cbSpawnPrefabWithTransformAndParent = SpawnPrefabWithTransformAndParent; |
| 30 | m_cbDespawnGameObject = DespawnGameObject; |
| 31 | m_cbUploadComponentTransform = UploadComponentTransform; |
| 32 | m_cbUploadComponentTextmeshui = UploadComponentTextmeshui; |
| 33 | m_cbKeyJustPressed = InputKeyJustPressed; |
| 34 | m_cbKeyJustReleased = InputKeyJustReleased; |
| 35 | m_cbKeyHeld = InputKeyHeld; |
| 36 | m_cbEntityTrackCollision = EntityTrackCollision; |
| 37 | world_bind_spawn_prefab_callback(m_cbSpawnPrefab); |
| 38 | world_bind_spawn_prefab_with_transform_callback(m_cbSpawnPrefabWithTransform); |
| 39 | world_bind_spawn_prefab_with_transform_and_parent_callback(m_cbSpawnPrefabWithTransformAndParent); |
| 40 | world_bind_despawn_gameobject_callback(m_cbDespawnGameObject); |
| 41 | world_bind_upload_component_transform_callback(m_cbUploadComponentTransform); |
| 42 | world_bind_upload_component_textmeshui_callback(m_cbUploadComponentTextmeshui); |
| 43 | world_bind_input_key_just_pressed(m_cbKeyJustPressed); |
| 44 | world_bind_input_key_just_released(m_cbKeyJustReleased); |
| 45 | world_bind_input_key_held(m_cbKeyHeld); |
| 46 | world_bind_entity_track_collision(m_cbEntityTrackCollision); |
| 47 | m_prefabs = new Dictionary<string, UnityEngine.GameObject>(); |
| 48 | m_gameObjects = new Dictionary<UInt64, RustyGameObject>(); |
| 49 | for(int i = 0; i < a_prefabBindings.PrefabBindings.Length; i++) { |
| 50 | var binding = a_prefabBindings.PrefabBindings[i]; |
| 51 | m_prefabs.Add(binding.RustName, binding.Prefab); |
| 52 | } |
| 53 | } |
| 54 | |
| 55 | public bool InputKeyJustPressed(UnityEngine.KeyCode a_key) { |
| 56 | return UnityEngine.Input.GetKeyDown(a_key); |
| 57 | } |
| 58 | |
| 59 | public bool InputKeyJustReleased(UnityEngine.KeyCode a_key) { |
| 60 | return UnityEngine.Input.GetKeyUp(a_key); |
| 61 | } |
| 62 | |
| 63 | public bool InputKeyHeld(UnityEngine.KeyCode a_key) { |
| 64 | return UnityEngine.Input.GetKey(a_key); |
| 65 | } |
nothing calls this directly
no outgoing calls
no test coverage detected