Example #1
0
 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);
        }