示例#1
0
文件: ModuleBuf.cs 项目: e2wugui/zeze
            void ChangeListener.OnRemoved(object key)
            {
                SChanged changed = new SChanged();

                changed.Argument.ChangeTag = BBufChanged.ChangeTagRecordIsRemoved;
                Game.App.Instance.Game_Login.Onlines.Send((long)key, changed);
            }
示例#2
0
文件: ModuleBag.cs 项目: e2wugui/zeze
            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);
            }
示例#3
0
文件: ModuleBag.cs 项目: e2wugui/zeze
        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);
        }
示例#4
0
        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);
        }
示例#5
0
文件: ModuleBuf.cs 项目: e2wugui/zeze
            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);
            }
示例#6
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);
            }
示例#7
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);
            }
示例#8
0
文件: ModuleBuf.cs 项目: e2wugui/zeze
            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);
            }