Exemplo n.º 1
0
 /// <summary>
 /// rollback使用 暂时忽略
 /// </summary>
 /// <param name="data"></param>
 public void AddDataRollback(List <SyncedData> data)
 {
     for (int i = 0; i < data.Count; i++)
     {
         SyncedData data2 = this.GetData(data[i].tick);
         bool       fake  = data2.fake;
         if (fake)
         {
             if (!data2.EqualsData(data[i]))
             {
                 data[i].dirty = true;
                 SyncedData.pool.GiveBack(controls[data[i].tick]);
                 controls[data[i].tick] = data[i];
                 break;
             }
             data2.fake  = false;
             data2.dirty = false;
         }
         SyncedData.pool.GiveBack(data[i]);
     }
 }
Exemplo n.º 2
0
 // 添加数据
 public void AddDataRollback(List <SyncedData> data)
 {
     for (int i = 0; i < data.Count; i++)
     {
         SyncedData data2 = this.GetData(data[i].tick);
         bool       fake  = data2.fake;
         if (fake)                 // 取出的是假数据
         {
             bool flag = data2.EqualsData(data[i]);
             if (!flag)                                                 // 两个数据不想等
             {
                 data[i].dirty = true;                                  // 设置为脏数据
                 SyncedData.pool.GiveBack(this.controls[data[i].tick]); // 回收该位置的数据
                 this.controls[data[i].tick] = data[i];                 // 放入新数据
                 break;                                                 // 中断,没有下一个数据要处理?
             }
             data2.fake  = false;
             data2.dirty = false;
         }
         SyncedData.pool.GiveBack(data[i]);
     }
 }
Exemplo n.º 3
0
 public void AddDataRollback(SyncedData[] data)
 {
     for (int i = 0; i < data.Length; i++)
     {
         SyncedData data2 = this.GetData(data[i].tick);
         bool       fake  = data2.fake;
         if (fake)
         {
             bool flag = data2.EqualsData(data[i]);
             if (flag)
             {
                 data2.fake  = false;
                 data2.dirty = false;
             }
             else
             {
                 data[i].dirty = true;
                 this.controls[data[i].tick] = data[i];
             }
         }
     }
 }