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; }
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); }
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(); } }
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); }