/// <summary> /// 自分から出すターゲットラインを更新します /// </summary> private void updateTargetLine() { if (tasks.Count <= 0) { return; } BattleTask task = tasks[0]; if (task.getIsSkill()) { IActiveSkill useSkill = task.getSkill(); if (ActiveSkillSupporter.isAffectSkill(useSkill)) { List <IBattleable> targets = task.getTargets(); drawTargetingLine(player, targets, useSkill.getName(), useSkill.isFriendly()); } } else { List <IBattleable> targets = task.getTargets(); var item = task.getItem(); drawTargetingLine(player, targets, item.getName(), true); } }
/// <summary> /// ステートがACTIONの時に毎フレーム行う処理 /// </summary> private void actionState() { BattleTask runTask = tasks[0]; Debug.Log("run " + runTask.getName()); if (runTask.getIsSkill()) { IActiveSkill runSkill = runTask.getSkill(); runSkill.action(player, runTask); if (ActiveSkillSupporter.isAffectSkill(runSkill)) { Debug.Log("into isAffect"); deleteTargetingLine(player); } } else { IItem runItem = runTask.getItem(); player.getInventory().useItem(runItem, player); } tasks.Remove(runTask); battleState = BattleState.IDLE; }