/****************************************************
文件:Test.cs
作者:Edision
邮箱: 424054763@qq.com
日期:2019/8/9 9:57:15
功能:策略模式
*****************************************************/
using UnityEngine;
public class Test : MonoBehaviour
{
private void Start()
{
NvWa man = new Man();
TestNvWa(man);
NvWa woman = new Woman();
TestNvWa(woman);
}
public void TestNvWa(NvWa nw)
{
nw.Init();
}
}
public class NvWa
{
public virtual void Init()
{
Eat();
Sleep();
Work();
}
public virtual void Eat()
{
Debug.Log("是人都要吃饭");
}
public virtual void Sleep()
{
Debug.Log("是人都要睡觉");
}
public virtual void Work()
{
Debug.Log("是人都要工作");
}
}
public class Man : NvWa
{
public HpType manHpType;
public override void Init()
{
base.Init();
manHpType = HpType.A;
Fight();
Debug.Log("这是血型是" + manHpType + "的男人");
}
public void Fight()
{
Debug.Log("男人开始战斗。");
}
}
public class Woman : NvWa
{
public HpType womanHpType;
public override void Init()
{
base.Init();
womanHpType = HpType.B;
Cook();
Debug.Log("这是血型是" + womanHpType + "的女人");
}
public void Cook()
{
Debug.Log("女人开始做饭");
}
}
public enum HpType
{
A,
B,
AB,
O
}