some syntax and such and adde an editor tool for visualising logs

This commit is contained in:
Sebastian Bularca
2026-04-05 14:49:53 +02:00
parent 31951cfbf8
commit 947c8feb53
7 changed files with 1360 additions and 17 deletions

View File

@@ -0,0 +1,338 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
using Jovian.SaveSystem;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using UnityEditor;
using UnityEngine;
namespace Jovian.InGameLogging.Editor {
public class GameLogViewerWindow : EditorWindow {
private static readonly Regex richTextRegex = new(@"<[^>]+>", RegexOptions.Compiled);
private Vector2 slotListScroll;
private Vector2 logEntriesScroll;
private List<SessionGroup> sessions = new();
private SaveSlotEntry selectedSlot;
private List<LogEntry> loadedEntries = new();
private List<LogEntry> filteredEntries = new();
private List<string> channelNames = new();
private int selectedChannelIndex;
private string savePath;
private GUIStyle channelTagStyle;
private GUIStyle timeStyle;
private GUIStyle messageStyle;
private GUIStyle slotButtonStyle;
private GUIStyle noDataStyle;
private bool stylesInitialized;
[MenuItem("Jovian/In-Game Logging/Log Viewer")]
public static void ShowWindow() {
var window = GetWindow<GameLogViewerWindow>("In-Game Log Viewer");
window.minSize = new Vector2(500, 400);
window.Show();
}
private void OnEnable() {
ScanSaves();
}
private void InitStyles() {
if(stylesInitialized) {
return;
}
channelTagStyle = new GUIStyle(EditorStyles.miniLabel) {
fontStyle = FontStyle.Bold,
normal = { textColor = new Color(0.5f, 0.8f, 1f) },
fixedWidth = 120,
alignment = TextAnchor.MiddleLeft
};
timeStyle = new GUIStyle(EditorStyles.miniLabel) {
normal = { textColor = new Color(0.6f, 0.6f, 0.6f) },
fixedWidth = 70,
alignment = TextAnchor.MiddleRight
};
messageStyle = new GUIStyle(EditorStyles.label) {
wordWrap = false,
richText = false
};
slotButtonStyle = new GUIStyle(EditorStyles.toolbarButton) {
alignment = TextAnchor.MiddleLeft,
fixedHeight = 22
};
noDataStyle = new GUIStyle(EditorStyles.centeredGreyMiniLabel) {
fontSize = 12,
wordWrap = true
};
stylesInitialized = true;
}
private void OnGUI() {
InitStyles();
DrawToolbar();
if(sessions.Count == 0) {
EditorGUILayout.LabelField("No save files found.\nPlay the game and save to generate log data.",
noDataStyle, GUILayout.ExpandHeight(true));
return;
}
DrawSlotList();
DrawChannelFilter();
DrawLogEntries();
}
private void DrawToolbar() {
EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);
GUILayout.FlexibleSpace();
if(GUILayout.Button("Refresh", EditorStyles.toolbarButton, GUILayout.Width(60))) {
ScanSaves();
}
EditorGUILayout.EndHorizontal();
}
private void DrawSlotList() {
EditorGUILayout.LabelField("Save Slots", EditorStyles.boldLabel);
slotListScroll = EditorGUILayout.BeginScrollView(slotListScroll, GUILayout.MaxHeight(200));
foreach(var session in sessions) {
session.foldout = EditorGUILayout.Foldout(session.foldout, session.displayName, true);
if(!session.foldout) {
continue;
}
EditorGUI.indentLevel++;
foreach(var slot in session.slots) {
var isSelected = selectedSlot != null && selectedSlot.filePath == slot.filePath;
var style = new GUIStyle(slotButtonStyle);
if(isSelected) {
style.fontStyle = FontStyle.Bold;
}
if(GUILayout.Button($" {slot.displayName}", style)) {
SelectSlot(slot);
}
}
EditorGUI.indentLevel--;
}
EditorGUILayout.EndScrollView();
DrawSeparator();
}
private void DrawChannelFilter() {
if(loadedEntries.Count == 0) {
return;
}
EditorGUILayout.BeginHorizontal();
EditorGUILayout.LabelField("Channel filter:", GUILayout.Width(90));
var newIndex = EditorGUILayout.Popup(selectedChannelIndex, channelNames.ToArray());
if(newIndex != selectedChannelIndex) {
selectedChannelIndex = newIndex;
ApplyChannelFilter();
}
EditorGUILayout.EndHorizontal();
}
private void DrawLogEntries() {
if(selectedSlot == null) {
EditorGUILayout.LabelField("Select a save slot to view its log entries.", noDataStyle, GUILayout.ExpandHeight(true));
return;
}
if(filteredEntries.Count == 0) {
EditorGUILayout.LabelField("No log entries in this save.", noDataStyle, GUILayout.ExpandHeight(true));
return;
}
EditorGUILayout.LabelField($"{filteredEntries.Count} entries", EditorStyles.miniLabel);
logEntriesScroll = EditorGUILayout.BeginScrollView(logEntriesScroll, GUILayout.ExpandHeight(true));
foreach(var entry in filteredEntries) {
EditorGUILayout.BeginHorizontal();
EditorGUILayout.LabelField($"[{entry.channel}]", channelTagStyle);
EditorGUILayout.LabelField(FormatTime(entry.gameTime), timeStyle);
EditorGUILayout.LabelField(StripRichText(entry.message), messageStyle);
EditorGUILayout.EndHorizontal();
}
EditorGUILayout.EndScrollView();
}
private void DrawSeparator() {
var rect = EditorGUILayout.GetControlRect(false, 1);
EditorGUI.DrawRect(rect, new Color(0.3f, 0.3f, 0.3f));
}
private void ScanSaves() {
sessions.Clear();
selectedSlot = null;
loadedEntries.Clear();
filteredEntries.Clear();
channelNames.Clear();
selectedChannelIndex = 0;
var settings = SaveSystemSettings.Load();
savePath = Path.Combine(Application.persistentDataPath, settings.saveDirectoryName);
var indexPath = Path.Combine(savePath, "index.json");
if(!File.Exists(indexPath)) {
return;
}
try {
var indexJson = File.ReadAllText(indexPath);
var index = JsonConvert.DeserializeObject<SaveIndex>(indexJson);
if(index?.sessions == null || index.slots == null) {
return;
}
var slotsBySession = new Dictionary<string, List<SaveSlotEntry>>();
foreach(var slot in index.slots) {
if(!slotsBySession.ContainsKey(slot.sessionId)) {
slotsBySession[slot.sessionId] = new List<SaveSlotEntry>();
}
slotsBySession[slot.sessionId].Add(new SaveSlotEntry {
sessionId = slot.sessionId,
displayName = slot.DisplayLabel + " " + DateTimeOffset.FromUnixTimeMilliseconds(slot.timestampUtc).LocalDateTime.ToString("HH:mm"),
filePath = slot.filePath,
timestampUtc = slot.timestampUtc
});
}
foreach(var session in index.sessions) {
if(!slotsBySession.TryGetValue(session.sessionId, out var slots)) {
continue;
}
slots.Sort((a, b) => b.timestampUtc.CompareTo(a.timestampUtc));
sessions.Add(new SessionGroup {
sessionId = session.sessionId,
displayName = $"Session ({DateTimeOffset.FromUnixTimeMilliseconds(session.lastSaveDateUtc).LocalDateTime:yyyy-MM-dd HH:mm})",
foldout = true,
slots = slots
});
}
sessions.Sort((a, b) => string.Compare(b.sessionId, a.sessionId, StringComparison.Ordinal));
}
catch(Exception e) {
Debug.LogError($"[GameLogViewer] Failed to read save index: {e.Message}");
}
}
private void SelectSlot(SaveSlotEntry slot) {
selectedSlot = slot;
loadedEntries.Clear();
filteredEntries.Clear();
channelNames.Clear();
channelNames.Add("All");
selectedChannelIndex = 0;
var fullPath = Path.Combine(savePath, slot.filePath);
if(!File.Exists(fullPath)) {
Debug.LogWarning($"[GameLogViewer] Save file not found: {fullPath}");
return;
}
try {
var bytes = File.ReadAllBytes(fullPath);
var serializer = new JsonSaveSerializer();
var envelope = serializer.Deserialize<SaveEnvelope>(bytes);
if(envelope?.payload == null) {
return;
}
// Navigate via JToken to avoid coupling to NoxSavedDataSet
var gameLogToken = envelope.payload["gameLogData"];
if(gameLogToken == null) {
return;
}
var entriesToken = gameLogToken["entries"];
if(entriesToken == null) {
return;
}
var logData = entriesToken.ToObject<List<LogEntry>>();
if(logData == null) {
return;
}
loadedEntries.AddRange(logData);
// Build channel list
var uniqueChannels = new HashSet<string>();
foreach(var entry in loadedEntries) {
var channelId = entry.channel.Id;
if(!string.IsNullOrEmpty(channelId) && uniqueChannels.Add(channelId)) {
channelNames.Add(channelId);
}
}
ApplyChannelFilter();
}
catch(Exception e) {
Debug.LogError($"[GameLogViewer] Failed to load save: {e.Message}");
}
}
private void ApplyChannelFilter() {
filteredEntries.Clear();
if(selectedChannelIndex == 0) {
filteredEntries.AddRange(loadedEntries);
}
else {
var channelId = channelNames[selectedChannelIndex];
foreach(var entry in loadedEntries) {
if(entry.channel.Id == channelId) {
filteredEntries.Add(entry);
}
}
}
}
private static string StripRichText(string text) {
return string.IsNullOrEmpty(text) ? string.Empty : richTextRegex.Replace(text, string.Empty);
}
private static string FormatTime(float gameTime) {
var minutes = (int)(gameTime / 60f);
var seconds = gameTime % 60f;
return $"{minutes}:{seconds:00.0}";
}
// Internal types for deserialization -- mirrors save system index structure
[Serializable]
private sealed class SaveIndex {
public List<SaveSessionInfo> sessions;
public List<SaveSlotInfo> slots;
}
private sealed class SessionGroup {
public string sessionId;
public string displayName;
public bool foldout;
public List<SaveSlotEntry> slots;
}
private sealed class SaveSlotEntry {
public string sessionId;
public string displayName;
public string filePath;
public long timestampUtc;
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 6f19bfe069d21db41a998154aa0876fb

View File

@@ -2,13 +2,16 @@
"name": "Jovian.InGameLogging.Editor", "name": "Jovian.InGameLogging.Editor",
"rootNamespace": "Jovian.InGameLogging.Editor", "rootNamespace": "Jovian.InGameLogging.Editor",
"references": [ "references": [
"Jovian.InGameLogging" "Jovian.InGameLogging",
"Jovian.SaveSystem"
], ],
"includePlatforms": ["Editor"], "includePlatforms": ["Editor"],
"excludePlatforms": [], "excludePlatforms": [],
"allowUnsafeCode": false, "allowUnsafeCode": false,
"overrideReferences": false, "overrideReferences": true,
"precompiledReferences": [], "precompiledReferences": [
"Newtonsoft.Json.dll"
],
"autoReferenced": true, "autoReferenced": true,
"defineConstraints": [], "defineConstraints": [],
"versionDefines": [], "versionDefines": [],

View File

@@ -4,10 +4,10 @@ using UnityEngine;
namespace Jovian.InGameLogging { namespace Jovian.InGameLogging {
public sealed class GameLogStore : IGameLogStore { public sealed class GameLogStore : IGameLogStore {
readonly LogEntry[] buffer; private readonly LogEntry[] buffer;
readonly HashSet<LogChannel> disabledChannels = new(); private readonly HashSet<LogChannel> disabledChannels = new();
int head; private int head;
int count; private int count;
public int Count => count; public int Count => count;
public int Capacity => buffer.Length; public int Capacity => buffer.Length;
@@ -55,7 +55,7 @@ namespace Jovian.InGameLogging {
public void Clear(LogChannel channel) { public void Clear(LogChannel channel) {
var kept = new List<LogEntry>(count); var kept = new List<LogEntry>(count);
var entries = GetEntries(); var entries = GetEntries();
for(int i = 0; i < entries.Length; i++) { for(var i = 0; i < entries.Length; i++) {
if(entries[i].channel != channel) { if(entries[i].channel != channel) {
kept.Add(entries[i]); kept.Add(entries[i]);
} }
@@ -76,8 +76,8 @@ namespace Jovian.InGameLogging {
return new ReadOnlySpan<LogEntry>(buffer, 0, count); return new ReadOnlySpan<LogEntry>(buffer, 0, count);
} }
var result = new LogEntry[count]; var result = new LogEntry[count];
int start = head; var start = head;
for(int i = 0; i < count; i++) { for(var i = 0; i < count; i++) {
result[i] = buffer[(start + i) % buffer.Length]; result[i] = buffer[(start + i) % buffer.Length];
} }
return result; return result;
@@ -86,7 +86,7 @@ namespace Jovian.InGameLogging {
public int GetEntries(LogChannel channel, List<LogEntry> results) { public int GetEntries(LogChannel channel, List<LogEntry> results) {
results.Clear(); results.Clear();
var entries = GetEntries(); var entries = GetEntries();
for(int i = 0; i < entries.Length; i++) { for(var i = 0; i < entries.Length; i++) {
if(entries[i].channel == channel) { if(entries[i].channel == channel) {
results.Add(entries[i]); results.Add(entries[i]);
} }
@@ -97,8 +97,8 @@ namespace Jovian.InGameLogging {
public GameLogSaveData GetSaveData() { public GameLogSaveData GetSaveData() {
var entries = GetEntries(); var entries = GetEntries();
var list = new List<LogEntry>(entries.Length); var list = new List<LogEntry>(entries.Length);
for(int i = 0; i < entries.Length; i++) { foreach(var t in entries) {
list.Add(entries[i]); list.Add(t);
} }
return new GameLogSaveData(list); return new GameLogSaveData(list);
} }
@@ -110,8 +110,8 @@ namespace Jovian.InGameLogging {
OnCleared?.Invoke(); OnCleared?.Invoke();
return; return;
} }
int startIndex = Math.Max(0, data.entries.Count - buffer.Length); var startIndex = Math.Max(0, data.entries.Count - buffer.Length);
for(int i = startIndex; i < data.entries.Count; i++) { for(var i = startIndex; i < data.entries.Count; i++) {
buffer[count] = data.entries[i]; buffer[count] = data.entries[i];
count++; count++;
} }

View File

@@ -2,8 +2,8 @@ using System.Runtime.CompilerServices;
namespace Jovian.InGameLogging { namespace Jovian.InGameLogging {
public readonly struct InGameLogger { public readonly struct InGameLogger {
readonly IGameLogStore store; private readonly IGameLogStore store;
readonly LogChannel channel; private readonly LogChannel channel;
public InGameLogger(IGameLogStore store, LogChannel channel) { public InGameLogger(IGameLogStore store, LogChannel channel) {
this.store = store; this.store = store;

View File

@@ -0,0 +1,790 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1447740470325782801
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6286131802514671469}
- component: {fileID: 7279458507301375298}
- component: {fileID: 7180659085512946289}
- component: {fileID: 1194623820596100263}
m_Layer: 0
m_Name: Viewport
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6286131802514671469
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1447740470325782801}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3059084814696477984}
m_Father: {fileID: 6248177754200331468}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!222 &7279458507301375298
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1447740470325782801}
m_CullTransparentMesh: 1
--- !u!114 &7180659085512946289
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1447740470325782801}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &1194623820596100263
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1447740470325782801}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Mask
m_ShowMaskGraphic: 0
--- !u!1 &1525412503934350410
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2417638750186197328}
- component: {fileID: 6899372841946195929}
m_Layer: 0
m_Name: LogContainer
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2417638750186197328
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1525412503934350410}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6248177754200331468}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 1.0002, y: -252.13}
m_SizeDelta: {x: 737.42, y: 504.25}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &6899372841946195929
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1525412503934350410}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 786fb23f28122964cb30678ea785bd40, type: 3}
m_Name:
m_EditorClassIdentifier: Jovian.InGameLogging::Jovian.InGameLogging.UI.GameLogView
scrollRect: {fileID: 2554617498295089481}
content: {fileID: 3059084814696477984}
entryPrefab: {fileID: 4832918257971952213, guid: 9d1c7837b0b5a9f45baa84f326fc247c, type: 3}
poolSize: 20
--- !u!1 &2405629305058117087
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3059084814696477984}
- component: {fileID: 1744225011043606462}
m_Layer: 0
m_Name: Content
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3059084814696477984
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2405629305058117087}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6286131802514671469}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 487.26}
m_Pivot: {x: 0, y: 1}
--- !u!114 &1744225011043606462
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2405629305058117087}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 0
m_Spacing: 2
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!1 &3952660362247579954
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2688140319784364735}
- component: {fileID: 7390804912840202258}
- component: {fileID: 5246482949485489637}
- component: {fileID: 529710424251508929}
m_Layer: 0
m_Name: Scrollbar Horizontal
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2688140319784364735
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3952660362247579954}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3366448768354673732}
m_Father: {fileID: 6248177754200331468}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 20}
m_Pivot: {x: 0, y: 0}
--- !u!222 &7390804912840202258
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3952660362247579954}
m_CullTransparentMesh: 1
--- !u!114 &5246482949485489637
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3952660362247579954}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &529710424251508929
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3952660362247579954}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Scrollbar
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1342770482644207694}
m_HandleRect: {fileID: 2251566621526024109}
m_Direction: 0
m_Value: 1
m_Size: 0.99999994
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
--- !u!1 &5969083621566914297
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 374280998538979084}
- component: {fileID: 5436844256530954601}
- component: {fileID: 6879256843609484833}
m_Layer: 0
m_Name: Handle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &374280998538979084
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5969083621566914297}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8977826534581480953}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5436844256530954601
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5969083621566914297}
m_CullTransparentMesh: 1
--- !u!114 &6879256843609484833
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5969083621566914297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &6050805973784497029
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3366448768354673732}
m_Layer: 0
m_Name: Sliding Area
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3366448768354673732
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6050805973784497029}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2251566621526024109}
m_Father: {fileID: 2688140319784364735}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -8.5, y: 0}
m_SizeDelta: {x: -20, y: -20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &6074956918412360435
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6248177754200331468}
- component: {fileID: 7678453280902357168}
- component: {fileID: 4027884099002409368}
- component: {fileID: 2554617498295089481}
m_Layer: 0
m_Name: Scroll View
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6248177754200331468
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6074956918412360435}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6286131802514671469}
- {fileID: 2688140319784364735}
- {fileID: 4070132176653801724}
m_Father: {fileID: 2417638750186197328}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0.0024719}
m_SizeDelta: {x: 737.42, y: 504.26}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7678453280902357168
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6074956918412360435}
m_CullTransparentMesh: 1
--- !u!114 &4027884099002409368
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6074956918412360435}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &2554617498295089481
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6074956918412360435}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ScrollRect
m_Content: {fileID: 3059084814696477984}
m_Horizontal: 0
m_Vertical: 1
m_MovementType: 1
m_Elasticity: 0
m_Inertia: 1
m_DecelerationRate: 0.135
m_ScrollSensitivity: 1
m_Viewport: {fileID: 6286131802514671469}
m_HorizontalScrollbar: {fileID: 529710424251508929}
m_VerticalScrollbar: {fileID: 9136497547051495148}
m_HorizontalScrollbarVisibility: 2
m_VerticalScrollbarVisibility: 2
m_HorizontalScrollbarSpacing: -3
m_VerticalScrollbarSpacing: -3
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
--- !u!1 &6994548556054523628
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4070132176653801724}
- component: {fileID: 8682590904891029538}
- component: {fileID: 5114829985009070717}
- component: {fileID: 9136497547051495148}
m_Layer: 0
m_Name: Scrollbar Vertical
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4070132176653801724
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6994548556054523628}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 8977826534581480953}
m_Father: {fileID: 6248177754200331468}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 0}
m_Pivot: {x: 1, y: 1}
--- !u!222 &8682590904891029538
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6994548556054523628}
m_CullTransparentMesh: 1
--- !u!114 &5114829985009070717
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6994548556054523628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &9136497547051495148
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6994548556054523628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Scrollbar
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 6879256843609484833}
m_HandleRect: {fileID: 374280998538979084}
m_Direction: 2
m_Value: 1
m_Size: 1
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
--- !u!1 &7187724186482890403
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8977826534581480953}
m_Layer: 0
m_Name: Sliding Area
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8977826534581480953
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7187724186482890403}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 374280998538979084}
m_Father: {fileID: 4070132176653801724}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 8.5}
m_SizeDelta: {x: -20, y: -20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &7193882241213188023
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2251566621526024109}
- component: {fileID: 1372064744394430487}
- component: {fileID: 1342770482644207694}
m_Layer: 0
m_Name: Handle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2251566621526024109
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7193882241213188023}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3366448768354673732}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1372064744394430487
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7193882241213188023}
m_CullTransparentMesh: 1
--- !u!114 &1342770482644207694
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7193882241213188023}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1

View File

@@ -0,0 +1,210 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6501593483943143564
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 382400732949652569}
- component: {fileID: 4832918257971952213}
- component: {fileID: 1727094465477629914}
m_Layer: 0
m_Name: LogEntry
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &382400732949652569
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6501593483943143564}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 8597194705437786868}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 1093, y: 615}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &4832918257971952213
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6501593483943143564}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5526887cdf77a54439357be8b5754ffc, type: 3}
m_Name:
m_EditorClassIdentifier: Jovian.InGameLogging::Jovian.InGameLogging.UI.LogEntryView
messageText: {fileID: 4259574353180979179}
--- !u!114 &1727094465477629914
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6501593483943143564}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: 100
m_FlexibleWidth: 1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!1 &8033193440249993941
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8597194705437786868}
- component: {fileID: 8331827018725656388}
- component: {fileID: 4259574353180979179}
m_Layer: 0
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8597194705437786868
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8033193440249993941}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 382400732949652569}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: -0.0000000044237822}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8331827018725656388
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8033193440249993941}
m_CullTransparentMesh: 1
--- !u!114 &4259574353180979179
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8033193440249993941}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: New Text
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 5
m_fontSizeMax: 24
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_characterHorizontalScale: 1
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 3
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}