adding in some needed packages
This commit is contained in:
parent
9e739f5dc8
commit
aba5310742
1012 changed files with 494191 additions and 1 deletions
1447
Assets/Bremsengine/Dialogue System/Dialogue Canvas.prefab
Normal file
1447
Assets/Bremsengine/Dialogue System/Dialogue Canvas.prefab
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f652531f974dc42418689ed207a9dd6f
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
401
Assets/Bremsengine/Dialogue System/Dialogue.cs
Normal file
401
Assets/Bremsengine/Dialogue System/Dialogue.cs
Normal file
|
|
@ -0,0 +1,401 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
namespace Bremsengine
|
||||
{
|
||||
#region Dialogue Editor Custom Inspector
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
[CustomEditor(typeof(TestDialogue))]
|
||||
public partial class DialogueInspectorEditor : Editor
|
||||
{
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
base.OnInspectorGUI();
|
||||
if (GUILayout.Button("Start Dialogue") && Application.isPlaying && target is Dialogue d and not null)
|
||||
{
|
||||
d.StartDialogue();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endregion
|
||||
#region Dialogue Internal Coroutines
|
||||
public partial class Dialogue
|
||||
{
|
||||
Dictionary<string, Coroutine> activeRoutines = new();
|
||||
public bool TryGetSubroutine(string key, out Coroutine c)
|
||||
{
|
||||
c = null;
|
||||
if (activeRoutines.ContainsKey(key))
|
||||
{
|
||||
c = activeRoutines[key];
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public void TryEndSubroutine(string key)
|
||||
{
|
||||
if (TryGetSubroutine(key, out Coroutine c))
|
||||
{
|
||||
if (c != null)
|
||||
StopCoroutine(c);
|
||||
}
|
||||
}
|
||||
public void StartSubroutine(string key, IEnumerator coroutine)
|
||||
{
|
||||
TryEndSubroutine(key);
|
||||
activeRoutines[key] = StartCoroutine(coroutine);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region Dialogue Event Busses
|
||||
public partial class Dialogue
|
||||
{
|
||||
public void TriggerEvent(string key)
|
||||
{
|
||||
DialogueEventBus.TriggerEvent(key);
|
||||
}
|
||||
}
|
||||
public static class DialogueEventBus
|
||||
{
|
||||
static Dictionary<string, System.Action> EventBusCache;
|
||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
||||
private static void ReInitializeEventBus()
|
||||
{
|
||||
EventBusCache = new Dictionary<string, System.Action>();
|
||||
}
|
||||
public static void BindEvent(string eventID, System.Action action)
|
||||
{
|
||||
if (!EventBusCache.ContainsKey(eventID) || EventBusCache[eventID] == null)
|
||||
{
|
||||
EventBusCache[eventID] = action;
|
||||
return;
|
||||
}
|
||||
EventBusCache[eventID] += action;
|
||||
}
|
||||
public static void ReleaseEvent(string eventID, System.Action action)
|
||||
{
|
||||
if (EventBusCache.ContainsKey(eventID) && EventBusCache[eventID] != null)
|
||||
{
|
||||
EventBusCache[eventID] -= action;
|
||||
}
|
||||
}
|
||||
public static void TriggerEvent(string eventID)
|
||||
{
|
||||
if (EventBusCache.ContainsKey(eventID) && EventBusCache[eventID] != null)
|
||||
{
|
||||
EventBusCache[eventID]?.Invoke();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region Dialogue Buttons
|
||||
public abstract partial class Dialogue
|
||||
{
|
||||
#region Dialogue Button Entries Class
|
||||
[System.Serializable]
|
||||
public class DialogueButton
|
||||
{
|
||||
int continueProgress = -999;
|
||||
#region Button Actions
|
||||
public DialogueButton SetText(string s)
|
||||
{
|
||||
ButtonText.text = s;
|
||||
return this;
|
||||
}
|
||||
public DialogueButton SetVisible(bool state)
|
||||
{
|
||||
IsVisible = state;
|
||||
ButtonReference.gameObject.SetActive(state);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DialogueButton SetProgressWhenPressed(int progress = -999)
|
||||
{
|
||||
continueProgress = progress;
|
||||
return this;
|
||||
}
|
||||
public DialogueButton ContinueWhenPressed()
|
||||
{
|
||||
continueProgress = Progress + 2;
|
||||
return this;
|
||||
}
|
||||
private void PressContinueButton()
|
||||
{
|
||||
Debug.Log(continueProgress);
|
||||
OnContinuePressed = null;
|
||||
if (continueProgress != -999)
|
||||
{
|
||||
OnContinuePressed += Dialogue.SetProgress;
|
||||
}
|
||||
OnContinuePressed?.Invoke(continueProgress);
|
||||
}
|
||||
public DialogueButton SetForceEndWhenPressed()
|
||||
{
|
||||
void ButtonEndDialogue()
|
||||
{
|
||||
if (Dialogue.ActiveDialogue == null)
|
||||
return;
|
||||
Dialogue.ActiveDialogue.ForceEndDialogue();
|
||||
}
|
||||
OnPressedAction += ButtonEndDialogue;
|
||||
return this;
|
||||
}
|
||||
private TMP_Text FindAndCacheTextComponent(Button b)
|
||||
{
|
||||
if (b == null)
|
||||
{
|
||||
Debug.Log("Bad Button Reference");
|
||||
return null;
|
||||
}
|
||||
if (ButtonReference.gameObject.GetComponentInChildren<TMP_Text>() is TMP_Text t and not null)
|
||||
{
|
||||
storedButtonText = t;
|
||||
return t;
|
||||
}
|
||||
Debug.Log("Found Nothing, maybe bad");
|
||||
return null;
|
||||
}
|
||||
public DialogueButton PressButton()
|
||||
{
|
||||
OnPressedAction?.Invoke();
|
||||
PressContinueButton();
|
||||
return this;
|
||||
}
|
||||
#endregion
|
||||
public int ButtonIndex = 0;
|
||||
bool IsVisible;
|
||||
public Button ButtonReference;
|
||||
TMP_Text storedButtonText;
|
||||
public System.Action OnPressedAction;
|
||||
public System.Action<int> OnContinuePressed;
|
||||
public bool ContinueDialogueWhenPressed { get; private set; }
|
||||
public TMP_Text ButtonText => storedButtonText == null ? FindAndCacheTextComponent(ButtonReference) : storedButtonText;
|
||||
}
|
||||
#endregion
|
||||
#region Cache Reset
|
||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
||||
//Unity Engine Runs this on Run Game.
|
||||
//It's manual resetting of static objects for a setting i use that turns off static resetting for faster loads.
|
||||
private static void ResetCache()
|
||||
{
|
||||
buttonCache = null;
|
||||
}
|
||||
#endregion
|
||||
static Dictionary<int, DialogueButton> buttonCache;
|
||||
private static void Initialize(List<DialogueButton> b)
|
||||
{
|
||||
if (buttonCache == null)
|
||||
{
|
||||
buttonCache = new Dictionary<int, DialogueButton>();
|
||||
}
|
||||
buttonCache.Clear();
|
||||
foreach (var item in b)
|
||||
{
|
||||
buttonCache.Add(item.ButtonIndex, item);
|
||||
}
|
||||
}
|
||||
private static bool TryGetCachedButton(int buttonIndex, out DialogueButton b)
|
||||
{
|
||||
Initialize(DialogueRunner.GetButtons());
|
||||
if (buttonCache != null && buttonCache.ContainsKey(buttonIndex))
|
||||
{
|
||||
b = buttonCache[buttonIndex];
|
||||
return true;
|
||||
}
|
||||
Debug.LogWarning("Bad Button id");
|
||||
b = null;
|
||||
return false;
|
||||
}
|
||||
public static void ClearButtonContents()
|
||||
{
|
||||
Initialize(DialogueRunner.GetButtons());
|
||||
DialogueButton iteration;
|
||||
foreach (var item in buttonCache)
|
||||
{
|
||||
if (item.Value == null)
|
||||
{
|
||||
Debug.LogWarning("Bad");
|
||||
continue;
|
||||
}
|
||||
iteration = item.Value;
|
||||
iteration.OnPressedAction = null;
|
||||
iteration.OnContinuePressed = null;
|
||||
iteration.SetVisible(false);
|
||||
}
|
||||
}
|
||||
public static DialogueButton SetButton(int buttonIndex, string buttonText, Action a = null)
|
||||
{
|
||||
if (TryGetCachedButton(buttonIndex, out DialogueButton b))
|
||||
{
|
||||
b.SetVisible(true);
|
||||
b.SetText(buttonText);
|
||||
b.SetProgressWhenPressed(-999 /* -999 means no continue when pressed*/);
|
||||
if (a != null)
|
||||
{
|
||||
b.OnPressedAction = a;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public static void PressButton(int buttonIndex)
|
||||
{
|
||||
if (TryGetCachedButton(buttonIndex, out DialogueButton b))
|
||||
{
|
||||
b.PressButton();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region Dialogue Text
|
||||
|
||||
[System.Serializable]
|
||||
public class DialogueText
|
||||
{
|
||||
static TMP_Text textRenderer;
|
||||
public delegate void TextEvent(DialogueText t);
|
||||
public static TextEvent OnDisplayText;
|
||||
public static TextEvent OnFinishDisplayText;
|
||||
public string text { get; private set; }
|
||||
public static void SetDialogueTextRenderer(TMP_Text t)
|
||||
{
|
||||
textRenderer = t;
|
||||
}
|
||||
public void DisplayText(string s)
|
||||
{
|
||||
text = s;
|
||||
ReDrawText();
|
||||
OnDisplayText?.Invoke(this);
|
||||
OnFinishDisplayText?.Invoke(this); //For now it will just display everything instantly so onfinished will go here
|
||||
}
|
||||
private void ReDrawText()
|
||||
{
|
||||
textRenderer.text = text;
|
||||
}
|
||||
public void AddText(string s)
|
||||
{
|
||||
text += s;
|
||||
ReDrawText();
|
||||
}
|
||||
public void AddText(char c)
|
||||
{
|
||||
text += c;
|
||||
ReDrawText();
|
||||
}
|
||||
}
|
||||
public abstract partial class Dialogue
|
||||
{
|
||||
protected static DialogueText activeText;
|
||||
protected DialogueText text => activeText;
|
||||
public static void BindDialogueText(DialogueText d)
|
||||
{
|
||||
activeText = d;
|
||||
}
|
||||
protected void DrawDialogue(string text)
|
||||
{
|
||||
DialogueRunner.BoxVisibility(true);
|
||||
ClearButtonContents();
|
||||
activeText.DisplayText(text);
|
||||
}
|
||||
protected void UnDrawDialogue()
|
||||
{
|
||||
DialogueRunner.BoxVisibility(false);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region Continue Shortcut Input
|
||||
public partial class Dialogue
|
||||
{
|
||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
||||
private static void Reinitialize()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region Dialogue Shortcuts
|
||||
public abstract partial class Dialogue
|
||||
{
|
||||
protected void ContinueButton(int index) => SetButton(index, "Continue").SetProgressWhenPressed(Progress + 2);
|
||||
protected int NextContinueProgress => Progress + 2;
|
||||
protected void ActionButton(int index, Action<bool> buttonAction, bool state)
|
||||
{
|
||||
buttonAction?.Invoke(state);
|
||||
}
|
||||
protected static int Progress = 0;
|
||||
public static void SetProgress(int p) => Progress = p;
|
||||
public WaitUntil WaitForProgressAbove(int progress) => new WaitUntil(() => Progress >= progress);
|
||||
protected void CharacterSelect(int index) => DialogueRunner.SetCharacterFocus(index);
|
||||
}
|
||||
#endregion
|
||||
#region Character Sprites
|
||||
public partial class Dialogue
|
||||
{
|
||||
[SerializeField] List<Sprite> characterSprites = new List<Sprite>();
|
||||
}
|
||||
#endregion
|
||||
public abstract partial class Dialogue : MonoBehaviour
|
||||
{
|
||||
public static Dialogue activeDialogueCollection { get; protected set; }
|
||||
protected static DialogueRunner runnerInstance;
|
||||
protected abstract IEnumerator DialogueContents(int progress = 0);
|
||||
public delegate void DialogueEvent(Dialogue dialogue);
|
||||
public static DialogueEvent TriggerContinue;
|
||||
static Coroutine activeDialogueRoutine;
|
||||
static Dialogue ActiveDialogue;
|
||||
public static bool IsDialogueRunning => ActiveDialogue != null;
|
||||
protected abstract void WhenStartDialogue(int progress);
|
||||
protected abstract void WhenEndDialogue(int dialogueEnding);
|
||||
public static void BindRunner(DialogueRunner runner)
|
||||
{
|
||||
runnerInstance = runner;
|
||||
}
|
||||
[ContextMenu("Start Dialogue")]
|
||||
public void StartDialogue(int progress = 0)
|
||||
{
|
||||
Progress = progress;
|
||||
if (activeDialogueRoutine != null && runnerInstance == null)
|
||||
{
|
||||
Debug.Log("Really bad");
|
||||
}
|
||||
if (activeDialogueRoutine != null && runnerInstance != null)
|
||||
{
|
||||
runnerInstance.StopCoroutine(activeDialogueRoutine);
|
||||
}
|
||||
ActiveDialogue = this;
|
||||
DialogueRunner.SetDialogueVisibility(true);
|
||||
int spriteIndex = 0;
|
||||
foreach (var item in DialogueRunner.AllCharacterSprites)
|
||||
{
|
||||
item.sprite = null;
|
||||
}
|
||||
foreach (var item in characterSprites)
|
||||
{
|
||||
DialogueRunner.SetCharacterSprite(spriteIndex, item);
|
||||
spriteIndex++;
|
||||
}
|
||||
activeDialogueRoutine = runnerInstance.StartCoroutine(DialogueContents(progress));
|
||||
WhenStartDialogue(progress);
|
||||
}
|
||||
public void ForceEndDialogue(int ending = 0)
|
||||
{
|
||||
WhenEndDialogue(ending);
|
||||
if (activeDialogueRoutine != null)
|
||||
{
|
||||
runnerInstance.StopCoroutine(activeDialogueRoutine);
|
||||
activeDialogueRoutine = null;
|
||||
}
|
||||
DialogueRunner.SetDialogueVisibility(false);
|
||||
ActiveDialogue = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Bremsengine/Dialogue System/Dialogue.cs.meta
Normal file
2
Assets/Bremsengine/Dialogue System/Dialogue.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8e9042a7eaaf09b4298f7af82e7bda8d
|
||||
13
Assets/Bremsengine/Dialogue System/DialogueHelper.cs
Normal file
13
Assets/Bremsengine/Dialogue System/DialogueHelper.cs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
using UnityEngine;
|
||||
|
||||
namespace Bremsengine
|
||||
{
|
||||
public partial class Dialogue
|
||||
{
|
||||
public static partial class EventKeys
|
||||
{
|
||||
private const string SkeletronKey = "Skeletron";
|
||||
public static string Skeletron => SkeletronKey;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1d513e4fe5d97b349a0a9902d1ac7128
|
||||
95
Assets/Bremsengine/Dialogue System/DialogueRunner.cs
Normal file
95
Assets/Bremsengine/Dialogue System/DialogueRunner.cs
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
using UnityEngine;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using TMPro;
|
||||
using Core.Extensions;
|
||||
using UnityEngine.UI;
|
||||
using System;
|
||||
using UnityEngine.InputSystem;
|
||||
namespace Bremsengine
|
||||
{
|
||||
[DefaultExecutionOrder(5)]
|
||||
public class DialogueRunner : MonoBehaviour
|
||||
{
|
||||
static DialogueRunner Instance;
|
||||
[SerializeField] List<Dialogue.DialogueButton> dialogueButtons;
|
||||
[SerializeField] DialogueText dialogueText;
|
||||
[SerializeField] TMP_Text dialogueTextComponent;
|
||||
[SerializeField] GameObject dialogueContainer;
|
||||
[SerializeField] List<Image> characterSprites = new();
|
||||
|
||||
public static List<Dialogue.DialogueButton> GetButtons() => Instance.dialogueButtons.ToList(); //lazy it should just copy this as a new list. it is to not affect the original (idk maybe doesnt matter).
|
||||
private void Awake()
|
||||
{
|
||||
Instance = this;
|
||||
Dialogue.BindDialogueText(dialogueText);
|
||||
Dialogue.BindRunner(this);
|
||||
DialogueText.SetDialogueTextRenderer(dialogueTextComponent);
|
||||
dialogueContainer.SetActive(false);
|
||||
}
|
||||
public static void SetDialogueVisibility(bool state)
|
||||
{
|
||||
Instance.dialogueContainer.SetActive(state);
|
||||
foreach (var item in Instance.characterSprites)
|
||||
{
|
||||
item.sprite = null;
|
||||
}
|
||||
}
|
||||
public static DialogueRunner BoxVisibility(bool state)
|
||||
{
|
||||
Instance.dialogueContainer.SetActive(state);
|
||||
return Instance;
|
||||
}
|
||||
public static List<Image> AllCharacterSprites => Instance.characterSprites;
|
||||
public static DialogueRunner SetCharacterSprite(int index, Sprite s)
|
||||
{
|
||||
Image selection = Instance.characterSprites[index];
|
||||
if (s != null && selection != null)
|
||||
{
|
||||
selection.color = new(255f, 255f, 255f, 255f);
|
||||
}
|
||||
else
|
||||
{
|
||||
selection.color = new(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
selection.sprite = s;
|
||||
return Instance;
|
||||
}
|
||||
public static DialogueRunner SetCharacterFocus(int index)
|
||||
{
|
||||
foreach (var item in Instance.characterSprites)
|
||||
{
|
||||
if (item.sprite == null)
|
||||
{
|
||||
item.color = item.color.Opacity(0);
|
||||
continue;
|
||||
}
|
||||
item.color = item.color.Opacity(170);
|
||||
}
|
||||
Image selection = Instance.characterSprites[index];
|
||||
if (Instance.characterSprites[index].sprite == null)
|
||||
{
|
||||
return Instance;
|
||||
}
|
||||
selection.color = selection.color.Opacity(255);
|
||||
return Instance;
|
||||
}
|
||||
public void PressButton(int index)
|
||||
{
|
||||
Dialogue.PressButton(index);
|
||||
}
|
||||
private void Start()
|
||||
{
|
||||
|
||||
}
|
||||
private void ContinueInput()
|
||||
{
|
||||
|
||||
}
|
||||
private void OnDestroy()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ebcdf36834fd5de4894fb8cb801d3179
|
||||
8
Assets/Bremsengine/Dialogue System/Dialogues.meta
Normal file
8
Assets/Bremsengine/Dialogue System/Dialogues.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 504913cf37e1d524c97a662d4ea547e2
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
72
Assets/Bremsengine/Dialogue System/Dialogues/TestDialogue.cs
Normal file
72
Assets/Bremsengine/Dialogue System/Dialogues/TestDialogue.cs
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
using Core.Extensions;
|
||||
using System.Collections;
|
||||
using System.Diagnostics;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Bremsengine
|
||||
{
|
||||
public class TestDialogue : Dialogue
|
||||
{
|
||||
protected override IEnumerator DialogueContents(int progress = 0)
|
||||
{/*
|
||||
DrawDialogue("Test Text");
|
||||
SetButton(0, "Yes", TestFeature).SetProgressWhenPressed();
|
||||
yield return new WaitForSeconds(0.15f);
|
||||
|
||||
yield return Wait;
|
||||
DrawDialogue("Mewo mewo");
|
||||
SetButton(0, "Yes").SetProgressWhenPressed();
|
||||
SetButton(1, "+100 money", TestFeature);
|
||||
SetButton(2, "NOOO", SpawnBoss).SetForceEndWhenPressed();
|
||||
yield return new WaitForSeconds(0.15f);
|
||||
|
||||
yield return Wait;
|
||||
DrawDialogue("yooo");
|
||||
SetButton(2, "Bro").SetProgressWhenPressed();
|
||||
StartSubroutine("Test Range", TestRange());
|
||||
yield return new WaitForSeconds(0.15f);
|
||||
|
||||
yield return Wait;
|
||||
TryEndSubroutine("Test Range");
|
||||
DrawDialogue("jao");
|
||||
SetButton(2, "Close", SpawnBoss).SetProgressWhenPressed();
|
||||
yield return new WaitForSeconds(0.15f);
|
||||
|
||||
yield return Wait;
|
||||
*/
|
||||
yield return new WaitForSeconds(1f);
|
||||
ForceEndDialogue();
|
||||
}
|
||||
private void SpawnBoss()
|
||||
{
|
||||
DialogueEventBus.TriggerEvent(EventKeys.Skeletron);
|
||||
}
|
||||
private IEnumerator TestRange()
|
||||
{
|
||||
string add = " ";
|
||||
foreach (var item in 30f.StepFromTo(-100f, 360f))
|
||||
{
|
||||
add += item + " ";
|
||||
}
|
||||
foreach (char item in add.StringChop())
|
||||
{
|
||||
activeText.AddText(item);
|
||||
yield return Helper.GetWaitForSeconds(1f / 30f);
|
||||
}
|
||||
}
|
||||
protected override void WhenStartDialogue(int progress)
|
||||
{
|
||||
|
||||
}
|
||||
protected override void WhenEndDialogue(int dialogueEnding)
|
||||
{
|
||||
|
||||
}
|
||||
private void TestFeature()
|
||||
{
|
||||
activeText.AddText(" 100 money :)");
|
||||
UnityEngine.Debug.Log("100 moneys fortnite burger");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fa79f33792e9505409235f3756524c28
|
||||
298
Assets/Bremsengine/Dialogue System/Test Dialogue Font.asset
Normal file
298
Assets/Bremsengine/Dialogue System/Test Dialogue Font.asset
Normal file
|
|
@ -0,0 +1,298 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &-7719817620043868596
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: ARCO Atlas Material
|
||||
m_Shader: {fileID: 4800000, guid: 68e6db2ebdc24f95958faec2be5558d6, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Cube:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _FaceTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 4044624671587200958}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _Ambient: 0.5
|
||||
- _Bevel: 0.5
|
||||
- _BevelClamp: 0
|
||||
- _BevelOffset: 0
|
||||
- _BevelRoundness: 0
|
||||
- _BevelWidth: 0
|
||||
- _BumpFace: 0
|
||||
- _BumpOutline: 0
|
||||
- _ColorMask: 15
|
||||
- _CullMode: 0
|
||||
- _Diffuse: 0.5
|
||||
- _FaceDilate: 0
|
||||
- _FaceUVSpeedX: 0
|
||||
- _FaceUVSpeedY: 0
|
||||
- _GlowInner: 0.05
|
||||
- _GlowOffset: 0
|
||||
- _GlowOuter: 0.05
|
||||
- _GlowPower: 0.75
|
||||
- _GradientScale: 10
|
||||
- _LightAngle: 3.1416
|
||||
- _MaskSoftnessX: 0
|
||||
- _MaskSoftnessY: 0
|
||||
- _OutlineSoftness: 0
|
||||
- _OutlineUVSpeedX: 0
|
||||
- _OutlineUVSpeedY: 0
|
||||
- _OutlineWidth: 0
|
||||
- _PerspectiveFilter: 0.875
|
||||
- _Reflectivity: 10
|
||||
- _ScaleRatioA: 0.9
|
||||
- _ScaleRatioB: 0.73125
|
||||
- _ScaleRatioC: 0.73125
|
||||
- _ScaleX: 1
|
||||
- _ScaleY: 1
|
||||
- _ShaderFlags: 0
|
||||
- _Sharpness: 0
|
||||
- _SpecularPower: 2
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _TextureHeight: 1024
|
||||
- _TextureWidth: 1024
|
||||
- _UnderlayDilate: 0
|
||||
- _UnderlayOffsetX: 0
|
||||
- _UnderlayOffsetY: 0
|
||||
- _UnderlaySoftness: 0
|
||||
- _VertexOffsetX: 0
|
||||
- _VertexOffsetY: 0
|
||||
- _WeightBold: 0.75
|
||||
- _WeightNormal: 0
|
||||
m_Colors:
|
||||
- _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
|
||||
- _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _FaceColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _GlowColor: {r: 0, g: 1, b: 0, a: 0.5}
|
||||
- _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767}
|
||||
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 71c1514a6bd24e1e882cebbe1904ce04, type: 3}
|
||||
m_Name: Test Dialogue Font
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 1.1.0
|
||||
m_FaceInfo:
|
||||
m_FaceIndex: 0
|
||||
m_FamilyName: ARCO Typography
|
||||
m_StyleName: Regular
|
||||
m_PointSize: 90
|
||||
m_Scale: 1
|
||||
m_UnitsPerEM: 2048
|
||||
m_LineHeight: 101.25
|
||||
m_AscentLine: 94.61426
|
||||
m_CapLine: 68
|
||||
m_MeanLine: 69
|
||||
m_Baseline: 0
|
||||
m_DescentLine: -6.635742
|
||||
m_SuperscriptOffset: 94.61426
|
||||
m_SuperscriptSize: 0.5
|
||||
m_SubscriptOffset: -6.635742
|
||||
m_SubscriptSize: 0.5
|
||||
m_UnderlineOffset: 0
|
||||
m_UnderlineThickness: 0
|
||||
m_StrikethroughOffset: 27.6
|
||||
m_StrikethroughThickness: 0
|
||||
m_TabWidth: 32
|
||||
m_Material: {fileID: -7719817620043868596}
|
||||
m_SourceFontFileGUID: 42a9477ffaf602b449628f5c4f798f36
|
||||
m_CreationSettings:
|
||||
sourceFontFileName:
|
||||
sourceFontFileGUID: 42a9477ffaf602b449628f5c4f798f36
|
||||
faceIndex: 0
|
||||
pointSizeSamplingMode: 0
|
||||
pointSize: 90
|
||||
padding: 9
|
||||
paddingMode: 2
|
||||
packingMode: 0
|
||||
atlasWidth: 1024
|
||||
atlasHeight: 1024
|
||||
characterSetSelectionMode: 7
|
||||
characterSequence:
|
||||
referencedFontAssetGUID:
|
||||
referencedTextAssetGUID:
|
||||
fontStyle: 0
|
||||
fontStyleModifier: 0
|
||||
renderMode: 4165
|
||||
includeFontFeatures: 0
|
||||
m_SourceFontFile: {fileID: 12800000, guid: 42a9477ffaf602b449628f5c4f798f36, type: 3}
|
||||
m_SourceFontFilePath:
|
||||
m_AtlasPopulationMode: 1
|
||||
InternalDynamicOS: 0
|
||||
m_GlyphTable: []
|
||||
m_CharacterTable: []
|
||||
m_AtlasTextures:
|
||||
- {fileID: 4044624671587200958}
|
||||
m_AtlasTextureIndex: 0
|
||||
m_IsMultiAtlasTexturesEnabled: 0
|
||||
m_GetFontFeatures: 1
|
||||
m_ClearDynamicDataOnBuild: 1
|
||||
m_AtlasWidth: 1024
|
||||
m_AtlasHeight: 1024
|
||||
m_AtlasPadding: 9
|
||||
m_AtlasRenderMode: 4165
|
||||
m_UsedGlyphRects: []
|
||||
m_FreeGlyphRects:
|
||||
- m_X: 0
|
||||
m_Y: 0
|
||||
m_Width: 1023
|
||||
m_Height: 1023
|
||||
m_FontFeatureTable:
|
||||
m_MultipleSubstitutionRecords: []
|
||||
m_LigatureSubstitutionRecords: []
|
||||
m_GlyphPairAdjustmentRecords: []
|
||||
m_MarkToBaseAdjustmentRecords: []
|
||||
m_MarkToMarkAdjustmentRecords: []
|
||||
m_ShouldReimportFontFeatures: 0
|
||||
m_FallbackFontAssetTable: []
|
||||
m_FontWeightTable:
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
fontWeights: []
|
||||
normalStyle: 0
|
||||
normalSpacingOffset: 0
|
||||
boldStyle: 0.75
|
||||
boldSpacing: 7
|
||||
italicStyle: 35
|
||||
tabSize: 10
|
||||
m_fontInfo:
|
||||
Name:
|
||||
PointSize: 0
|
||||
Scale: 0
|
||||
CharacterCount: 0
|
||||
LineHeight: 0
|
||||
Baseline: 0
|
||||
Ascender: 0
|
||||
CapHeight: 0
|
||||
Descender: 0
|
||||
CenterLine: 0
|
||||
SuperscriptOffset: 0
|
||||
SubscriptOffset: 0
|
||||
SubSize: 0
|
||||
Underline: 0
|
||||
UnderlineThickness: 0
|
||||
strikethrough: 0
|
||||
strikethroughThickness: 0
|
||||
TabWidth: 0
|
||||
Padding: 0
|
||||
AtlasWidth: 0
|
||||
AtlasHeight: 0
|
||||
m_glyphInfoList: []
|
||||
m_KerningTable:
|
||||
kerningPairs: []
|
||||
fallbackFontAssets: []
|
||||
atlas: {fileID: 0}
|
||||
--- !u!28 &4044624671587200958
|
||||
Texture2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: ARCO Atlas
|
||||
m_ImageContentsHash:
|
||||
serializedVersion: 2
|
||||
Hash: 00000000000000000000000000000000
|
||||
m_IsAlphaChannelOptional: 0
|
||||
serializedVersion: 3
|
||||
m_Width: 1
|
||||
m_Height: 1
|
||||
m_CompleteImageSize: 1
|
||||
m_MipsStripped: 0
|
||||
m_TextureFormat: 1
|
||||
m_MipCount: 1
|
||||
m_IsReadable: 1
|
||||
m_IsPreProcessed: 0
|
||||
m_IgnoreMipmapLimit: 1
|
||||
m_MipmapLimitGroupName:
|
||||
m_StreamingMipmaps: 0
|
||||
m_StreamingMipmapsPriority: 0
|
||||
m_VTOnly: 0
|
||||
m_AlphaIsTransparency: 0
|
||||
m_ImageCount: 1
|
||||
m_TextureDimension: 2
|
||||
m_TextureSettings:
|
||||
serializedVersion: 2
|
||||
m_FilterMode: 1
|
||||
m_Aniso: 1
|
||||
m_MipBias: 0
|
||||
m_WrapU: 0
|
||||
m_WrapV: 0
|
||||
m_WrapW: 0
|
||||
m_LightmapFormat: 0
|
||||
m_ColorSpace: 1
|
||||
m_PlatformBlob:
|
||||
image data: 1
|
||||
_typelessdata: 00
|
||||
m_StreamData:
|
||||
serializedVersion: 2
|
||||
offset: 0
|
||||
size: 0
|
||||
path:
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f2076e2c7ee86de4b822074594ff4136
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Loading…
Add table
Add a link
Reference in a new issue