public void OnChanged(object key, Bean value) { // 记录改变,通知全部。 BBag bbag = (BBag)value; var sbag = new SBag(); Bag.ToProtocol(bbag, sbag.Argument); Game.App.Instance.Game_Login.Onlines.SendReliableNotify((long)key, Name, sbag); }
void ChangeListener.OnChanged(object key, Bean value) { // 记录改变,通知全部。 BBag bbag = (BBag)value; SChanged changed = new SChanged(); changed.Argument.ChangeTag = BChangedResult.ChangeTagRecordChanged; changed.Argument.ItemsReplace.AddRange(bbag.Items); Game.App.Instance.Game_Login.Onlines.Send((long)key, changed); }
void ChangeListener.OnChanged(object key, Bean value, ChangeNote note) { // 增量变化,通知变更。 ChangeNoteMap2 <int, BItem> notemap2 = (ChangeNoteMap2 <int, BItem>)note; BBag bbag = (BBag)value; notemap2.MergeChangedToReplaced(bbag.Items); SChanged changed = new SChanged(); changed.Argument.ChangeTag = BChangedResult.ChangeTagNormalChanged; changed.Argument.ItemsReplace.AddRange(notemap2.Replaced); foreach (var p in notemap2.Removed) { changed.Argument.ItemsRemove.Add(p); } Game.App.Instance.Game_Login.Onlines.SendReliableNotify((long)key, Name, changed); }
public Bag(long roleId, BBag bag) { this.RoleId = roleId; this.bag = bag; }
public static void ToProtocol(BBag bag, BBag b) { b.Money = bag.Money; b.Capacity = bag.Capacity; b.Items.AddRange(bag.Items); // 只能临时引用一下。发完协议就丢弃,不能保存。 }
public void ToProtocol(BBag b) { ToProtocol(bag, b); }
public override int ProcessSBag(SBag protocol) { bag = protocol.Argument; return(0); }