Esempio n. 1
0
 public void PauseAllBrush()
 {
     for (int i = this.m_currentActiveBrushList.Count - 1; i >= 0; --i)
     {
         PaintBrush activeBrush = this.m_currentActiveBrushList[i];
         activeBrush.PauseBrush();
     }
 }
Esempio n. 2
0
 private void OnDrawingEnd(Gesture gesture)
 {
     if (this.m_currentBrush != null)
     {
         this.m_currentBrush.ForceBeginFade(Time.time);
         this.m_currentBrush = null;
     }
 }
Esempio n. 3
0
        /// <summary>
        /// 回收画笔
        /// </summary>
        /// <param name="paintBrush"></param>
        private void RecycleBrush(PaintBrush paintBrush)
        {
            this.m_brushPoolDict[paintBrushMode].Free(paintBrush);

            SortOrderAllocer--;

            for (int i = 0; i < this.m_currentActiveBrushList.Count; ++i)
                this.m_currentActiveBrushList[i].BrushSortOrder--;
        }
Esempio n. 4
0
        /// <summary>
        /// 更换画笔
        /// </summary>
        /// <returns></returns>
        private PaintBrush ChangeBrush(Vector3 position)
        {
            PaintBrush brush = this.m_brushPoolDict[paintBrushMode].Alloc();

            if (brush == null)
            {
                if (this.paintBrushMode == PaintBrushMode.MULTIPLE)
                {
                    brush = new TrailPaintBrush();
                    brush.BrushSize = GameConst.TRAIL_BRUSH_SIZE;
                }
                else
                {
                    //todo:有时间重构
                    for (int i = 0; i < this.m_currentActiveBrushList.Count; ++i)
                    {
                        if (this.m_currentActiveBrushList[i].PaintBrushType == PaintBrush.BrushType.ONETIME_BRUSH)
                        {
                            brush = this.m_currentActiveBrushList[i];
                            this.m_currentActiveBrushList.Remove(brush);
                            break;
                        }
                    }

                    if (brush == null)
                    {
                        brush = new OneTimeBrush();
                        brush.BrushSize = GameConst.DARK_SCENE_BRUSH_SIZE;
                    }
                }

                brush.BrushFadeTime = BrushFadeoutTime;
                brush.BrushTime = BrushTime;

                brush.InitBrush(position);
            }


            this.m_currentBrush = brush;
            this.m_currentBrush.BrushSortOrder = ++SortOrderAllocer;
            this.m_currentBrush.BrushStartTime = Time.time;
            this.m_currentBrush.BrushPaintStatus = PaintBrush.BrushStatus.PAINTING;

            this.m_currentActiveBrushList.Add(this.m_currentBrush);

            return brush;
        }
Esempio n. 5
0
 private void Update()
 {
     for (int i = this.m_currentActiveBrushList.Count - 1; i >= 0; --i)
     {
         PaintBrush activeBrush = this.m_currentActiveBrushList[i];
         switch (activeBrush.BrushPaintStatus)
         {
             case PaintBrush.BrushStatus.FADING:
             case PaintBrush.BrushStatus.PAINTING:
                 activeBrush.Tick();
                 break;
             case PaintBrush.BrushStatus.FADEEND:
                 RecycleBrush(activeBrush);
                 this.m_currentActiveBrushList.Remove(activeBrush);
                 break;
         }
     }
 }
Esempio n. 6
0
        private void OnDrawing(Gesture gesture)
        {
            if (SceneModule.Instance.CurrentScene != null && SceneModule.Instance.CurrentScene is GameSceneBase)
            {
                if (((GameSceneBase)SceneModule.Instance.CurrentScene).CurGameStatus != SceneBase.GameStatus.GAMING)
                {
                    return;
                }
            }
            if (gesture.deltaPosition.sqrMagnitude < SWIPE_THRESHOLD)
                return;

            Vector3 brushWorldPos = this.m_brushCamera.ScreenToWorldPoint(new Vector3(gesture.position.x, gesture.position.y));
            brushWorldPos.z = BrushWorldZ;

            if (this.m_currentBrush == null || Time.time - this.m_currentBrush.BrushStartTime > BrushTime)
                this.m_currentBrush = ChangeBrush(brushWorldPos);

            this.m_currentBrush.BrushTransform.position = brushWorldPos;
            this.m_currentBrush.IsActive = true;
        }