public void MemorizeBrushStroke( BaseBrushScript brushScript, Color rColor, Guid brushGuid, float fBrushSize, float brushScale, List <PointerManager.ControlPoint> rControlPoints, StrokeFlags strokeFlags, StencilWidget stencil, float lineLength) { ClearRedo(); Stroke rNewStroke = new Stroke(); rNewStroke.m_Type = Stroke.Type.BrushStroke; rNewStroke.m_Object = brushScript.gameObject; rNewStroke.m_ControlPoints = rControlPoints.ToArray(); rNewStroke.m_ControlPointsToDrop = new bool[rNewStroke.m_ControlPoints.Length]; rNewStroke.m_Color = rColor; rNewStroke.m_BrushGuid = brushGuid; rNewStroke.m_BrushSize = fBrushSize; rNewStroke.m_BrushScale = brushScale; rNewStroke.m_Flags = strokeFlags; brushScript.Stroke = rNewStroke; SketchMemoryScript.m_Instance.RecordCommand( new BrushStrokeCommand(rNewStroke, stencil, lineLength)); MemoryListAdd(rNewStroke); TiltMeterScript.m_Instance.AdjustMeter(rNewStroke, up: true); }
public void MemorizeBatchedBrushStroke( BatchSubset subset, Color rColor, Guid brushGuid, float fBrushSize, float brushScale, List <PointerManager.ControlPoint> rControlPoints, StrokeFlags strokeFlags, StencilWidget stencil, float lineLength, int seed) { // NOTE: PointerScript calls ClearRedo() in batch case Stroke rNewStroke = new Stroke(); rNewStroke.m_Type = Stroke.Type.BatchedBrushStroke; rNewStroke.m_BatchSubset = subset; rNewStroke.m_ControlPoints = rControlPoints.ToArray(); rNewStroke.m_ControlPointsToDrop = new bool[rNewStroke.m_ControlPoints.Length]; rNewStroke.m_Color = rColor; rNewStroke.m_BrushGuid = brushGuid; rNewStroke.m_BrushSize = fBrushSize; rNewStroke.m_BrushScale = brushScale; rNewStroke.m_Flags = strokeFlags; rNewStroke.m_Seed = seed; subset.m_Stroke = rNewStroke; SketchMemoryScript.m_Instance.RecordCommand( new BrushStrokeCommand(rNewStroke, stencil, lineLength)); if (m_SanityCheckStrokes) { SanityCheckGeometryGeneration(rNewStroke); //SanityCheckVersusReplacementBrush(rNewObject); } MemoryListAdd(rNewStroke); TiltMeterScript.m_Instance.AdjustMeter(rNewStroke, up: true); }