Пример #1
0
        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);
        }
Пример #2
0
        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);
        }