Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Selection選択時に発火するカスタムロジックについて

17 views
Skip to first unread message

新規です

unread,
Feb 16, 2025, 3:07:30 PMFeb 16
to 宴ユーザーグループ
お世話になっております。
先日はご質問に対応いただきありがとうございました。

宴ではSelection選択時に必ず指定したシナリオにJumpするようになっていますが、Jumpではなく、特定のロジックを実行しても問題ないでしょうか。

つまり、AdvSelectionManagerの以下の部分を変更しても宴全体の動作には影響しませんでしょうか?

お忙しいところ申し訳ありませんが、よろしくお願いいたします。

/// <summary>
/// 選択
/// </summary>
/// <param name="selected">選んだ選択肢</param>
public virtual void Select(AdvSelection selected)
{
this.selected = selected;

string label = selected.JumpLabel;
if (selected.Exp != null)
{
Engine.Param.CalcExpression(selected.Exp);
}

this.OnSelected.Invoke(this);
Engine.SystemSaveData.SelectionData.AddData(selected);
Clear();
// この部分を削除して、別のロジックに変更する予定
Engine.ScenarioPlayer.MainThread.JumpManager.RegistoreLabel(label);
}

新規です

unread,
Feb 16, 2025, 7:19:31 PMFeb 16
to 宴ユーザーグループ
AdvSelectionManagerでのOnSelectedの設定で十分だと思いました。しかし、OnSelectedでスクリプトの指定方法(とスクリプトの書き方)が分からず詰まっています><

やり方を教えていただけるとありがたいですorz

2025年2月17日月曜日 5:07:30 UTC+9 新規です:
Message has been deleted

新規です

unread,
Feb 16, 2025, 7:45:23 PMFeb 16
to 宴ユーザーグループ
こちら以下コードと設定で解決しました。お騒がせしました。

AdvEngineにScriptをAdd Componentする。
Scriptとして、以下のコードを書く。

using UnityEngine;
using Utage;

namespace Utage
{
public class SelectionReceiver : MonoBehaviour
{
[SerializeField] private AdvSelectionManager selectionManager;

void Awake()
{
// OnSelectedUnityEventであれば、引数なしのAddListenerが可能
selectionManager.OnSelected.AddListener(OnSelectedMethod);
}

public void OnSelectedMethod(AdvSelectionManager manager)
{
Debug.Log("OnSelectedMethodが呼ばれました");
}
}
}


2025年2月17日月曜日 9:19:31 UTC+9 新規です:
Reply all
Reply to author
Forward
0 new messages