这里讲述的是一个敌人和武器的故事,敌人有很多种吧,每种敌人拿不同的武器产生的效果不一样吧。所以使用桥接模式,方便添加新的敌人,添加新的武器,也方便敌人更改正在使用的武器。
public abstract class AWeapon {
public abstract void Attack();
}public abstract class AEnemy {
private AWeapon mWeapon;
public AEnemy(AWeapon weapon)
{
mWeapon = weapon;
}
public void SetWeapon(AWeapon weapon)
{
mWeapon = weapon;
}
public void Attack()
{
mWeapon.Attack();
}
}using UnityEngine;
public class Knife : AWeapon
{
public override void Attack()
{
Debug.Log("使用刀发起攻击");
}
}using UnityEngine;
public class Sword : AWeapon
{
public override void Attack()
{
Debug.Log("使用剑发起攻击");
}
}using UnityEngine;
public class testQiaojie : MonoBehaviour {
void Start () {
Sword sword = new Sword();
FirstEnemy firstEnemy = new FirstEnemy(sword);
firstEnemy.Attack();
//更换武器攻击
Knife knife = new Knife();
firstEnemy.SetWeapon(knife);
firstEnemy.Attack();
}
}这样子的话,如果需要添加新的敌人的话,只需要继承AEnemy就可以了,然后给予适合的武器,这样一个活生生的新敌人就产生了,换一换武器,然后就更牛逼了。