public override void RegisteMouseEvent(ref UnityAction mapEnterAction, ref UnityAction <Land, PointerEventData> mapClickAction, ref UnityAction mapExitAction) { base.RegisteMouseEvent(ref mapEnterAction, ref mapClickAction, ref mapExitAction); mapEnterAction = delegate() { tip = GlobalUImanager.Instance.LandTip.GetComponent <LandTip>(); _showTip = true; }; mapClickAction = delegate(Land clickLand, PointerEventData eventData) { Camp myCamp = BattleManager.Instance.MyCamp; if (eventData.button == PointerEventData.InputButton.Left && clickLand.CampID == myCamp.campID) { _lockUpdateMouse = true; tip.ShowSelf(false); GameObject MsgBoxObj = GlobalUImanager.Instance.OpenMsgBox(MsgBoxEnum.MsgBox2Btns); MsgBoxObj.GetComponent <MsgBox2Btns>().SetMsgBox("确定选择该地为首都吗?", () => { _lockUpdateMouse = false; myCamp.capitalLand = clickLand; BattleManager.Instance.BattleMap.SetCapital(clickLand); GlobalUImanager.Instance.CloseMsgBox(MsgBoxObj); //发出战斗开始的事件 if (BattleManager.Instance.BattleStart != null) { BattleManager.Instance.BattleStart(); } //进入我的回合状态 BattleMap battleMap = BattleManager.Instance.BattleMap; BattleManager.Instance.CurBattleState = BattleManager.Instance.BattleStateDictionary[BattleStateEnum.MyRound]; BattleManager.Instance.CurBattleState.EnterStateWithMouse(ref battleMap.mapEnterAction, ref battleMap.mapClickAction, ref battleMap.mapExitAction); }, () => { GlobalUImanager.Instance.CloseMsgBox(MsgBoxObj); _lockUpdateMouse = false; }); } }; mapExitAction = delegate() { _showTip = false; tip = null; }; }
public void ShowTip(bool isShow = true) { LandTip.SetActive(isShow); }