Exemple #1
0
    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);
    }
Exemple #2
0
    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());
    }
Exemple #4
0
    //引数多すぎてよくわからなくなる
    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);
    }