public void SetMixMode(CCPaintMode mode) { m_MixMode = mode; }
protected virtual CocoMakeupControlExecutorBase CreateExecutor(CocoMakeupCategoryData categoryData, CocoRoleBody body) { GameObject target = null; string materialProperty = string.Empty; Texture2D sampleTexture = null; bool useUV2 = false; bool bakeMashEnable = true; CCPaintMode paintmode = CCPaintMode.MixOrigin; materialProperty = MakeupData.GetMaterialProperty(categoryData.PaintLayer); switch (categoryData.PaintLayer) { case CocoMakeupPaintLayer.Eye: target = body.GetRenderer(CocoRoleRendererID.EyeBall).gameObject; break; case CocoMakeupPaintLayer.EyeBrow: target = body.GetRenderer(CocoRoleRendererID.EyeBrow).gameObject; break; case CocoMakeupPaintLayer.EyeLash: target = body.GetRenderer(CocoRoleRendererID.Eyelash).gameObject; bakeMashEnable = false; paintmode = CCPaintMode.NonMixOrigin; break; case CocoMakeupPaintLayer.Head: target = body.GetRenderer(CocoRoleRendererID.Head).gameObject; break; case CocoMakeupPaintLayer.Head_Layer1: target = body.GetRenderer(CocoRoleRendererID.Head).gameObject; break; case CocoMakeupPaintLayer.Head_Layer2: target = body.GetRenderer(CocoRoleRendererID.Head).gameObject; useUV2 = true; break; default: target = body.GetRenderer(CocoRoleRendererID.Head).gameObject; break; } CocoMakeupControlExecutorBase executor = null; switch (categoryData.PaintData.paintType) { case CocoMakeupPaintType.PaintTexture: CocoMakeupCategoryPaintData_PaintTexture paintData = (CocoMakeupCategoryPaintData_PaintTexture)categoryData.PaintData; if (paintData.paintBlendColor) { executor = new CocoMakeupControlPaintBlendColor(target, materialProperty, bakeMashEnable, sampleTexture, useUV2); } else { executor = new CocoMakeupControlPaint(target, materialProperty, bakeMashEnable, sampleTexture, useUV2); } executor.PaintKit.SetMixMode(paintmode); break; default: executor = new CocoMakeupControlChange(target, materialProperty, bakeMashEnable); break; } return(executor); }