void OnClickPawn() { SelectEventDataModel data = new SelectEventDataModel(); data.Pawn = Pawn; EventCallback AddedToPartyCallback; AddedToPartyCallback = (onAddedData) => { AddedToPartyEventDataModel targetData = (AddedToPartyEventDataModel)onAddedData; if (targetData == null) { return; } if (targetData.Pawn.PawnID == Pawn.PawnID) { Destroy(gameObject); EventManager.RemoveEventListener(EVENT.AddedPawnToParty, AddedToPartyCallback); } }; EventManager.AddEventListener(EVENT.AddedPawnToParty, AddedToPartyCallback); EventManager.DispatchEvent(EVENT.SelectPawn, data); }
void OnSelectPawn(EventDataModel data) { var targetData = (SelectEventDataModel)data; if (targetData == null) { return; } SelectedPawn cell = GetEmptyCell(); if (cell != null) { cell.SetPawnImage(targetData.Pawn); cell.HP.value = 1.0F; targetData.Pawn.PawnDef.HP = targetData.Pawn.PawnDef.MaxHP; AddedToPartyEventDataModel partyAddData = new AddedToPartyEventDataModel(); partyAddData.Pawn = targetData.Pawn; EventManager.DispatchEvent(EVENT.AddedPawnToParty, partyAddData); } }