diff --git a/Assets/Cryville.Common/Unity/Tweener.cs b/Assets/Cryville.Common/Unity/Tweener.cs new file mode 100644 index 0000000..cdd4920 --- /dev/null +++ b/Assets/Cryville.Common/Unity/Tweener.cs @@ -0,0 +1,69 @@ +using System; +using UnityEngine; + +namespace Utils { + public class PropertyTweener { + readonly Func _getter; + readonly Action _setter; + readonly Tweener _tweener; + public PropertyTweener(Func getter, Action setter, Tweener tweener) { + _getter = getter; + _setter = setter; + _tweener = tweener; + } + public PropertyTweener Start(T endValue, float duration) { + _tweener.Start(_getter(), endValue, duration); + return this; + } + public void Advance(float deltaTime) { + _setter(_tweener.Advance(deltaTime)); + } + } + public class Tweener { + readonly Func _addition; + readonly Func _multiplication; + public Tweener(Func addition, Func multiplication) { + _addition = addition; + _multiplication = multiplication; + } + public Func EasingFunction { get; set; } = EasingFunctions.Linear; + public Tweener SetEasingFunction(Func easing) { + EasingFunction = easing; + return this; + } + + T _startValue = default; + T _endValue = default; + float _duration = float.PositiveInfinity; + float _time; + public Tweener Start(T startValue, T endValue, float duration) { + _startValue = startValue; + _endValue = endValue; + _duration = duration; + _time = 0; + return this; + } + public T Advance(float deltaTime) { + _time += deltaTime; + var ratio = EasingFunction(Math.Clamp(_time / _duration, 0, 1)); + return _addition(_multiplication(1 - ratio, _startValue), _multiplication(ratio, _endValue)); + } + } + public static class Tweeners { + public static Tweener Int32 => new((a, b) => a + b, (k, v) => (int)(k * v)); + public static Tweener Single => new((a, b) => a + b, (k, v) => k * v); + public static Tweener Double => new((a, b) => a + b, (k, v) => k * v); + public static Tweener Vector2 => new((a, b) => a + b, (k, v) => k * v); + public static Tweener Vector3 => new((a, b) => a + b, (k, v) => k * v); + public static Tweener Quaternion => new((a, b) => a * b, (k, v) => UnityEngine.Quaternion.Slerp(UnityEngine.Quaternion.identity, v, k)); + } + public static class EasingFunctions { + public static float Linear(float x) => x; + public static float InQuad(float x) => x * x; + public static float InCubic(float x) => x * x * x; + public static float InSine(float x) => 1 - OutSine(1 - x); + public static float OutQuad(float x) => 1 - InQuad(1 - x); + public static float OutCubic(float x) => 1 - InCubic(1 - x); + public static float OutSine(float x) => MathF.Sin(x * MathF.PI / 2); + } +} diff --git a/Assets/Cryville.Common/Unity/Tweener.cs.meta b/Assets/Cryville.Common/Unity/Tweener.cs.meta new file mode 100644 index 0000000..9ba8aaf --- /dev/null +++ b/Assets/Cryville.Common/Unity/Tweener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0d8c4d69179c5e644bd48565ec4c8258 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cryville.EEW.Unity/UI/EventOngoingListView.cs b/Assets/Cryville.EEW.Unity/UI/EventOngoingListView.cs index d6e0ec1..50b6d5d 100644 --- a/Assets/Cryville.EEW.Unity/UI/EventOngoingListView.cs +++ b/Assets/Cryville.EEW.Unity/UI/EventOngoingListView.cs @@ -6,18 +6,38 @@ using UnityEngine; namespace Cryville.EEW.Unity.UI { class EventOngoingListView : MonoBehaviour { + public static EventOngoingListView Instance { get; private set; } + [SerializeField] EventReportView m_currentView; + [SerializeField] Transform m_listView; + + [SerializeField] EventOngoingView m_prefabEventOngoingView; readonly List _displayingReports = new(); + readonly List _displayingViews = new(); public void Add(ReportViewModel e) { _displayingReports.Add(e); + + var child = Instantiate(m_prefabEventOngoingView); + child.SetViewModel(e); + child.transform.SetParent(m_listView, false); + _displayingViews.Add(child); + SwitchTo(_displayingReports.Count - 1); + + if (_displayingReports.Count > 1) m_listView.gameObject.SetActive(true); } public void Remove(ReportViewModel e) { int index = _displayingReports.IndexOf(e); if (index == -1) return; _displayingReports.RemoveAt(index); + + var child = m_listView.GetChild(index); + child.SetParent(null, false); + Destroy(child.gameObject); + _displayingViews.RemoveAt(index); + if (_displayingReports.Count == 0) { m_currentView.gameObject.SetActive(false); } @@ -25,8 +45,17 @@ namespace Cryville.EEW.Unity.UI { if (_index > index) --_index; else if (_index == index) SwitchTo(index % _displayingReports.Count); } + + if (_displayingReports.Count <= 1) m_listView.gameObject.SetActive(false); } + void Awake() { + if (Instance != null) { + Destroy(this); + throw new InvalidOperationException("Duplicate ongoing list view."); + } + Instance = this; + } void Start() { m_currentView.gameObject.SetActive(false); } @@ -41,12 +70,20 @@ namespace Cryville.EEW.Unity.UI { } } void SwitchTo(int index) { + if (_index < _displayingReports.Count) + _displayingViews[_index].SetCurrent(false); _index = index; var e = _displayingReports[index]; m_currentView.SetViewModel(e, true); var keyProp = e.Properties.FirstOrDefault(); + _displayingViews[_index].SetCurrent(true); _tickDown = Math.Max(0, keyProp?.Severity ?? 0) * 4 + 4; m_currentView.gameObject.SetActive(true); } + public void SetCurrent(ReportViewModel viewModel) { + int index = _displayingReports.IndexOf(viewModel); + if (index == -1) return; + SwitchTo(index); + } } } diff --git a/Assets/Cryville.EEW.Unity/UI/EventOngoingView.cs b/Assets/Cryville.EEW.Unity/UI/EventOngoingView.cs new file mode 100644 index 0000000..7c8ad77 --- /dev/null +++ b/Assets/Cryville.EEW.Unity/UI/EventOngoingView.cs @@ -0,0 +1,65 @@ +using Cryville.Common.Unity.UI; +using Cryville.EEW.Report; +using System; +using System.Globalization; +using System.Linq; +using UnityEngine; +using UnityEngine.UI; +using Utils; +using static UnityEditor.Profiling.HierarchyFrameDataView; + +namespace Cryville.EEW.Unity.UI { + class EventOngoingView : MonoBehaviour { + [SerializeField] Image[] m_reportView; + + [SerializeField] Button m_button; + [SerializeField] TMPLocalizedText m_textView; + + [SerializeField] DockOccupiedRatioLayoutGroup m_dockLayoutGroup; + + ReportViewModel _viewModel; + + void SetSeverity(float severity) { + var color = SharedSettings.Instance.SeverityColorMapping.From(severity); + SetMainColor(color.ToSrgb().ToUnityColor()); + } + protected virtual void SetMainColor(Color color) { + foreach (var view in m_reportView) + view.color = color; + } + void SetView(float mainSeverity, string title, string location, CultureInfo culture) { + SetSeverity(mainSeverity); + SetText(m_textView, string.Format("{0} {1}", title, location), culture); + } + static void SetText(TMPLocalizedText view, string text, CultureInfo culture) { + if (string.IsNullOrWhiteSpace(text)) { + view.gameObject.SetActive(false); + return; + } + view.gameObject.SetActive(true); + view.SetText(text, culture); + } + + public void SetViewModel(ReportViewModel e) { + _viewModel = e; + SetView(e.Properties.FirstOrDefault()?.Severity ?? -1, e.Title, e.Location, e.Culture); + } + + PropertyTweener _dockRatioTweener; + void Awake() { + _dockRatioTweener = new(() => m_dockLayoutGroup.DockOccupiedRatio, v => m_dockLayoutGroup.DockOccupiedRatio = v, Tweeners.Single); + } + void Start() { + m_button.onClick.AddListener(OnViewClicked); + } + void OnViewClicked() { + EventOngoingListView.Instance.SetCurrent(_viewModel); + } + void Update() { + _dockRatioTweener.Advance(Time.deltaTime); + } + public void SetCurrent(bool v) { + _dockRatioTweener.Start(v ? 1 : 0.75f, 0.1f); + } + } +} diff --git a/Assets/Cryville.EEW.Unity/UI/EventOngoingView.cs.meta b/Assets/Cryville.EEW.Unity/UI/EventOngoingView.cs.meta new file mode 100644 index 0000000..ea35147 --- /dev/null +++ b/Assets/Cryville.EEW.Unity/UI/EventOngoingView.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0a3acd791541c4345a6a5ca7dfa8f046 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Main.unity b/Assets/Main.unity index 60c55e8..c2d0b7b 100644 --- a/Assets/Main.unity +++ b/Assets/Main.unity @@ -133,6 +133,7 @@ GameObject: m_Component: - component: {fileID: 234130748} - component: {fileID: 234130749} + - component: {fileID: 234130750} m_Layer: 5 m_Name: Current m_TagString: Untagged @@ -175,9 +176,9 @@ MonoBehaviour: m_EditorClassIdentifier: m_Padding: m_Left: 6 - m_Right: 6 + m_Right: 0 m_Top: 6 - m_Bottom: 6 + m_Bottom: 0 m_ChildAlignment: 0 m_ChildForceExpandWidth: 1 m_ChildForceExpandHeight: 0 @@ -185,6 +186,26 @@ MonoBehaviour: m_ChildControlHeight: 1 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 +--- !u!114 &234130750 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 234130747} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: 240 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 --- !u!1 &239371813 GameObject: m_ObjectHideFlags: 0 @@ -583,11 +604,11 @@ MonoBehaviour: m_EditorClassIdentifier: m_Padding: m_Left: 0 - m_Right: 0 + m_Right: 6 m_Top: 0 m_Bottom: 0 m_ChildAlignment: 0 - m_Spacing: 0 + m_Spacing: 16 m_ChildForceExpandWidth: 0 m_ChildForceExpandHeight: 0 m_ChildControlWidth: 1 @@ -608,6 +629,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_currentView: {fileID: 8447618677709876516} + m_listView: {fileID: 917542012} + m_prefabEventOngoingView: {fileID: 7245722805295636253, guid: 2310ef60ea9bf8244bbf5ba373c1de9c, type: 3} --- !u!1 &800505389 GameObject: m_ObjectHideFlags: 0 @@ -655,13 +678,14 @@ GameObject: m_Component: - component: {fileID: 917542012} - component: {fileID: 917542013} + - component: {fileID: 917542014} m_Layer: 5 m_Name: List m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &917542012 RectTransform: m_ObjectHideFlags: 0 @@ -677,10 +701,10 @@ RectTransform: m_Father: {fileID: 719162187} m_RootOrder: 1 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_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 157, y: -176} + m_SizeDelta: {x: 314, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &917542013 MonoBehaviour: @@ -695,19 +719,39 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Padding: - m_Left: 0 + m_Left: -16 m_Right: 0 m_Top: 0 m_Bottom: 0 m_ChildAlignment: 0 - m_Spacing: 0 - m_ChildForceExpandWidth: 0 + m_Spacing: 4 + m_ChildForceExpandWidth: 1 m_ChildForceExpandHeight: 0 m_ChildControlWidth: 1 m_ChildControlHeight: 1 m_ChildScaleWidth: 0 m_ChildScaleHeight: 1 m_ReverseArrangement: 0 +--- !u!114 &917542014 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 917542011} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 --- !u!1 &1345962671 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/UI/Event Ongoing.prefab b/Assets/Prefabs/UI/Event Ongoing.prefab new file mode 100644 index 0000000..1bd69a0 --- /dev/null +++ b/Assets/Prefabs/UI/Event Ongoing.prefab @@ -0,0 +1,790 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2562847369873587502 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6698345396572408384} + m_Layer: 5 + m_Name: _padding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6698345396572408384 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2562847369873587502} + 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: 7245722805295636248} + m_RootOrder: 1 + 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.5, y: 0.5} +--- !u!1 &3195167836892573164 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3660102970111463108} + - component: {fileID: 8797250818739199815} + - component: {fileID: 5754056334332642636} + - component: {fileID: 5874018125753105151} + - component: {fileID: 2976726132035575621} + - component: {fileID: 4044435916368489920} + m_Layer: 5 + m_Name: _content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3660102970111463108 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3195167836892573164} + 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: 7245722804793660640} + m_Father: {fileID: 7245722805295636248} + m_RootOrder: 0 + 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.5, y: 0.5} +--- !u!222 &8797250818739199815 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3195167836892573164} + m_CullTransparentMesh: 1 +--- !u!114 &5754056334332642636 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3195167836892573164} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + 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: 21300000, guid: caade3ded4573b540a946c53bd789b37, type: 3} + 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!225 &5874018125753105151 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3195167836892573164} + m_Enabled: 1 + m_Alpha: 0.9 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &2976726132035575621 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3195167836892573164} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + 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: 5754056334332642636} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &4044435916368489920 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3195167836892573164} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 21255a16576b76f4280a765b43a4ae1c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &7245722803680943974 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7245722803680943975} + - component: {fileID: 7245722803680943979} + - component: {fileID: 7245722803680943978} + - component: {fileID: 7245722803680943973} + - component: {fileID: 7245722803680943972} + m_Layer: 5 + m_Name: _content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7245722803680943975 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722803680943974} + 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: 7245722803986725359} + m_Father: {fileID: 7245722804793660640} + m_RootOrder: 0 + 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.5, y: 0.5} +--- !u!222 &7245722803680943979 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722803680943974} + m_CullTransparentMesh: 1 +--- !u!114 &7245722803680943978 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722803680943974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + 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: 0} + m_Type: 0 + 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 &7245722803680943973 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722803680943974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 21255a16576b76f4280a765b43a4ae1c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &7245722803680943972 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722803680943974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: 1 + m_LayoutPriority: 1 +--- !u!1 &7245722803986725358 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7245722803986725359} + - component: {fileID: 7245722803986725362} + - component: {fileID: 7245722803986725357} + - component: {fileID: 7245722803986725363} + m_Layer: 5 + m_Name: _content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7245722803986725359 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722803986725358} + 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: 7245722804771600193} + m_Father: {fileID: 7245722803680943975} + m_RootOrder: 0 + 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.5, y: 0.5} +--- !u!222 &7245722803986725362 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722803986725358} + m_CullTransparentMesh: 1 +--- !u!114 &7245722803986725357 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722803986725358} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.7490196} + 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: 0} + m_Type: 0 + 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 &7245722803986725363 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722803986725358} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 24 + m_Right: 12 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 6 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &7245722804771600192 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7245722804771600193} + - component: {fileID: 7245722804771600199} + - component: {fileID: 7245722804771600198} + - component: {fileID: 7245722804771600196} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7245722804771600193 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722804771600192} + 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: 7245722803986725359} + m_RootOrder: 0 + 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.5, y: 0.5} +--- !u!222 &7245722804771600199 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722804771600192} + m_CullTransparentMesh: 1 +--- !u!114 &7245722804771600198 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722804771600192} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83e7715acbfae1d4b84414c13d03ed3f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Title Location + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 2b12354fb2d86744887c3e4bfee63986, type: 2} + m_sharedMaterial: {fileID: -3021868053195457599, guid: 2b12354fb2d86744887c3e4bfee63986, 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: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 1 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 0 + 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} +--- !u!114 &7245722804771600196 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722804771600192} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c03870a7d4386e846be005a0ac36e987, type: 3} + m_Name: + m_EditorClassIdentifier: + m_shader: {fileID: 0} +--- !u!1 &7245722804793660643 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7245722804793660640} + - component: {fileID: 7245722804793660645} + - component: {fileID: 7245722804793660644} + - component: {fileID: 7245722804793660647} + - component: {fileID: 7245722804793660646} + - component: {fileID: 7245722804793660641} + m_Layer: 5 + m_Name: _content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7245722804793660640 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722804793660643} + 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: 7245722803680943975} + m_Father: {fileID: 3660102970111463108} + m_RootOrder: 0 + 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.5, y: 0.5} +--- !u!222 &7245722804793660645 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722804793660643} + m_CullTransparentMesh: 1 +--- !u!114 &7245722804793660644 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722804793660643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.011764706} + 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: 21300000, guid: 5867898c2e0a7f14c8a8e96f2856e8f0, type: 3} + 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 &7245722804793660647 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722804793660643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &7245722804793660646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722804793660643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 21255a16576b76f4280a765b43a4ae1c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &7245722804793660641 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722804793660643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: 0 + m_LayoutPriority: 1 +--- !u!1 &7245722805295636251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7245722805295636248} + - component: {fileID: 5672151936230489789} + - component: {fileID: 7245722805295636253} + m_Layer: 5 + m_Name: Event Ongoing + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7245722805295636248 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722805295636251} + 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: 3660102970111463108} + - {fileID: 6698345396572408384} + m_Father: {fileID: 0} + m_RootOrder: 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: 320, y: 40} + m_Pivot: {x: 0, y: 1} +--- !u!114 &5672151936230489789 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722805295636251} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0bbf3330df0a07e46bcdf0b3c4879ecf, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: -16 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_side: 3 + m_slideIndex: 0 + m_dockOccupiedRatio: 0.75 +--- !u!114 &7245722805295636253 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7245722805295636251} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0a3acd791541c4345a6a5ca7dfa8f046, type: 3} + m_Name: + m_EditorClassIdentifier: + m_reportView: + - {fileID: 5754056334332642636} + - {fileID: 7245722803680943978} + m_button: {fileID: 2976726132035575621} + m_textView: {fileID: 7245722804771600196} + m_dockLayoutGroup: {fileID: 5672151936230489789} diff --git a/Assets/Prefabs/UI/Event Ongoing.prefab.meta b/Assets/Prefabs/UI/Event Ongoing.prefab.meta new file mode 100644 index 0000000..4444f01 --- /dev/null +++ b/Assets/Prefabs/UI/Event Ongoing.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2310ef60ea9bf8244bbf5ba373c1de9c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: