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); }
public List <PlayerChar> GetTargetPool(ICommandData targetIntarface) { var commandData = targetIntarface.GetCommandData(); var user = _playerDisplayers[0]._mycharData; return(Battle_targetDicide.GetTargetPool(commandData._target, user, _mycf.GetFriend(user), _mycf.GetEnemy(user)) .Select(x => (PlayerChar)x).ToList()); }
//引数多すぎてよくわからなくなる public void TurnAction(BattleChar user, BattleChar inputTarget, ICommandData icommand , Action <bool, bool, BattleChar, int> damageAction = null , List <BattleChar> friends = null, List <BattleChar> enemys = null) { var command = icommand.GetCommandData(); UseResource(user, icommand); var effectNum = CalcEffectNum(user, command); var targetPool = Battle_targetDicide.GetTargetPool(command._target, user, friends, enemys); var targetList = Battle_targetDicide.SelectTarget(command._target, targetPool, inputTarget); TrrigerEffect(effectNum, command, targetList, CommandEnumAction.IsCure(command._target) , damageAction); }
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); }