/// <summary> /// 订阅一堆的事件 /// </summary> /// <param name="chess">增加判断是否是自身,因为这个方法在每个派生类中都添加订阅了,事件触发时只执行自身的方法,其他方法没用</param> public void SubscribeEvents(GameObject chess) { if (chess == gameObject) { ChooseEvent += new ChooseEventHandler(CancelChoose); //订阅取消选择事件 EatEvent += new EatEventHandler(Eat); //订阅吃事件 GameController.ResetChessReciprocalStateEvent += CancelChoose; //订阅重置棋子状态事件 Chess_Boss.DetectBeAttackedEvent += DetectJiangJun; //订阅检测将军事件 } }
protected ChessState chessState; //棋子状态 public virtual void Awake() { chessState = ChessState.idle; ChooseEvent += new ChooseEventHandler(CancelChoose); //订阅事件 EatEvent += new EatEventHandler(Eat); //订阅吃事件 }