Пример #1
0
        protected override void ReadFromImpl(object obj)
        {
            base.ReadFromImpl(obj);
            PBAutoUnwrapSettings uo = (PBAutoUnwrapSettings)obj;

            rotation      = uo.rotation;
            offset        = uo.offset;
            scale         = uo.scale;
            swapUV        = uo.swapUV;
            flipV         = uo.flipV;
            flipU         = uo.flipU;
            useWorldSpace = uo.useWorldSpace;
        }
Пример #2
0
        protected override object WriteToImpl(object obj)
        {
            obj = base.WriteToImpl(obj);
            PBAutoUnwrapSettings uo = (PBAutoUnwrapSettings)obj;

            uo.rotation      = rotation;
            uo.offset        = offset;
            uo.scale         = scale;
            uo.swapUV        = swapUV;
            uo.flipV         = flipV;
            uo.flipU         = flipU;
            uo.useWorldSpace = useWorldSpace;
            return(uo);
        }
Пример #3
0
        private void OnSelectionChanged()
        {
            IMeshEditor editor = GetEditor();

            if (editor != null)
            {
                MeshSelection        selection = editor.GetSelection();
                PBAutoUnwrapSettings settings  = m_autoUVEditor.GetSettings(selection);
                m_uv.CopyFrom(settings);
            }

            if (SelectionChanged != null)
            {
                SelectionChanged();
            }
        }
Пример #4
0
        private void Awake()
        {
            IOC.RegisterFallback <IProBuilderTool>(this);

            m_rte = IOC.Resolve <IRuntimeEditor>();

            m_wm = IOC.Resolve <IWindowManager>();
            m_wm.WindowCreated += OnWindowCreated;

            m_materialEditor = gameObject.AddComponent <PBMaterialEditor>();
            m_autoUVEditor   = gameObject.AddComponent <PBAutoUVEditor>();
            m_uv             = new PBAutoUnwrapSettings();
            m_uv.Changed    += OnUVChanged;

            PBVertexEditor vertexEditor = gameObject.AddComponent <PBVertexEditor>();
            PBEdgeEditor   edgeEditor   = gameObject.AddComponent <PBEdgeEditor>();
            PBFaceEditor   faceEditor   = gameObject.AddComponent <PBFaceEditor>();

            m_meshEditors = new IMeshEditor[4];
            m_meshEditors[(int)ProBuilderToolMode.Vertex] = vertexEditor;
            m_meshEditors[(int)ProBuilderToolMode.Edge]   = edgeEditor;
            m_meshEditors[(int)ProBuilderToolMode.Face]   = faceEditor;

            foreach (IMeshEditor editor in m_meshEditors)
            {
                if (editor == null)
                {
                    continue;
                }
                editor.CenterMode = m_rte.Tools.PivotMode == RuntimePivotMode.Center;
            }
            UpdateGlobalMode();

            m_pivot = new GameObject("Pivot").transform;
            LockAxes lockAxes = m_pivot.gameObject.AddComponent <LockAxes>();

            lockAxes.RotationFree = true;

            m_pivot.SetParent(transform, false);

            ExposeToEditor exposed = m_pivot.gameObject.AddComponent <ExposeToEditor>();

            exposed.CanDelete    = false;
            exposed.CanDuplicate = false;
            exposed.CanInspect   = false;
        }
        private void Awake()
        {
            IOC.RegisterFallback <IProBuilderTool>(this);

            m_rte = IOC.Resolve <IRuntimeEditor>();

            m_wm = IOC.Resolve <IWindowManager>();
            m_wm.WindowCreated += OnWindowCreated;
            foreach (RuntimeWindow window in m_rte.Windows)
            {
                if (window.WindowType == RuntimeWindowType.Scene)
                {
                    SetCullingMask(window);
                }
            }

            m_materialEditor  = gameObject.AddComponent <PBMaterialEditor>();
            m_autoUVEditor    = gameObject.AddComponent <PBAutoUVEditor>();
            m_polyShapeEditor = gameObject.AddComponent <ProBuilderPolyShapeEditor>();

            m_uv          = new PBAutoUnwrapSettings();
            m_uv.Changed += OnUVChanged;

            bool wasActive = gameObject.activeSelf;

            gameObject.SetActive(false);
            PBVertexEditor vertexEditor = gameObject.AddComponent <PBVertexEditor>();
            PBEdgeEditor   edgeEditor   = gameObject.AddComponent <PBEdgeEditor>();
            PBFaceEditor   faceEditor   = gameObject.AddComponent <PBFaceEditor>();

            m_meshEditors = new IMeshEditor[5];
            m_meshEditors[(int)ProBuilderToolMode.Vertex] = vertexEditor;
            m_meshEditors[(int)ProBuilderToolMode.Edge]   = edgeEditor;
            m_meshEditors[(int)ProBuilderToolMode.Face]   = faceEditor;

            foreach (IMeshEditor editor in m_meshEditors)
            {
                if (editor == null)
                {
                    continue;
                }
                editor.GraphicsLayer = m_rte.CameraLayerSettings.ExtraLayer1;
                editor.CenterMode    = m_rte.Tools.PivotMode == RuntimePivotMode.Center;
            }
            UpdateGlobalMode();

            m_pivot = new GameObject("Pivot").transform;
            LockAxes lockAxes = m_pivot.gameObject.AddComponent <LockAxes>();

            lockAxes.RotationFree = true;

            m_pivot.SetParent(transform, false);

            ExposeToEditor exposed = m_pivot.gameObject.AddComponent <ExposeToEditor>();

            exposed.CanDelete    = false;
            exposed.CanDuplicate = false;
            exposed.CanInspect   = false;

            gameObject.SetActive(wasActive);
        }