public void Initialize()
    {
        _mainCameraRigEntity = _contexts.game.CreateEntity();
        _mainCameraRigEntity.AddView(Camera.main.transform.parent.gameObject);
        _mainCameraRigEntity.AddPosition(Camera.main.transform.parent.position);
        _mainCameraRigEntity.AddRotation(Camera.main.transform.parent.rotation);
        _mainCameraRigEntity.isMainCameraRig = true;

        _mainCameraEntity = _contexts.game.CreateEntity();
        _mainCameraEntity.AddView(Camera.main.transform.gameObject);
        _mainCameraEntity.AddPosition(Camera.main.transform.position);
        _mainCameraEntity.AddRotation(Camera.main.transform.rotation);
        _mainCameraEntity.isMainCamera = true;

        _controls = _contexts.meta.gameConfig.value.controls;
        _hotkeys  = _contexts.meta.gameConfig.value.hotkeys;
    }
        public void Initialize()
        {
            CreateMouseEventEntity();

            //Controls
            HotkeysConfig hotkeysConfig = _contexts.meta.gameConfig.value.hotkeys;

            FieldInfo[] hotkeyFields = hotkeysConfig.GetType().GetFields().Where(f => f.FieldType == typeof(Hotkey)).ToArray();
            _hotkeys = new Hotkey[hotkeyFields.Length];

            for (int i = 0; i < hotkeyFields.Length; i++)
            {
                _hotkeys[i] = (Hotkey)hotkeyFields[i].GetValue(hotkeysConfig);
            }

            //Main Ui
            _mainUiEntity = _contexts.ui.mainUiRootEntity;
        }