Exemple #1
0
 public void Check(float _v)
 {
     if (Items.Count < nCount)
     {
         return;
     }
     if (_v < 0)
     {//向左运动
         Debug.Log("向左运动");
         for (int i = 0; i < Items.Count; i++)
         {
             if (Items[i].v < (VMin - (1.0f / (float)nCount) / 2))
             {
                 GotoLaserItems.Add(Items[i]);
             }
         }
         if (GotoLaserItems.Count > 0)
         {
             for (int i = 0; i < GotoLaserItems.Count; i++)
             {
                 GotoLaserItems[i].v = Items[Items.Count - 1].v + (1.0f / (float)nCount);
                 Items.Remove(GotoLaserItems[i]);
                 Items.Add(GotoLaserItems[i]);
             }
             GotoLaserItems.Clear();
         }
     }
     else if (_v > 0)
     {//向右运动,需要把右边的放到前面来
         Debug.Log("向右运动");
         for (int i = Items.Count - 1; i > 0; i--)
         {
             if (Items[i].v > VMax)
             {
                 GotoFirstItems.Add(Items[i]);
             }
         }
         if (GotoFirstItems.Count > 0)
         {
             for (int i = 0; i < GotoFirstItems.Count; i++)
             {
                 GotoFirstItems[i].v = Items[0].v - (1.0f / nCount);
                 Items.Remove(GotoFirstItems[i]);
                 Items.Insert(0, GotoFirstItems[i]);
             }
             GotoFirstItems.Clear();
         }
     }
 }
 public void Check(float _v)
 {
     if (Items.Count < 5)
     {
         return;
     }
     if (_v < 0)
     {        //向左运动
         for (int i = 0; i < Items.Count; i++)
         {
             if (Items[i].v < (VMin - AddValue / 2))
             {
                 GotoLaserItems.Add(Items[i]);
             }
         }
         if (GotoLaserItems.Count > 0)
         {
             for (int i = 0; i < GotoLaserItems.Count; i++)
             {
                 GotoLaserItems[i].v = Items[Items.Count - 1].v + AddValue;
                 Items.Remove(GotoLaserItems[i]);
                 Items.Add(GotoLaserItems[i]);
             }
             GotoLaserItems.Clear();
         }
     }
     else if (_v > 0)
     {        //向右运动,需要把右边的放到前面来
         for (int i = Items.Count - 1; i > 0; i--)
         {
             if (Items[i].v > VMax)
             {
                 GotoFirstItems.Add(Items[i]);
             }
         }
         if (GotoFirstItems.Count > 0)
         {
             for (int i = 0; i < GotoFirstItems.Count; i++)
             {
                 GotoFirstItems[i].v = Items[0].v - AddValue;
                 Items.Remove(GotoFirstItems[i]);
                 Items.Insert(0, GotoFirstItems[i]);
             }
             GotoFirstItems.Clear();
         }
     }
 }
 public void Check(float _v)
 {
     if (_v < 0)  //向左运动
     {
         for (int i = 0; i < Items.Count; i++)
         {
             if (Items[i].positonValue < (VMin - AddValue / 2))
             {
                 GotoLaserItems.Add(Items[i]);
             }
         }
         if (GotoLaserItems.Count > 0)
         {
             for (int i = 0; i < GotoLaserItems.Count; i++)
             {
                 GotoLaserItems[i].positonValue = Items[Items.Count - 1].positonValue + AddValue;
                 Items.Remove(GotoLaserItems[i]);
                 Items.Add(GotoLaserItems[i]);
             }
             GotoLaserItems.Clear();
         }
     }
     else if (_v > 0)    //向右运动,需要把右边的放到前面来
     {
         for (int i = Items.Count - 1; i > 0; i--)
         {
             if (Items[i].positonValue >= VMax)
             {
                 GotoFirstItems.Add(Items[i]);
             }
         }
         if (GotoFirstItems.Count > 0)
         {
             for (int i = 0; i < GotoFirstItems.Count; i++)
             {
                 GotoFirstItems[i].positonValue = Items[0].positonValue - AddValue;
                 Items.Remove(GotoFirstItems[i]);
                 Items.Insert(0, GotoFirstItems[i]);
             }
             GotoFirstItems.Clear();
         }
     }
 }