Ejemplo n.º 1
0
    /// <summary>
    /// Mouseを更新
    /// </summary>
    private void UpdateMouse()
    {
        if (objectEditor.GetCurrentObject() == null)    //選択なし状態
        {
            if (onMouse != null)                        //マウスにオブジェクトある場合
            {
                DestroyImmediate(onMouse);              //削除
            }
            onMouse = null;                             //Nullにする
            return;
        }
        if (onMouse == null ||
            onMouse.name != objectEditor.GetCurrentObject().name)   //マウスのオブジェクトが異なる場合
        {
            if (onMouse != null)                                    //マウスにオブジェクトある場合
            {
                DestroyImmediate(onMouse);                          //削除
            }
            CreateMouseObj();                                       //マウスのObjectを作成
        }
        Event   e        = Event.current;
        Camera  camera   = SceneView.lastActiveSceneView.camera;                                               //カメラ取得
        Vector2 mousePos = e.mousePosition;                                                                    //マウス位置取得
        Vector3 world    = camera.ScreenToWorldPoint(HandleUtility.GUIPointToScreenPixelCoordinate(mousePos)); //座標変換

        world.z = -0.5f;                                                                                       //深度固定
        world   = GridHelper.SetOnGrid(world);
        onMouse.transform.position = world;                                                                    //座標設定

        SetTrigger();
    }