/// <summary> /// taretNodeが選択された時の処理 /// </summary> /// <param name="targets">選択されたターゲットのリスト</param> public void targetChose(List <IBattleable> targets) { BattleTask addingTask; if (currentManagerState == ManagerState.SKILL) { addingTask = new BattleTask(player.getUniqueId(), chosenActiveSkill, targets, battletaskIdCount); } else { addingTask = new BattleTask(player.getUniqueId(), choseItem, targets[0], battletaskIdCount); } addTask(addingTask); }
/// <summary> /// 引数に渡したキャラクターをバトルに参加させます /// </summary> /// <param name="playable">参加させるキャラクター</param> /// <param name="pos">参加させる位置</param> public void joinBattle(IPlayable playable, FieldPosition pos) { if (!isBattleing) { throw new InvalidOperationException("battle isn't started"); } loadContainer(playable); playable.setIsBattling(true); joinedCharacter [pos].Add(playable); playable.syncronizePositioin(field.getObjectPosition(pos, playable)); GameObject view = MonoBehaviour.Instantiate((GameObject)Resources.Load("Prefabs/PlayerBattleTaskManager")); PlayerBattleTaskManager manager = view.GetComponent <PlayerBattleTaskManager> (); manager.setPlayer(playable, KeyCode.R); joinedManager.Add(playable.getUniqueId(), manager); }