Пример #1
0
    protected override void OnUpdate()
    {
        base.OnUpdate();

        if (Input.GetMouseButtonDown(0))
        {
            Vector3 vecPos  = _pCamera.ScreenToWorldPoint(Input.mousePosition);
            Vector3 vecPos2 = _pCamera.WorldToViewportPoint(vecPos);
            DoPlayRippleEffect(vecPos2);
        }

        var pNodeCurrent = _listDropInfo.First;

        while (pNodeCurrent != null)
        {
            SInfoRippleEffect pInfoEffect = pNodeCurrent.Value;
            if (pInfoEffect.Update())
            {
                _listDropInfo.Remove(pInfoEffect);
                _queueOnDisable.Enqueue(pInfoEffect);
            }

            pNodeCurrent = pNodeCurrent.Next;
        }

        UpdateShaderParameters();
    }
Пример #2
0
 public void DoPlayRippleEffect(Vector3 vecPos)
 {
     if (_queueOnDisable.Count != 0)
     {
         SInfoRippleEffect pDropInfoDisable = _queueOnDisable.Dequeue();
         pDropInfoDisable.DoReset(vecPos, _fDuration);
         _listDropInfo.AddLast(pDropInfoDisable);
     }
 }