Buff系统框架设计】的更多相关文章

Buff的配置文件 BufType: 1: 精神类Buf 2: 物理类Buf 3.元素类Buf 4.其他类Buf 5.被动类BufBufSubType: 1000-1999 精神子类 2000-2999.物理子类 3000-3999.元素子类 4000-4999.其他子类 5000-5999.被动子类.所以子类可以唯一标识一个Buff的类别 OppGroupId: 表明该GroupBuff互斥的BuffGroup.玩家身上只可能两种BuffSubType存在一种 RawBufDesc.xml<R…
AvalonDock 是一个.NET库,用于在停靠模式布局(docking)中排列一系列WPF/WinForm控件.最新发布的版本原生支持MVVM框架.Aero Snap特效并具有更好的性能. AvalonDock 2.0版本已经发布了,新版本是用MVVM框架重新编写,似乎也用了Command(命令)模式.2.0版的文档尚未发布,但你可以参考Avalon.TestApp 或者2.0版源码中的Avalon.MVVMTestApp文件夹来查看新的API. 前一篇博文有介绍关于AvalonDock使用…
为什么系统框架设计使用Ribbon导航模式? 这得从Office软件的演变说起.微软为什么最后选择使用Ribbon,也许就是很多系统设计要使用Ribbon做功能导航的原因. 你是否还记得曾经使用过的Microsoft Office界面? 自Microsoft Office诞生之日起,工具栏和菜单栏主导着用户的软件使用操作. 并在Microsoft Office 2.0中引入了嵌入式对话框. 随着Microsoft Office版本的更新,功能的增加,菜单栏和工具栏的数量也随之增多. 在Micro…
一个系统框架除了功能菜单导航,有系统内容显示区域,系统状态栏. Silver: Blue: Black: 系统界面设计,就不进行技术细节介绍了,主题以框架设计为主,Xaml源码参考: <Fluent:RibbonWindow x:Class="TLAgent.SecurityManager.WPF.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmln…
前些时间研究了WPF的一些框架,感觉基于Prism框架的MVVM模式对系统的UI与逻辑分离很好,所以就按照之前Winform的框架设计,用WPF做了一套,感觉比Winform要强很多. MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点 1. 低耦合.视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变. 2. 可重…
一 : 术在内而道在外 Android系统的精髓在源码之外,而不在源码之内,代码只是一种实现人类思想的工具,仅此而已...... 近来发现很多关于Android文章都是以源码的方向入手分析Android这个系统,最终结果可想而知,甚是凄惨.正所谓自信满满的来,一脸懵逼的走. 想要真正了解Android系统,首先一定要站在更高的层次上做分析,以设计者的角度去思考.如果让你去设计Android系统,你会如何设计?而并不是把已经设计好的源码当做学习Android系统的切入点,源码只是让你进一步去验证自…
应用场景 我们基础的框架已经搭建起来了,现在整合MVVM框架Prism,在ViewModel做一些逻辑处理,真正把界面设计分离出来. 这样方便我们系统开发分工合作,同时提高系统可维护性和灵活性. 具体的Prism安装和Microsoft.Practices.Prism.dll获取,在这个网址:http://compositewpf.codeplex.com/ 原始的模式(Winform) (1)现在看一下之前的设计的View: MainWindow.XAML源码: (2)MainWindow.x…
Fluent/Ribbon是微软在其最新桌面操作系统Windows 7中使用的图形用户界面. Windows平台的进化,伴随着系统图形界面的重新设计.从Windows XP到Windows Vista,最大的革新就是Windows Aero的引入.在Windows 7 中,Aero被保留下来. 但是,在未来,Windows 7的图形用户界面将朝着Office 2007相同的方向,名称为Fluent/Ribbon. 现在,我们用WPF作为用户界面开发语言,来做一个简单的实例作为学习的开始. 准备工…
背景 最近要求项目组成员开发一个通用的分页组件,要求是这个组件简单易用,通用性,兼容现有框架MVVM模式,可是最后给我提交的成果勉强能够用,却欠少灵活性和框架兼容性. 设计的基本思想 传入数据源,总页数,当前页码,每页记录数,达到分页显示数据的功能. 优化 我把原本不支持MVVM的源码改善了一下,可能还可以再优化得好些,支持MVVM模式,较果如下图: 添加一解决方案:TLAgent.Pager 设计DataPager类,继承UserControl, INotifyPropertyChanged…
应用场景 我要做一个系统登录功能,需要传用户名和密码到ViewModel中,可是PasswordBox传值到ViewModel中好像跟TextBox等控件不一样.这里需要用到附加属性. 附加属性:一个属性本来不属于某个对象,但是由于某种需求而被后来附加上,即把对象放入一个特定的环境后才具有的属性. 作用就是将属性与数据类型(宿主)解耦,让数据类型设计更加灵活. 本质还是依赖属性,二者仅在包装器和注册上有点区别. 实现步骤 现在我写了个附加属性类,如下: (1)针对PasswordBox写一个帮助…