make it work

This commit is contained in:
Mister_Nebula 2020-10-23 23:08:48 +01:00
parent 86a8ffd3dd
commit e7ec23d4ad
8 changed files with 52 additions and 11 deletions

Binary file not shown.

View File

@ -1,16 +1,22 @@
ManifestFileVersion: 0
CRC: 2169759651
CRC: 674027210
Hashes:
AssetFileHash:
serializedVersion: 2
Hash: 15a4033bba58538c184c71c4d9f2799c
Hash: 207385c19798113635f73bd17e7c2e5c
TypeTreeHash:
serializedVersion: 2
Hash: 6ce89620af51ba381c9e4f226a2ebb1b
Hash: 27971550fda62b1a0371f7196924aa6c
HashAppended: 0
ClassTypes:
- Class: 1
Script: {instanceID: 0}
- Class: 21
Script: {instanceID: 0}
- Class: 28
Script: {instanceID: 0}
- Class: 48
Script: {instanceID: 0}
- Class: 114
Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
- Class: 114
@ -21,6 +27,8 @@ ClassTypes:
Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
- Class: 115
Script: {instanceID: 0}
- Class: 128
Script: {instanceID: 0}
- Class: 222
Script: {instanceID: 0}
- Class: 223

View File

@ -28,11 +28,16 @@ namespace QSB.ConversationSync
{
case ConversationType.Character:
var translated = TextTranslation.Translate(message.Message).Trim();
DebugLog.DebugWrite($"CHARACTER id [{message.ObjectId}] text [{translated}]");
ConversationManager.Instance.DisplayCharacterConversationBox(message.ObjectId, translated);
break;
case ConversationType.Player:
ConversationManager.Instance.DisplayPlayerConversationBox((uint)message.ObjectId, message.Message);
break;
case ConversationType.EndCharacter:
break;
case ConversationType.EndPlayer:
UnityEngine.Object.Destroy(PlayerRegistry.GetPlayer((uint)message.ObjectId).CurrentDialogueBox);
break;
}
}
}

View File

@ -1,4 +1,5 @@
using OWML.Common;
using OWML.ModHelper.Events;
using QSB.Events;
using QSB.Utility;
using UnityEngine;
@ -39,6 +40,16 @@ namespace QSB.ConversationSync
GlobalMessenger<uint, string, ConversationType>.FireEvent(EventNames.QSBConversation, (uint)id, text, ConversationType.Character);
}
public void EndConversationPlayer()
{
GlobalMessenger<uint, string, ConversationType>.FireEvent(EventNames.QSBConversation, PlayerRegistry.LocalPlayerId, "", ConversationType.EndPlayer);
}
public void EndConversationCharacter(int id)
{
GlobalMessenger<uint, string, ConversationType>.FireEvent(EventNames.QSBConversation, (uint)id, "", ConversationType.EndCharacter);
}
public void DisplayPlayerConversationBox(uint playerId, string text)
{
Destroy(PlayerRegistry.GetPlayer(playerId).CurrentDialogueBox);
@ -48,12 +59,24 @@ namespace QSB.ConversationSync
return;
}
var newBox = Instantiate(BoxPrefab);
newBox.SetActive(false);
newBox.transform.parent = PlayerRegistry.GetPlayer(playerId).Body.transform;
newBox.transform.localPosition = Vector3.zero;
newBox.transform.LookAt(PlayerRegistry.LocalPlayer.Camera.transform);
newBox.transform.localPosition = new Vector3(0, 25, 0);
newBox.transform.rotation = PlayerRegistry.GetPlayer(playerId).Body.transform.rotation;
//newBox.transform.LookAt(PlayerRegistry.LocalPlayer.Camera.transform, PlayerRegistry.GetPlayer(playerId).Body.transform.up);
var lookAt = newBox.AddComponent<FaceActiveCamera>();
lookAt.SetValue("_useLookAt", false);
lookAt.SetValue("_localFacingVector", Vector3.back);
lookAt.SetValue("_localRotationAxis", Vector3.up);
newBox.GetComponent<Text>().text = text;
newBox.SetActive(true);
PlayerRegistry.GetPlayer(playerId).CurrentDialogueBox = newBox;
}
public void DisplayCharacterConversationBox(int index, string text)
{
}
}
}

View File

@ -16,6 +16,7 @@ namespace QSB.ConversationSync
public static void EndConversation()
{
PlayerRegistry.LocalPlayer.CurrentDialogueID = -1;
ConversationManager.Instance.EndConversationPlayer();
}
public static bool InputDialogueOption(int optionIndex, DialogueBoxVer2 ____currentDialogueBox)
@ -23,6 +24,8 @@ namespace QSB.ConversationSync
if (optionIndex < 0)
{
// in a page where there is no selectable options
PlayerRegistry.LocalPlayer.CurrentDialogueID = -1;
ConversationManager.Instance.EndConversationPlayer();
return true;
}

View File

@ -3,6 +3,8 @@
public enum ConversationType
{
Character,
Player
Player,
EndCharacter,
EndPlayer
}
}

View File

@ -93,4 +93,4 @@ namespace QSB.TransformSync
}
}
}
}
}

View File

@ -69,7 +69,7 @@ MonoBehaviour:
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 12800000, guid: 58199d5bdd1dec045bcdd0a15a8dc780, type: 2}
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 1
m_FontStyle: 0
m_BestFit: 0
@ -94,7 +94,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0, b: 0, a: 0.841}
m_Color: {r: 0, g: 0, b: 0, a: 0.50980395}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
@ -196,7 +196,7 @@ RectTransform:
m_GameObject: {fileID: 1531056750600734}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.13, y: 0.13, z: 1}
m_LocalScale: {x: 0.1, y: 0.1, z: 1}
m_Children:
- {fileID: 224902966460615240}
m_Father: {fileID: 0}