public rewardData get(int index) { rewardData rd = new rewardData(); rd.rank = index; int pos = _lst.BinarySearch(rd, new comp()); if (pos < 0) { pos = ~pos; } if (pos > _lst.Count - 1) { rd.rank = _defaultValue.rank; rd.Diamonds = _defaultValue.Diamonds; rd.Score = _defaultValue.Score; } else { rd.rank = index; rd.Score = _lst[pos].Score; rd.Diamonds = _lst[pos].Diamonds; } return(rd); }
public override void init() { base.init(); _lst = new List <rewardData>(); _defaultValue = new rewardData(); _defaultValue.rank = 0; _defaultValue.Diamonds = 0; _defaultValue.Score = 0; }
protected override void gameConfigCreate(string fileName, string name) { var cache = new ShareCacheStruct <ExchangeCode>(); System.IO.StreamReader stream = new System.IO.StreamReader(fileName); _lst.Clear(); string line = ""; int index = 0; while ((line = stream.ReadLine()) != null) { index++; if (index < 3) { continue; } if (line == "") { continue; } // TODO string[] strData = line.Split('\t'); rewardData rd = new rewardData(); rd.rank = getInt(strData[0]); rd.Diamonds = getInt(strData[1]); rd.Score = getInt(strData[2]); _lst.Add(rd); } _lst.Sort(new comp()); rewardData rrrddd = get(0); rrrddd = get(1); rrrddd = get(2); rrrddd = get(3); rrrddd = get(10000); rrrddd = get(100000); stream.Close(); }