void ChangeListener.OnRemoved(object key) { SChanged changed = new SChanged(); changed.Argument.ChangeTag = BBufChanged.ChangeTagRecordIsRemoved; Game.App.Instance.Game_Login.Onlines.Send((long)key, changed); }
public void OnRemoved(object key) { SChanged changed = new SChanged(); changed.Argument.ChangeTag = BChangedResult.ChangeTagRecordIsRemoved; Game.App.Instance.Game_Login.Onlines.SendReliableNotify((long)key, Name, changed); }
public override int ProcessSChanged(SChanged protocol) { switch (protocol.Argument.ChangeTag) { case BChangedResult.ChangeTagRecordChanged: // 记录改变还需要更新money,capacity。但是listener只监听了items。 // server 在发现整个记录变更时,发送了SBag。不会发这个改变。see server::Game.Bag.Module。 /* * bag.Items.Clear(); * bag.Items.SetItems(protocol.Argument.ItemsReplace); */ break; case BChangedResult.ChangeTagRecordIsRemoved: bag = null; break; case BChangedResult.ChangeTagNormalChanged: bag.Items.SetItems(protocol.Argument.ItemsReplace); foreach (var r in protocol.Argument.ItemsRemove) { bag.Items.Remove(r); } break; } return(Zeze.Transaction.Procedure.Success); }
public override int ProcessCGetBag(CGetBag protocol) { Login.Session session = Login.Session.Get(protocol); SChanged result = new SChanged(); result.Argument.ItemsReplace.AddRange(GetBag(session.LoginRoleId.Value).Items); session.SendResponse(result); return(Zeze.Transaction.Procedure.Success); }
void ChangeListener.OnChanged(object key, Bean value) { // 记录改变,通知全部。 BBufs record = (BBufs)value; SChanged changed = new SChanged(); changed.Argument.ChangeTag = BBufChanged.ChangeTagRecordChanged; changed.Argument.Replace.AddRange(record.Bufs); Game.App.Instance.Game_Login.Onlines.SendReliableNotify((long)key, Name, changed); }
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); }
void ChangeListener.OnChanged(object key, Bean value, ChangeNote note) { // 增量变化,通知变更。 ChangeNoteMap2 <int, BBuf> notemap2 = (ChangeNoteMap2 <int, BBuf>)note; BBufs record = (BBufs)value; notemap2.MergeChangedToReplaced(record.Bufs); SChanged changed = new SChanged(); changed.Argument.ChangeTag = BBufChanged.ChangeTagNormalChanged; changed.Argument.Replace.AddRange(notemap2.Replaced); foreach (var p in notemap2.Removed) { changed.Argument.Remove.Add(p); } Game.App.Instance.Game_Login.Onlines.Send((long)key, changed); }