最近在制作公会火堆的功能,逻辑不是太繁琐,也借此做了一个简单的模块划分。以便于更好的理解抽象工厂模式。
1.功能描述:
我们有3个火堆,默认开放第一个,第二个第三个由公会的等级来决定;
每个火堆下面都有各种BUFF,三个火堆的可选BUFF是一样的((╯‵□′)╯︵┻━┻,有病的设计);
每种BUFF会有3个等级,加成效果不一样,消耗木材数目也不一样。
木材由公会成员捐献到公会仓库,由会长和管理员决定开启哪种BUFF,同类型BUFF可以叠加。
2.功能的划分
我们设计了一个基础BUFF类,BUFF工厂类,BUFF选单类,火堆类,火堆管理员类
3.功能详解
1)基础BUFF类
/// <summary>
/// 作为基础Buff 可能有血量 攻击 等等不同的buff 目前是加成百分比 后期有可能 每种buff 出现功能上的不同所以 此类 作为基类来处理 其余实际Buff 继承于本类
/// 暂时 buff 值写在这里 后期功能右边 后人自行修改结构
/// </summary>
public abstract class BaseBuff
{
public int level;
public float BuffValue;
public int BuffCostCount;//消耗木材数量
public BaseBuff(int _level,float _buffValue,int _cost)
{
this.level = _level;
this.BuffValue = _buffValue;
this.BuffCostCount = _cost;
}
}
这个类作为基类来处理,其余的类必须继承于此,上面定义的等级、数值、消耗木材量,这些是所有BUFF共有的一些东西,目前来说暂时的功能全都是倍率加成类型的ÿ