示例#1
0
        private void ProviderOnCharacterUpdated(object sender, CharacterViewModelProviderEventArgs args)
        {
            CharacterViewModel vm = Characters.FirstOrDefault(model => args.OldMetadata.Equals(model.Metadata));

            if (vm == null)
            {
                return;
            }
            if (args.Model != null)
            {
                vm.Character.CardBytes  = args.Model.Character.CardBytes;
                vm.Character.ThumbBytes = args.Model.Character.ThumbBytes;
                vm.Character.DataBytes  = args.Model.Character.DataBytes;

                vm.ExtraData.Clear();
                foreach (var pair in args.Model.ExtraData)
                {
                    vm.ExtraData.Add(pair.Key, pair.Value);
                }
            }
            if (args.NewMetadata != null)
            {
                vm.Metadata = args.NewMetadata;
            }

            _uiDispatcher.Invoke(new Action(RefreshView));
        }
示例#2
0
        private void ProviderOnCharacterAdded(object sender, CharacterViewModelProviderEventArgs args)
        {
            CharacterViewModel vm = null;

            if (args.OldMetadata != null)
            {
                vm = Characters.FirstOrDefault(model => args.OldMetadata.Equals(model.Metadata));
            }

            if (vm == null)
            {
                //[WXP] Replaced Lambda to new Func/Action
                _uiDispatcher.Invoke(new Action(() => Characters.Insert(0, args.Model)));
            }
            else
            {
                vm.Character.CardBytes  = args.Model.Character.CardBytes;
                vm.Character.ThumbBytes = args.Model.Character.ThumbBytes;
                vm.Character.DataBytes  = args.Model.Character.DataBytes;
            }

            _uiDispatcher.Invoke(new Action(RefreshView));
        }