using System.Collections;
using System;
public class NewBehaviourScript2 : MonoBehaviour {
void Start ()
{
Player player = new Player ();
player.PlayerHp += GameManage.HeroDeath;
player.PlayerHp += AduioManage.HeroDeath;
player.Dmage ();
}
public class Player
{
public class DieEventArgs:EventArgs
{
public DieEventArgs()
{
Debug.Log("你挂了");
}
}
public delegate void PlayerHpEventHandle(object sender,DieEventArgs e);
public event PlayerHpEventHandle PlayerHp;
private int curHp = 100;
public void Dmage()
{
while(curHp!=0)
{
curHp -= 1;
if(curHp==0)
{
DieEventArgs e = new DieEventArgs();
Die(e);
}
}
}
protected virtual void Die(DieEventArgs e)
{
if(PlayerHp!=null)
{
PlayerHp(this,e);
}
}
}
public class GameManage
{
public static void HeroDeath(object sender,Player.DieEventArgs e)
{
Debug.Log ("英雄死亡,用户失去控制英雄的权限");
}
}
public class AduioManage
{
public static void HeroDeath(object sender,Player.DieEventArgs e)
{
Debug.Log ("英雄死亡,播放游戏失败的音乐");
}
}
}