//玩家出礼品 public void PlayerAward(int awardCount) { totalAward += awardCount; CheckAddNewData(); CoinsRecordData data = coinsRecordData[0]; data.award += awardCount; coinsRecordData[0] = data; SaveRecord(); }
//玩家投币 public void PlayerInsertCoins(int coins) { totalCoins += coins; CheckAddNewData(); CoinsRecordData data = coinsRecordData[0]; data.coins += coins; coinsRecordData[0] = data; SaveRecord(); }
protected override void SaveRecord(BinaryWriter writer) { writer.Write(totalCoins); writer.Write(totalAward); writer.Write(coinsRecordData.Count); for (int i = 0; i < coinsRecordData.Count; i++) { CoinsRecordData data = coinsRecordData[i]; writer.Write(data.coins); writer.Write(data.award); writer.Write(data.date.ToBinary()); } }
protected override void LoadRecord(BinaryReader reader) { totalCoins = reader.ReadInt32(); totalAward = reader.ReadInt32(); int dataCount = reader.ReadInt32(); for (int i = 0; i < dataCount; i++) { CoinsRecordData data = new CoinsRecordData(); data.coins = reader.ReadInt32(); data.award = reader.ReadInt32(); data.date = DateTime.FromBinary(reader.ReadInt64()); coinsRecordData.Add(data); } }
//检测是否增加新数据 private void CheckAddNewData() { DateTime nowDate = DateTime.Now; if (coinsRecordData.Count != 0) { DateTime dataDate = coinsRecordData[0].date; if (dataDate.Year == nowDate.Year && dataDate.Month == nowDate.Month && dataDate.Day == nowDate.Day) { return; } } //需要添加一条新数据 CoinsRecordData data = new CoinsRecordData(); data.coins = 0; data.award = 0; data.date = nowDate; coinsRecordData.Insert(0, data); }