public VisibilityToolController(IVisibilityToolModel model, IVisibilityTool[] tools, Func <SkeletonTool> skeletonTool = null, Func <IMeshPreviewBehaviour> meshPreviewBehaviour = null) { m_Model = model; m_Tools = tools; for (int i = 0; i < m_Tools.Length; ++i) { int index = i; var tool = m_Tools[i]; tool.SetAvailabilityChangeCallback(() => OnToolAvailabilityChange(index)); tool.Setup(); model.view.AddToolTab(tool.name, () => ActivateToolWithUndo(tool)); model.view.SetToolAvailable(i, tool.isAvailable); } m_SkeletonTool = skeletonTool; m_MeshPreviewBehaviour = meshPreviewBehaviour; }
public VisibilityToolController(IVisibilityToolModel model, IVisibilityTool[] tools) { m_Model = model; m_Tools = tools; for (int i = 0; i < m_Tools.Length; ++i) { int index = i; var tool = m_Tools[i]; tool.SetAvailabilityChangeCallback(() => OnToolAvailabilityChange(index)); tool.Setup(); model.view.AddToolTab(tool.name, () => ActivateToolWithUndo(tool)); model.view.SetToolAvailable(i, tool.isAvailable); } currentTool = defaultTool; }
public void Setup() { m_Model = Substitute.For <IVisibilityToolModel>(); m_View = Substitute.For <IVisibilityToolWindow>(); m_Tools = new IVisibilityTool[] { Substitute.For <IVisibilityTool>(), Substitute.For <IVisibilityTool>(), Substitute.For <IVisibilityTool>() }; m_Tools[0].isAvailable.Returns(false); m_Tools[1].isAvailable.Returns(true); m_Tools[2].isAvailable.Returns(true); int index = 0; foreach (var tool in m_Tools) { tool.name.Returns(string.Format("Tool {0}", index++)); } m_Model.skinningCache.Returns((SkinningCache)null); m_Model.view.Returns(m_View); m_Model.meshOpacityValue.Returns(0.66f); m_Model.boneOpacityValue.Returns(0.66f); }