前提・実現したいこと
UIのボタンを押したときにスペースキーを押したことにしたいのですが方法がわからず困っています
Unityでアドベンチャーゲームを作っているのですが、会話システムにfungusというアセットを使っています。
主人公ではなくNPCなどのオブジェクトに下記スクリプトをアタッチしていて、Playerが対象オブジェクトに接触しているときにスペースキーを押すと話すことができるようになるのですがこのスペースキーの役割をUIのボタンに持たせたい状況です。
スペースキーにこだわっている理由は会話ウインドウの文字送りもスペースキーに紐づいているようなので念のためスペースキーにしたいです。
UIボタン押下⇨スペースキー押下⇨会話スタートを理想としています。
稚拙な文章で申し訳ございません。
皆様の知恵をお借りしたいです。
どうぞよろしくお願いします
該当のソースコード
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Fungus;
[RequireComponent(typeof(Flowchart))]
public class NPCController : MonoBehaviour
{
[SerializeField]
string message = "";
GameObject playerObj;
Flowchart Flowchart;
void Start()
{
playerObj = Gameobject.FindGameObjectWithTag("Player");
flowChart = GetComponent<Flowchart>();
}
private void OnCollisionEnter2D(UnityEngine.Collision2D other)
{
if (other.gameObject.tag == "Player" && Input.Getkey(KeyCode.Space))
{
StartCoroutine(Talk());
}
}
IEnumerator Talk()
{
flowChart.SendFungusMessage(message);
yield return new WaitUntil(() => flowChart.GetExecutingBlocks().Count == 0);
}
}
回答1件
あなたの回答
tips
プレビュー