/// <summary>
    /// 设备编辑模式下,旋转缩放状态设置
    /// </summary>
    /// <param name="isOn"></param>
    private void SetGizmoTypeState(bool isOn)
    {
        EditorGizmoSystem system = EditorGizmoSystem.Instance;

        if (!isOn)
        {
            LastStateDic.Clear();
            LastStateDic.Add(GizmoType.Translation, system.IsGizmoTypeAvailable(GizmoType.Translation));
            LastStateDic.Add(GizmoType.Rotation, system.IsGizmoTypeAvailable(GizmoType.Rotation));
            LastStateDic.Add(GizmoType.Scale, system.IsGizmoTypeAvailable(GizmoType.Scale));
            LastStateDic.Add(GizmoType.VolumeScale, system.IsGizmoTypeAvailable(GizmoType.VolumeScale));
            system.SetGizmoTypeAvailable(GizmoType.Translation, true);
            system.SetGizmoTypeAvailable(GizmoType.Scale, false);
            system.SetGizmoTypeAvailable(GizmoType.Rotation, false);
            system.SetGizmoTypeAvailable(GizmoType.VolumeScale, false);
            system.ActiveGizmoType = GizmoType.Translation;
        }
        else
        {
            if (LastStateDic.Count == 0)
            {
                return;
            }
            system.SetGizmoTypeAvailable(GizmoType.Translation, LastStateDic[GizmoType.Translation]);
            system.SetGizmoTypeAvailable(GizmoType.Scale, LastStateDic[GizmoType.Scale]);
            system.SetGizmoTypeAvailable(GizmoType.Rotation, LastStateDic[GizmoType.Rotation]);
            system.SetGizmoTypeAvailable(GizmoType.VolumeScale, LastStateDic[GizmoType.VolumeScale]);
            LastStateDic.Clear();
        }
    }
示例#2
0
    /// <summary>
    /// 绑定设备编辑事件
    /// </summary>
    private void BindingGizmosEvent()
    {
        EditorGizmoSystem GizmoSystem = EditorGizmoSystem.Instance;

        if (GizmoSystem == null)
        {
            Debug.LogError("EditorGizmoSystem.Instance is null!");
        }
        else
        {
            //移动编辑事件
            GizmoSystem.TranslationGizmo.GizmoDragStart  += TranslationGizmosStart;
            GizmoSystem.TranslationGizmo.GizmoDragUpdate += TranslationGizmosUpdate;
            GizmoSystem.TranslationGizmo.GizmoDragEnd    += TranslationGizmosEnd;
            //旋转编辑事件
            GizmoSystem.RotationGizmo.GizmoDragStart += RotationGizmosStart;
            //GizmoSystem.RotationGizmo.GizmoDragUpdate += RotationGizmosUpdate;
            GizmoSystem.RotationGizmo.GizmoDragEnd += RotationGizmosEnd;
            //缩放编辑事件
            GizmoSystem.ScaleGizmo.GizmoDragStart += ScaleGizmosStart;
            //GizmoSystem.ScaleGizmo.GizmoDragUpdate += ScaleGizmosUpdate;
            GizmoSystem.ScaleGizmo.GizmoDragEnd += ScaleGizmosEnd;
        }
        if (EditorObjectSelection.Instance)
        {
            //物体选中和取消选中的事件
            EditorObjectSelection.Instance.SelectionChanged += OnEditObjectSelectionChange;
        }
    }
示例#3
0
 void OnEnable()
 {
     _gizmoSystem = EditorGizmoSystem.Instance;
     if (_gizmoSystem != null)
     {
         _gizmoSystem.ActiveGizmoTypeChanged += onGizmoChanged;
         EditorObjectSelection.Instance.GameObjectClicked += onGameObjectClicked;
         EditorObjectSelection.Instance.SelectionChanged  += onSelectionChanged;
     }
 }
示例#4
0
    private void bindGizmosEvent()
    {
        EditorGizmoSystem GizmoSystem = EditorGizmoSystem.Instance;

        if (GizmoSystem == null)
        {
            Debug.LogError("EditorGizmoSystem.Instance is null!");
            return;
        }
        //移动编辑事件
        GizmoSystem.TranslationGizmo.GizmoDragStart  += TranslationGizmosStart;
        GizmoSystem.TranslationGizmo.GizmoDragUpdate += TranslationGizmosUpdate;
        GizmoSystem.TranslationGizmo.GizmoDragEnd    += TranslationGizmosEnd;
        //旋转编辑事件
        GizmoSystem.RotationGizmo.GizmoDragStart  += RotationGizmosStart;
        GizmoSystem.RotationGizmo.GizmoDragUpdate += RotationGizmosUpdate;
        GizmoSystem.RotationGizmo.GizmoDragEnd    += RotationGizmosEnd;
        //缩放编辑事件
        GizmoSystem.ScaleGizmo.GizmoDragStart  += ScaleGizmosStart;
        GizmoSystem.ScaleGizmo.GizmoDragUpdate += ScaleGizmosUpdate;
        GizmoSystem.ScaleGizmo.GizmoDragEnd    += ScaleGizmosEnd;

        EditorObjectSelection.Instance.SelectionChanged += OnEditObjectSelectionChange;
    }