コード例 #1
0
ファイル: ModuleBag.cs プロジェクト: e2wugui/zeze
            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);
            }
コード例 #2
0
            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);
            }
コード例 #3
0
ファイル: ModuleBag.cs プロジェクト: e2wugui/zeze
            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);
            }
コード例 #4
0
ファイル: Bag.cs プロジェクト: e2wugui/zeze
 public Bag(long roleId, BBag bag)
 {
     this.RoleId = roleId;
     this.bag    = bag;
 }
コード例 #5
0
ファイル: Bag.cs プロジェクト: e2wugui/zeze
 public static void ToProtocol(BBag bag, BBag b)
 {
     b.Money    = bag.Money;
     b.Capacity = bag.Capacity;
     b.Items.AddRange(bag.Items); // 只能临时引用一下。发完协议就丢弃,不能保存。
 }
コード例 #6
0
ファイル: Bag.cs プロジェクト: e2wugui/zeze
 public void ToProtocol(BBag b)
 {
     ToProtocol(bag, b);
 }
コード例 #7
0
ファイル: ModuleBag.cs プロジェクト: e2wugui/zeze
 public override int ProcessSBag(SBag protocol)
 {
     bag = protocol.Argument;
     return(0);
 }