Vector4 ApplyModify(Vector4 _src, float _value, enum_PaintMode _paintMode, enum_PaintColor _targetColor) { switch (_paintMode) { default: throw new Exception("Invalid Type:" + _paintMode); case enum_PaintMode.Const: switch (_targetColor) { default: throw new Exception("Invalid Target:" + _targetColor); case enum_PaintColor.R: return(new Vector4(_value, _src.y, _src.z, _src.w)); case enum_PaintColor.G: return(new Vector4(_src.x, _value, _src.z, _src.w)); case enum_PaintColor.B: return(new Vector4(_src.x, _src.y, _value, _src.w)); case enum_PaintColor.A: return(new Vector4(_src.x, _src.y, _src.z, _value)); } case enum_PaintMode.Modify: switch (_targetColor) { default: throw new Exception("Invalid Target:" + _targetColor); case enum_PaintColor.R: return(new Vector4(Mathf.Clamp(_src.x, 0, 1) + _value, _src.y, _src.z, _src.w)); case enum_PaintColor.G: return(new Vector4(_src.x, Mathf.Clamp(_src.y + _value, 0, 1), _src.z, _src.w)); case enum_PaintColor.B: return(new Vector4(_src.x, _src.y, Mathf.Clamp(_src.z + _value, 0, 1), _src.w)); case enum_PaintColor.A: return(new Vector4(_src.x, _src.y, _src.z, Mathf.Clamp(_src.w + _value, 0, 1))); } } }
public static Color GetPaintColor(enum_PaintColor _color) { switch (_color) { default: return(Color.magenta); case enum_PaintColor.R: return(Color.red); case enum_PaintColor.G: return(Color.green); case enum_PaintColor.B: return(Color.blue); case enum_PaintColor.A: return(Color.cyan); } }