Проблема при использовании inputField при исправлении гармонииC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проблема при использовании inputField при исправлении гармонии

Сообщение Anonymous »

Я пытаюсь создать поле ввода, когда модифицирую Outer Wilds, используя Harmony для исправления игры. Я пытаюсь заменить исходную систему диалога своей собственной, которая позволяет пользователю входить и отправлять ее в Gemini.
например,

Код: Выделить всё

[HarmonyPatch]
public class MyPatchClass {
[HarmonyPrefix]
[HarmonyPatch(typeof(CharacterDialougeTree), nameof(CharacterDialougeTree.StartConversation))]
public static void StartConversation(){
GameObject inputFieldObject = new GameObject("InputField");
inputFieldObject.transform.SetParent(rectangleObject.transform, false);

//  (Placeholder)
TMP_Text placeholderText = new GameObject("Placeholder").AddComponent();
placeholderText.transform.SetParent(inputFieldObject.transform, false);

//  (Text Component)
Text inputText = new GameObject("inputText").AddComponent();
inputText.transform.SetParent(inputFieldObject.transform, false);

TMP_InputField inputField = inputFieldObject.AddComponent();

// RectTransform
RectTransform inputRectTransform = inputFieldObject.GetComponent();

// binding
inputField.placeholder = placeholderText;

inputField.onEndEdit.AddListener(OnEndEdit);
inputField.onValueChanged.AddListener(OnValueChanged);
inputField.Select();
inputField.ActivateInputField();
return false;
}

private static void OnValueChanged(string input) {

GameObject textObject = GameObject.Find("inputText");
Text textComponent = textObject.GetComponent();
textComponent.text = input;
}

private static void OnEndEdit(string input)
{
CallGeminiApi(input);

}

}
Однако при создании inputField
  • заполнительText и inputText не отображаются.
    невозможно сфокусироваться на поле ввода вручную.
  • невозможно вызвать onEndEdit при нажатии Enter.
  • автоматическая фокусировка на поле ввода. inputField, но не могу ввести
Я пытался обновить входной текст самостоятельно, но он все равно не отображается.
Я надеюсь, что он может работать как обычное поле ввода, позволяющее пользователю вводить его.
Но сейчас я не могу сосредоточиться на этом, а если и могу, то все равно не могу печатать.

Подробнее здесь: https://stackoverflow.com/questions/793 ... th-harmony
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Пользовательский код Elementor | Селектор запроса InputField
    Anonymous » » в форуме Php
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • OutLinedTextField Compose Проблема с заполнением поля inputField
    Anonymous » » в форуме Android
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Сравнение текста InputField и текста ответа не работает должным образом; Юнити3д; С#
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Mobile Safari: JavaScript Focus () Метод на inputfield работает только с Click?
    Anonymous » » в форуме Jquery
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Нужна помощь в исправлении ошибки tkinter при редактировании tk.Entry, перемещении кнопки вверх и сохранении в файле из
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»