protected override List <ButtonData> CreateMyButtonData() { var commandData = GetSkillData(); //var dataList = BattleController_mono.Instance.battle.GetCommandTargetDicide(commandData).GetTargetPool(); var targetPool = BattleController_mono.Instance.battle.GetTargetPool(commandData); var resultList = new List <ButtonData>(); bool allSelect = !Battle_targetDicide.IsInputSelect(commandData._target); var btType = (allSelect) ? ButtonData.ButtonType.Selected : ButtonData.ButtonType.Selectable; foreach (var target in targetPool) { if (!target.IsAlive()) { continue; } //使用可能かどうかの判断 bool isuseable = Battle_targetResource.IsUseAble(commandData._TargetResourceType, true, target); if (!isuseable) { btType = ButtonData.ButtonType.Unselectable; } resultList.Add(new ButtonData(target._displayName, CreateClickEvent(target, commandData), btType)); } return(resultList); }
protected override List <ButtonData> CreateMyButtonData() { var targetList = _menuCharctes.GetTargetPool(GetMyItemData()._data); bool allSelect = !Battle_targetDicide.IsInputSelect(GetMyItemData()._data._targetType); var btType = (allSelect) ? ButtonData.ButtonType.Selected : ButtonData.ButtonType.Selectable; var result = new List <ButtonData>(); foreach (var target in targetList) { //クリックイベントの作成 UnityEvent ue = new UnityEvent(); ue.AddListener(() => { _menuCharctes.UseItem_menu(GetMyItemData()._data, target); _menuCharctes.SyncParam_pl(); _successEvent?.Invoke(); }); //使用可能かどうかの判断 bool isuseable = Battle_targetResource.IsUseAble(GetMyItemData()._data._targetResource, true, target); if (!isuseable) { btType = ButtonData.ButtonType.Unselectable; } //作成 var add = new ButtonData(target._displayName, ue, btType); result.Add(add); } return(result); }
protected override void TrrigerEffect(int attack, CommandData command, List <BattleChar> targetList, bool isCure, Action <bool, bool, BattleChar, int> damageAction) { foreach (var target in targetList) { var actNum = Battle_targetResource.Action(command._targetResourceType, attack, target, isCure); damageAction?.Invoke(isCure, !target.IsAlive(), target, actNum); } }
protected override List <ButtonData> CreateMyButtonData() { //var targetPool = BattleController_mono.Instance.battle.GetTargetPool(GetMyItemData()._data).GetTargetPool(); var targetPool = BattleController_mono.Instance.battle.GetTargetPool(GetMyItemData()._data); var result = new List <ButtonData>(); bool allSelect = !Battle_targetDicide.IsInputSelect(GetMyItemData()._data._targetType); var btType = (allSelect) ? ButtonData.ButtonType.Selected : ButtonData.ButtonType.Selectable; foreach (var target in targetPool) { //使用可能かどうかの判断 bool isuseable = Battle_targetResource.IsUseAble(GetMyItemData()._data._targetResource, true, target); if (!isuseable) { btType = ButtonData.ButtonType.Unselectable; } result.Add(new ButtonData(target._displayName, CreateClickEvent(GetMyItemData()._data, target), btType)); } return(result); }
public void Test_IsUseAble(int hpnow, int spnow, ResourceType resourcetype, bool iscure, bool expect) { var pl = CreatePl(hpnow, spnow); Assert.AreEqual(expect, Battle_targetResource.IsUseAble(resourcetype, iscure, pl)); }