mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Merge branch 'schema-integration' of https://github.com/xen-42/outer-wilds-new-horizons into schema-integration
This commit is contained in:
commit
497e1f5a38
@ -4,6 +4,7 @@ using NewHorizons.Utility;
|
||||
using OWML.Utils;
|
||||
using UnityEngine;
|
||||
using NewHorizons.External.Modules.VariableSize;
|
||||
using Logger = NewHorizons.Utility.Logger;
|
||||
|
||||
namespace NewHorizons.Builder.Body
|
||||
{
|
||||
@ -22,7 +23,7 @@ namespace NewHorizons.Builder.Body
|
||||
{
|
||||
var starGO = MakeStarGraphics(planetGO, sector, starModule);
|
||||
|
||||
var sunAudio = GameObject.Instantiate(GameObject.Find("Sun_Body/Sector_SUN/Audio_SUN"), starGO.transform);
|
||||
var sunAudio = Object.Instantiate(GameObject.Find("Sun_Body/Sector_SUN/Audio_SUN"), starGO.transform);
|
||||
sunAudio.transform.localPosition = Vector3.zero;
|
||||
sunAudio.transform.localScale = Vector3.one;
|
||||
sunAudio.transform.Find("SurfaceAudio_Sun").GetComponent<AudioSource>().maxDistance = starModule.size * 2f;
|
||||
@ -35,11 +36,11 @@ namespace NewHorizons.Builder.Body
|
||||
GameObject sunAtmosphere = null;
|
||||
if (starModule.hasAtmosphere)
|
||||
{
|
||||
sunAtmosphere = GameObject.Instantiate(GameObject.Find("Sun_Body/Atmosphere_SUN"), starGO.transform);
|
||||
sunAtmosphere = Object.Instantiate(GameObject.Find("Sun_Body/Atmosphere_SUN"), starGO.transform);
|
||||
sunAtmosphere.transform.position = planetGO.transform.position;
|
||||
sunAtmosphere.transform.localScale = Vector3.one * OuterRadiusRatio;
|
||||
sunAtmosphere.name = "Atmosphere_Star";
|
||||
PlanetaryFogController fog = sunAtmosphere.transform.Find("FogSphere").GetComponent<PlanetaryFogController>();
|
||||
var fog = sunAtmosphere.transform.Find("FogSphere").GetComponent<PlanetaryFogController>();
|
||||
if (starModule.tint != null)
|
||||
{
|
||||
fog.fogTint = starModule.tint;
|
||||
@ -58,17 +59,17 @@ namespace NewHorizons.Builder.Body
|
||||
fog.lodFadeDistance = fog.fogRadius * (StarBuilder.OuterRadiusRatio - 1f);
|
||||
}
|
||||
|
||||
var ambientLightGO = GameObject.Instantiate(GameObject.Find("Sun_Body/AmbientLight_SUN"), starGO.transform);
|
||||
var ambientLightGO = Object.Instantiate(GameObject.Find("Sun_Body/AmbientLight_SUN"), starGO.transform);
|
||||
ambientLightGO.transform.localPosition = Vector3.zero;
|
||||
ambientLightGO.name = "AmbientLight_Star";
|
||||
|
||||
var heatVolume = GameObject.Instantiate(GameObject.Find("Sun_Body/Sector_SUN/Volumes_SUN/HeatVolume"), starGO.transform);
|
||||
var heatVolume = Object.Instantiate(GameObject.Find("Sun_Body/Sector_SUN/Volumes_SUN/HeatVolume"), starGO.transform);
|
||||
heatVolume.transform.localPosition = Vector3.zero;
|
||||
heatVolume.transform.localScale = Vector3.one;
|
||||
heatVolume.GetComponent<SphereShape>().radius = 1f;
|
||||
heatVolume.name = "HeatVolume";
|
||||
|
||||
var deathVolume = GameObject.Instantiate(GameObject.Find("Sun_Body/Sector_SUN/Volumes_SUN/ScaledVolumesRoot/DestructionFluidVolume"), starGO.transform);
|
||||
var deathVolume = Object.Instantiate(GameObject.Find("Sun_Body/Sector_SUN/Volumes_SUN/ScaledVolumesRoot/DestructionFluidVolume"), starGO.transform);
|
||||
deathVolume.transform.localPosition = Vector3.zero;
|
||||
deathVolume.transform.localScale = Vector3.one;
|
||||
deathVolume.GetComponent<SphereCollider>().radius = 1f;
|
||||
@ -170,12 +171,12 @@ namespace NewHorizons.Builder.Body
|
||||
var starGO = new GameObject("Star");
|
||||
starGO.transform.parent = sector?.transform ?? rootObject.transform;
|
||||
|
||||
var sunSurface = GameObject.Instantiate(GameObject.Find("Sun_Body/Sector_SUN/Geometry_SUN/Surface"), starGO.transform);
|
||||
var sunSurface = Object.Instantiate(GameObject.Find("Sun_Body/Sector_SUN/Geometry_SUN/Surface"), starGO.transform);
|
||||
sunSurface.transform.position = rootObject.transform.position;
|
||||
sunSurface.transform.localScale = Vector3.one;
|
||||
sunSurface.name = "Surface";
|
||||
|
||||
var solarFlareEmitter = GameObject.Instantiate(GameObject.Find("Sun_Body/Sector_SUN/Effects_SUN/SolarFlareEmitter"), starGO.transform);
|
||||
var solarFlareEmitter = Object.Instantiate(GameObject.Find("Sun_Body/Sector_SUN/Effects_SUN/SolarFlareEmitter"), starGO.transform);
|
||||
solarFlareEmitter.transform.localPosition = Vector3.zero;
|
||||
solarFlareEmitter.transform.localScale = Vector3.one;
|
||||
solarFlareEmitter.name = "SolarFlareEmitter";
|
||||
@ -211,8 +212,8 @@ namespace NewHorizons.Builder.Body
|
||||
var adjustedColour = new Color(colour.r * mod, colour.g * mod, colour.b * mod);
|
||||
surface.sharedMaterial.color = adjustedColour;
|
||||
|
||||
Color.RGBToHSV(adjustedColour, out float H, out float S, out float V);
|
||||
var darkenedColor = Color.HSVToRGB(H, S * 1.2f, V * 0.05f);
|
||||
Color.RGBToHSV(adjustedColour, out var h, out var s, out var v);
|
||||
var darkenedColor = Color.HSVToRGB(h, s * 1.2f, v * 0.05f);
|
||||
|
||||
if (starModule.endTint != null)
|
||||
{
|
||||
@ -250,6 +251,11 @@ namespace NewHorizons.Builder.Body
|
||||
moteMaterial.color = new Color(colour.r * 3f, colour.g * 3f, colour.b * 3f, moteMaterial.color.a);
|
||||
}
|
||||
|
||||
foreach (var controller in supernova.GetComponentsInChildren<SupernovaStreamersController>())
|
||||
{
|
||||
Object.DestroyImmediate(controller);
|
||||
}
|
||||
|
||||
supernovaGO.SetActive(true);
|
||||
|
||||
return supernova;
|
||||
|
||||
@ -7,6 +7,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
using Logger = NewHorizons.Utility.Logger;
|
||||
|
||||
namespace NewHorizons.Components.SizeControllers
|
||||
{
|
||||
|
||||
@ -9,33 +9,33 @@ namespace NewHorizons.External.Configs
|
||||
/// <summary>
|
||||
/// Translation table for dialogue
|
||||
/// </summary>
|
||||
public Dictionary<string, string> dialogueDictionary;
|
||||
public Dictionary<string, string> DialogueDictionary;
|
||||
|
||||
/// <summary>
|
||||
/// Translation table for Ship Log (entries, facts, etc)
|
||||
/// </summary>
|
||||
public Dictionary<string, string> shipLogDictionary;
|
||||
public Dictionary<string, string> ShipLogDictionary;
|
||||
|
||||
/// <summary>
|
||||
/// Translation table for UI elements
|
||||
/// </summary>
|
||||
public Dictionary<string, string> uiDictionary;
|
||||
public Dictionary<string, string> UIDictionary;
|
||||
|
||||
public TranslationConfig(string filename)
|
||||
{
|
||||
var dict = JObject.Parse(File.ReadAllText(filename)).ToObject<Dictionary<string, object>>();
|
||||
|
||||
if (dict.ContainsKey(nameof(dialogueDictionary)))
|
||||
dialogueDictionary =
|
||||
(Dictionary<string, string>) (dict[nameof(dialogueDictionary)] as JObject).ToObject(
|
||||
if (dict.ContainsKey(nameof(DialogueDictionary)))
|
||||
DialogueDictionary =
|
||||
(Dictionary<string, string>) (dict[nameof(DialogueDictionary)] as JObject).ToObject(
|
||||
typeof(Dictionary<string, string>));
|
||||
if (dict.ContainsKey(nameof(shipLogDictionary)))
|
||||
shipLogDictionary =
|
||||
(Dictionary<string, string>) (dict[nameof(shipLogDictionary)] as JObject).ToObject(
|
||||
if (dict.ContainsKey(nameof(ShipLogDictionary)))
|
||||
ShipLogDictionary =
|
||||
(Dictionary<string, string>) (dict[nameof(ShipLogDictionary)] as JObject).ToObject(
|
||||
typeof(Dictionary<string, string>));
|
||||
if (dict.ContainsKey(nameof(uiDictionary)))
|
||||
uiDictionary =
|
||||
(Dictionary<string, string>) (dict[nameof(uiDictionary)] as JObject).ToObject(
|
||||
if (dict.ContainsKey(nameof(UIDictionary)))
|
||||
UIDictionary =
|
||||
(Dictionary<string, string>) (dict[nameof(UIDictionary)] as JObject).ToObject(
|
||||
typeof(Dictionary<string, string>));
|
||||
}
|
||||
}
|
||||
|
||||
@ -61,39 +61,39 @@ namespace NewHorizons.Handlers
|
||||
|
||||
public static void RegisterTranslation(TextTranslation.Language language, TranslationConfig config)
|
||||
{
|
||||
if (config.shipLogDictionary != null && config.shipLogDictionary.Count() > 0)
|
||||
if (config.ShipLogDictionary != null && config.ShipLogDictionary.Count > 0)
|
||||
{
|
||||
if (!_shipLogTranslationDictionary.ContainsKey(language)) _shipLogTranslationDictionary.Add(language, new Dictionary<string, string>());
|
||||
foreach (var originalKey in config.shipLogDictionary.Keys)
|
||||
foreach (var originalKey in config.ShipLogDictionary.Keys)
|
||||
{
|
||||
var key = originalKey.Replace("<", "<").Replace(">", ">").Replace("<![CDATA[", "").Replace("]]>", "");
|
||||
|
||||
if (!_shipLogTranslationDictionary[language].ContainsKey(key)) _shipLogTranslationDictionary[language].Add(key, config.shipLogDictionary[originalKey]);
|
||||
else _shipLogTranslationDictionary[language][key] = config.shipLogDictionary[originalKey];
|
||||
if (!_shipLogTranslationDictionary[language].ContainsKey(key)) _shipLogTranslationDictionary[language].Add(key, config.ShipLogDictionary[originalKey]);
|
||||
else _shipLogTranslationDictionary[language][key] = config.ShipLogDictionary[originalKey];
|
||||
}
|
||||
}
|
||||
|
||||
if (config.dialogueDictionary != null && config.dialogueDictionary.Count() > 0)
|
||||
if (config.DialogueDictionary != null && config.DialogueDictionary.Count > 0)
|
||||
{
|
||||
if (!_dialogueTranslationDictionary.ContainsKey(language)) _dialogueTranslationDictionary.Add(language, new Dictionary<string, string>());
|
||||
foreach (var originalKey in config.dialogueDictionary.Keys)
|
||||
foreach (var originalKey in config.DialogueDictionary.Keys)
|
||||
{
|
||||
var key = originalKey.Replace("<", "<").Replace(">", ">").Replace("<![CDATA[", "").Replace("]]>", "");
|
||||
|
||||
if (!_dialogueTranslationDictionary[language].ContainsKey(key)) _dialogueTranslationDictionary[language].Add(key, config.dialogueDictionary[originalKey]);
|
||||
else _dialogueTranslationDictionary[language][key] = config.dialogueDictionary[originalKey];
|
||||
if (!_dialogueTranslationDictionary[language].ContainsKey(key)) _dialogueTranslationDictionary[language].Add(key, config.DialogueDictionary[originalKey]);
|
||||
else _dialogueTranslationDictionary[language][key] = config.DialogueDictionary[originalKey];
|
||||
}
|
||||
}
|
||||
|
||||
if (config.uiDictionary != null && config.uiDictionary.Count() > 0)
|
||||
if (config.UIDictionary != null && config.UIDictionary.Count() > 0)
|
||||
{
|
||||
if (!_uiTranslationDictionary.ContainsKey(language)) _uiTranslationDictionary.Add(language, new Dictionary<string, string>());
|
||||
foreach (var originalKey in config.uiDictionary.Keys)
|
||||
foreach (var originalKey in config.UIDictionary.Keys)
|
||||
{
|
||||
var key = originalKey.Replace("<", "<").Replace(">", ">").Replace("<![CDATA[", "").Replace("]]>", "");
|
||||
|
||||
if (!_uiTranslationDictionary[language].ContainsKey(key)) _uiTranslationDictionary[language].Add(key, config.uiDictionary[originalKey]);
|
||||
else _uiTranslationDictionary[language][key] = config.uiDictionary[originalKey];
|
||||
if (!_uiTranslationDictionary[language].ContainsKey(key)) _uiTranslationDictionary[language].Add(key, config.UIDictionary[originalKey]);
|
||||
else _uiTranslationDictionary[language][key] = config.UIDictionary[originalKey];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,21 +4,21 @@
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"dialogueDictionary": {
|
||||
"DialogueDictionary": {
|
||||
"type": "object",
|
||||
"description": "Translation table for dialogue",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"shipLogDictionary": {
|
||||
"ShipLogDictionary": {
|
||||
"type": "object",
|
||||
"description": "Translation table for Ship Log (entries, facts, etc)",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"uiDictionary": {
|
||||
"UIDictionary": {
|
||||
"type": "object",
|
||||
"description": "Translation table for UI elements",
|
||||
"additionalProperties": {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user