private BEEData UpdateBEE(BEEData data)
 {
     if (data.state == BEEState.StateAppearance)
     {
         data.time++;
         float scale = MathUtil.GetEaseInQuadInterpolation(AppearanceStartScale, AppearanceEndScale, data.time, AppearnaceDuration);
         data.scale = new Vector3(scale, scale, 1);
         if (data.time >= AppearnaceDuration)
         {
             data.state = BEEState.StateFade;
             data.time  = 0;
         }
     }
     else if (data.state == BEEState.StateFade)
     {
         data.time++;
         float a   = 1f - (float)data.time / FadeDuration;
         Color col = data.color;
         data.color = new Color(col.r, col.g, col.b, a);
         if (data.time >= FadeDuration)
         {
             data.isActive = false;
         }
     }
     return(data);
 }
 public void CreateBulletEliminateEffect(Vector2 pos, Color col)
 {
     // 判断是否需要扩充list
     if (_bulletEffCount >= _bulletEffMaxSize)
     {
         int       newMaxSize = _bulletEffMaxSize + ExtraSize;
         BEEData[] newList    = new BEEData[newMaxSize];
         for (int i = 0; i < _bulletEffCount; i++)
         {
             newList[i] = _bulletEffList[i];
         }
         _bulletEffList    = newList;
         _bulletEffMaxSize = newMaxSize;
     }
     _bulletEffList[_bulletEffCount++] = new BEEData
     {
         pos = pos,
         //color = new Color(col.r, col.g, col.b, 1f),
         color    = col,
         state    = BEEState.StateAppearance,
         scale    = new Vector3(AppearanceStartScale, AppearanceStartScale, 1),
         time     = 0,
         isActive = true,
     };
 }
 private STGEliminateEffectManager()
 {
     _bulletEffList    = new BEEData[DefaultSize];
     _bulletEffMaxSize = DefaultSize;
     _bulletEffCount   = 0;
 }
 private void RenderBEE(BEEData data, int verIndex)
 {
     BuildBEEMesh(data.pos, data.scale.x * BEEHalfWidth, data.scale.y * BEEHalfHeight, data.color, ref verIndex);
 }