protected override void OnEnabledInSimulation()
        {
            parent_comp      = this.Parent;
            parent_inputproc = parent_comp?.GetComponent <Component_InputProcessing>();
            if (parent_inputproc == null)
            {
                return;
            }

            parent_inputproc.InputMessageEvent += inputProcess;
            Component_Scene.First.RenderEvent  += SceneRenderEvent;
        }
        private void inputProcess(Component_InputProcessing sender, UIControl playScreen, Component_GameMode gameMode, InputMessage message)
        {
            //mouse down
            var mouseDown = message as InputMessageMouseButtonDown;

            if (mouseDown != null && mouseDown.Button == EMouseButtons.Left)
            {
                last_selected_obj = UTools.GetObjectByCursor(SimulationApp.MainViewport, out ray, out pos);
                if (last_selected_obj != null && pos != null)
                {
                    OnObjectClick?.Invoke(last_selected_obj);
                    //ScreenMessages.Add("pos = " + pos.Value.ToString());
                    //ScreenMessages.Add("Obj = " + (last_selected_obj.TransformV.Position - pos.Value).ToString());
                }
            }
        }