拼ui 一些业务逻辑x实现

This commit is contained in:
FloatGaming
2026-03-19 06:15:09 +08:00
parent f5c6f143c0
commit 49e45ac464
1118 changed files with 246518 additions and 5368 deletions
+32
View File
@@ -0,0 +1,32 @@
/* EasyChart Demo Showcase Styles */
/* Screen: 1950x1300, Demo: 450x300, Grid: 4x4 */
.demo-group {
width: 100%;
height: 100%;
flex-direction: column;
justify-content: space-around;
align-items: center;
padding: 25px;
}
.demo-group.hidden {
display: none;
}
.demo-row {
flex-direction: row;
justify-content: space-around;
align-items: center;
width: 100%;
flex-grow: 1;
}
.demo-slot {
width: 450px;
height: 300px;
background-color: rgba(30, 30, 30, 0.9);
border-width: 1px;
border-color: rgba(80, 80, 80, 0.5);
border-radius: 4px;
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 722243587c45e1844ade364d3537c800
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/DemoShowcase.uss
uploadId: 857482
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<!--
EasyChart Demo Showcase
UI is dynamically built by DemoShowcaseController.
This UXML serves as the root container.
-->
</ui:UXML>
@@ -0,0 +1,17 @@
fileFormatVersion: 2
guid: 276ace212c400344bb998adc24c6c74d
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/DemoShowcase.uxml
uploadId: 857482
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f55615028f0b5b34899a650fad20427f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,353 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;
using EasyChart.Demo;
namespace EasyChart.Editor
{
[CustomEditor(typeof(DemoShowcaseController))]
public class DemoShowcaseControllerEditor : UnityEditor.Editor
{
private SerializedProperty _uiDocumentProp;
private SerializedProperty _demoProfilesProp;
private SerializedProperty _activeGroupProp;
private SerializedProperty _nextGroupKeyProp;
private SerializedProperty _prevGroupKeyProp;
private SerializedProperty _nextbuttonProp;
private SerializedProperty _lastbuttonProp;
private SerializedProperty _slotBackgroundColorProp;
private SerializedProperty _slotBorderColorProp;
private Vector2 _scrollPosition;
private Dictionary<int, bool> _groupFoldouts = new Dictionary<int, bool>();
private void OnEnable()
{
_uiDocumentProp = serializedObject.FindProperty("_uiDocument");
_demoProfilesProp = serializedObject.FindProperty("_demoProfiles");
_activeGroupProp = serializedObject.FindProperty("_activeGroup");
_nextGroupKeyProp = serializedObject.FindProperty("_nextGroupKey");
_prevGroupKeyProp = serializedObject.FindProperty("_prevGroupKey");
_nextbuttonProp = serializedObject.FindProperty("_nextbutton");
_lastbuttonProp = serializedObject.FindProperty("_lastbutton");
_slotBackgroundColorProp = serializedObject.FindProperty("_slotBackgroundColor");
_slotBorderColorProp = serializedObject.FindProperty("_slotBorderColor");
}
public override void OnInspectorGUI()
{
serializedObject.Update();
EditorGUILayout.PropertyField(_uiDocumentProp);
EditorGUILayout.Space(10);
EditorGUILayout.LabelField("Navigation Keys", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(_activeGroupProp);
EditorGUILayout.PropertyField(_nextGroupKeyProp);
EditorGUILayout.PropertyField(_prevGroupKeyProp);
EditorGUILayout.Space(10);
EditorGUILayout.LabelField("UGUI Navigation Buttons", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(_nextbuttonProp);
EditorGUILayout.PropertyField(_lastbuttonProp);
EditorGUILayout.Space(10);
EditorGUILayout.LabelField("Appearance", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(_slotBackgroundColorProp, new GUIContent("Slot Background"));
EditorGUILayout.PropertyField(_slotBorderColorProp, new GUIContent("Slot Border"));
EditorGUILayout.Space(15);
DrawDemoGrid();
serializedObject.ApplyModifiedProperties();
}
private void DrawDemoGrid()
{
int totalCount = _demoProfilesProp.arraySize;
int groupCount = Mathf.CeilToInt(totalCount / 16f);
if (groupCount == 0) groupCount = 1;
EditorGUILayout.LabelField($"Demo Profiles ({totalCount} total, {groupCount} groups)", EditorStyles.boldLabel);
// Load from folder button
EditorGUILayout.BeginHorizontal();
if (GUILayout.Button("Load from Folder (Recursive)", GUILayout.Height(25)))
{
LoadFromFolder();
}
if (GUILayout.Button("Add from Selection", GUILayout.Height(25)))
{
AddFromSelection();
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
if (GUILayout.Button("Clear All"))
{
if (EditorUtility.DisplayDialog("Clear All Demos", "Are you sure you want to clear all demo slots?", "Yes", "No"))
{
ClearArray(_demoProfilesProp);
}
}
if (GUILayout.Button("Remove Empty Slots"))
{
RemoveEmptySlots();
}
if (GUILayout.Button("+ Add 16 Slots"))
{
int newSize = _demoProfilesProp.arraySize + 16;
_demoProfilesProp.arraySize = newSize;
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.Space(10);
// Scrollable group list
_scrollPosition = EditorGUILayout.BeginScrollView(_scrollPosition, GUILayout.MaxHeight(400));
for (int g = 0; g < groupCount; g++)
{
int startIndex = g * 16;
int endIndex = Mathf.Min(startIndex + 16, totalCount);
if (!_groupFoldouts.ContainsKey(g))
{
_groupFoldouts[g] = g == 0;
}
// Group box
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
string groupLabel = $"Group {g + 1} (#{startIndex + 1} - #{endIndex})";
_groupFoldouts[g] = EditorGUILayout.Foldout(_groupFoldouts[g], groupLabel, true, EditorStyles.foldoutHeader);
if (_groupFoldouts[g])
{
EditorGUILayout.Space(3);
DrawGroupSlots(startIndex, endIndex);
}
EditorGUILayout.EndVertical();
EditorGUILayout.Space(5);
}
EditorGUILayout.EndScrollView();
}
private void LoadFromFolder()
{
string folderPath = EditorUtility.OpenFolderPanel("Select Folder with ChartProfiles", "Assets", "");
if (string.IsNullOrEmpty(folderPath)) return;
// Convert to relative path
if (folderPath.StartsWith(Application.dataPath))
{
folderPath = "Assets" + folderPath.Substring(Application.dataPath.Length);
}
else
{
EditorUtility.DisplayDialog("Error", "Please select a folder inside the Assets directory.", "OK");
return;
}
// Find all ChartProfile assets recursively
var guids = AssetDatabase.FindAssets("t:ChartProfile", new[] { folderPath });
if (guids.Length == 0)
{
EditorUtility.DisplayDialog("No Profiles Found", $"No ChartProfile assets found in:\n{folderPath}", "OK");
return;
}
var profiles = new List<ChartProfile>();
foreach (var guid in guids)
{
string assetPath = AssetDatabase.GUIDToAssetPath(guid);
var profile = AssetDatabase.LoadAssetAtPath<ChartProfile>(assetPath);
if (profile != null)
{
profiles.Add(profile);
}
}
// Sort by name
profiles = profiles.OrderBy(p => p.name).ToList();
// Ask user whether to replace or append
int choice = EditorUtility.DisplayDialogComplex(
"Load Profiles",
$"Found {profiles.Count} ChartProfile(s).\nHow would you like to add them?",
"Replace All",
"Cancel",
"Append"
);
if (choice == 1) return; // Cancel
if (choice == 0) // Replace
{
ClearArray(_demoProfilesProp);
}
int startIndex = _demoProfilesProp.arraySize;
_demoProfilesProp.arraySize = startIndex + profiles.Count;
for (int i = 0; i < profiles.Count; i++)
{
_demoProfilesProp.GetArrayElementAtIndex(startIndex + i).objectReferenceValue = profiles[i];
}
Debug.Log($"[DemoShowcase] Loaded {profiles.Count} ChartProfiles from {folderPath}");
}
private void AddFromSelection()
{
var selected = Selection.objects;
int addedCount = 0;
foreach (var obj in selected)
{
if (obj is ChartProfile profile)
{
// Check if already exists
bool exists = false;
for (int i = 0; i < _demoProfilesProp.arraySize; i++)
{
if (_demoProfilesProp.GetArrayElementAtIndex(i).objectReferenceValue == profile)
{
exists = true;
break;
}
}
if (!exists)
{
int index = _demoProfilesProp.arraySize;
_demoProfilesProp.arraySize = index + 1;
_demoProfilesProp.GetArrayElementAtIndex(index).objectReferenceValue = profile;
addedCount++;
}
}
}
if (addedCount > 0)
{
Debug.Log($"[DemoShowcase] Added {addedCount} ChartProfile(s) from selection");
}
}
private void RemoveEmptySlots()
{
for (int i = _demoProfilesProp.arraySize - 1; i >= 0; i--)
{
if (_demoProfilesProp.GetArrayElementAtIndex(i).objectReferenceValue == null)
{
DeleteArrayElement(_demoProfilesProp, i);
}
}
}
private void DeleteArrayElement(SerializedProperty arrayProp, int index)
{
if (index < 0 || index >= arrayProp.arraySize) return;
// If element is object reference and not null, first set to null
var element = arrayProp.GetArrayElementAtIndex(index);
if (element.propertyType == SerializedPropertyType.ObjectReference && element.objectReferenceValue != null)
{
element.objectReferenceValue = null;
}
arrayProp.DeleteArrayElementAtIndex(index);
}
private void ClearArray(SerializedProperty arrayProp)
{
// Clear all object references first to avoid Unity's quirk
for (int i = 0; i < arrayProp.arraySize; i++)
{
var element = arrayProp.GetArrayElementAtIndex(i);
if (element.propertyType == SerializedPropertyType.ObjectReference)
{
element.objectReferenceValue = null;
}
}
arrayProp.arraySize = 0;
}
private void DrawGroupSlots(int startIndex, int endIndex)
{
// Draw slots as a simple list (more reliable than grid in narrow inspector)
for (int i = startIndex; i < endIndex; i++)
{
if (i >= _demoProfilesProp.arraySize) break;
EditorGUILayout.BeginHorizontal();
EditorGUILayout.LabelField($"#{i + 1:D2}", GUILayout.Width(35));
var prop = _demoProfilesProp.GetArrayElementAtIndex(i);
EditorGUI.BeginChangeCheck();
var newValue = EditorGUILayout.ObjectField(
prop.objectReferenceValue,
typeof(ChartProfile),
false
) as ChartProfile;
if (EditorGUI.EndChangeCheck())
{
prop.objectReferenceValue = newValue;
}
// Move up/down buttons
EditorGUI.BeginDisabledGroup(i == 0);
if (GUILayout.Button("↑", GUILayout.Width(22)))
{
SwapElements(i, i - 1);
}
EditorGUI.EndDisabledGroup();
EditorGUI.BeginDisabledGroup(i >= _demoProfilesProp.arraySize - 1);
if (GUILayout.Button("↓", GUILayout.Width(22)))
{
SwapElements(i, i + 1);
}
EditorGUI.EndDisabledGroup();
// Delete button
if (GUILayout.Button("×", GUILayout.Width(22)))
{
DeleteArrayElement(_demoProfilesProp, i);
break;
}
EditorGUILayout.EndHorizontal();
}
}
private void SwapElements(int indexA, int indexB)
{
if (indexA < 0 || indexA >= _demoProfilesProp.arraySize) return;
if (indexB < 0 || indexB >= _demoProfilesProp.arraySize) return;
var tempA = _demoProfilesProp.GetArrayElementAtIndex(indexA).objectReferenceValue;
var tempB = _demoProfilesProp.GetArrayElementAtIndex(indexB).objectReferenceValue;
_demoProfilesProp.GetArrayElementAtIndex(indexA).objectReferenceValue = tempB;
_demoProfilesProp.GetArrayElementAtIndex(indexB).objectReferenceValue = tempA;
}
}
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: fe82113041e666549a856f62a79d6a23
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Editor/DemoShowcaseControllerEditor.cs
uploadId: 857482
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 49ba2358b6012e24d92016f11666a910
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because one or more lines are too long
@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 473c618f4b1abb244bca8a3b5090c54b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Font/NotoSansSC-Bold SDF.asset
uploadId: 857482
Binary file not shown.
@@ -0,0 +1,28 @@
fileFormatVersion: 2
guid: e861cde205a75e4488e254e1b46027c2
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Noto Sans SC
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Font/NotoSansSC-Bold.ttf
uploadId: 857482
+93
View File
@@ -0,0 +1,93 @@
Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
+14
View File
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 3d83164591307df44b764b905183c9c6
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Font/OFL.txt
uploadId: 857482
+71
View File
@@ -0,0 +1,71 @@
Noto Sans SC Variable Font
==========================
This download contains Noto Sans SC as both a variable font and static fonts.
Noto Sans SC is a variable font with this axis:
wght
This means all the styles are contained in a single file:
NotoSansSC-VariableFont_wght.ttf
If your app fully supports variable fonts, you can now pick intermediate styles
that arent available as static fonts. Not all apps support variable fonts, and
in those cases you can use the static font files for Noto Sans SC:
static/NotoSansSC-Thin.ttf
static/NotoSansSC-ExtraLight.ttf
static/NotoSansSC-Light.ttf
static/NotoSansSC-Regular.ttf
static/NotoSansSC-Medium.ttf
static/NotoSansSC-SemiBold.ttf
static/NotoSansSC-Bold.ttf
static/NotoSansSC-ExtraBold.ttf
static/NotoSansSC-Black.ttf
Get started
-----------
1. Install the font files you want to use
2. Use your app's font picker to view the font family and all the
available styles
Learn more about variable fonts
-------------------------------
https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
https://variablefonts.typenetwork.com
https://medium.com/variable-fonts
In desktop apps
https://theblog.adobe.com/can-variable-fonts-illustrator-cc
https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
Online
https://developers.google.com/fonts/docs/getting_started
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
Installing fonts
MacOS: https://support.apple.com/en-us/HT201749
Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
Android Apps
https://developers.google.com/fonts/docs/android
https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
License
-------
Please read the full license text (OFL.txt) to understand the permissions,
restrictions and requirements for usage, redistribution, and modification.
You can use them in your products & projects print or digital,
commercial or otherwise.
This isn't legal advice, please consider consulting a lawyer and see the full
license for all details.
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 4e52de816e8915241b979ad35e6a6034
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Font/README.txt
uploadId: 857482
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c94d7cbca9e195e44b84c4d622cab3d2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,915 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 3
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &165940892
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 165940893}
- component: {fileID: 165940895}
- component: {fileID: 165940894}
m_Layer: 0
m_Name: Image (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &165940893
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 165940892}
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: 983325460}
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}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &165940894
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 165940892}
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.6117647}
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!222 &165940895
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 165940892}
m_CullTransparentMesh: 1
--- !u!1 &185850779
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 185850782}
- component: {fileID: 185850781}
- component: {fileID: 185850780}
m_Layer: 0
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &185850780
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 185850779}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
m_Name:
m_EditorClassIdentifier:
m_SendPointerHoverToParent: 1
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
m_CancelButton: Cancel
m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5
m_ForceModuleActive: 0
--- !u!114 &185850781
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 185850779}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 10
--- !u!4 &185850782
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 185850779}
serializedVersion: 2
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: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &452337659
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 452337662}
- component: {fileID: 452337661}
- component: {fileID: 452337660}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &452337660
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 452337659}
m_Enabled: 1
--- !u!20 &452337661
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 452337659}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &452337662
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 452337659}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &458921292
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 458921293}
- component: {fileID: 458921295}
- component: {fileID: 458921294}
m_Layer: 0
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &458921293
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 458921292}
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: 983325460}
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}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &458921294
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 458921292}
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.6117647}
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!222 &458921295
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 458921292}
m_CullTransparentMesh: 1
--- !u!1 &511363267
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 511363269}
- component: {fileID: 511363268}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &511363268
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 511363267}
m_Enabled: 1
serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_UseViewFrustumForShadowCasterCull: 1
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &511363269
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 511363267}
serializedVersion: 2
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &749716176
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 749716177}
- component: {fileID: 749716179}
- component: {fileID: 749716178}
m_Layer: 0
m_Name: Text (Legacy)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &749716177
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 749716176}
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: 1260881657}
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}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &749716178
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 749716176}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 30
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 3
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Open Manual - Quick Start
--- !u!222 &749716179
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 749716176}
m_CullTransparentMesh: 1
--- !u!1 &841720714
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 841720716}
- component: {fileID: 841720715}
m_Layer: 5
m_Name: UIDocument
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &841720715
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 841720714}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_PanelSettings: {fileID: 11400000, guid: 1a25235bc8c178f4786ac2030a657ef2, type: 2}
m_ParentUI: {fileID: 0}
sourceAsset: {fileID: 9197481963319205126, guid: 0044bf39d4262e64c802d170043656ca, type: 3}
m_SortingOrder: 0
--- !u!4 &841720716
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 841720714}
serializedVersion: 2
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: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &983325456
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 983325460}
- component: {fileID: 983325459}
- component: {fileID: 983325458}
- component: {fileID: 983325457}
m_Layer: 0
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &983325457
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 983325456}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &983325458
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 983325456}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &983325459
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 983325456}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 1
m_Camera: {fileID: 452337661}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 0
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &983325460
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 983325456}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 458921293}
- {fileID: 165940893}
- {fileID: 1260881657}
m_Father: {fileID: 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, y: 0}
--- !u!1 &1260881656
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1260881657}
- component: {fileID: 1260881661}
- component: {fileID: 1260881660}
- component: {fileID: 1260881659}
- component: {fileID: 1260881658}
m_Layer: 0
m_Name: Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1260881657
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1260881656}
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: 749716177}
m_Father: {fileID: 983325460}
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: -9.353088}
m_SizeDelta: {x: 500, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1260881658
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1260881656}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6027d78feb02ca34897f4fd263102ea1, type: 3}
m_Name:
m_EditorClassIdentifier:
manualPage: 00_01-QuickStart
--- !u!114 &1260881659
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1260881656}
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: 1260881660}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1260881658}
m_TargetAssemblyTypeName: EasyChart.Samples.OpenManualExample, Assembly-CSharp
m_MethodName: OpenManual
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &1260881660
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1260881656}
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: 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!222 &1260881661
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1260881656}
m_CullTransparentMesh: 1
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 452337662}
- {fileID: 511363269}
- {fileID: 185850782}
- {fileID: 983325460}
- {fileID: 841720716}
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 92294998ad0aa714e8865fd0dca11d18
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Scenes/EasyChart_QuickStart.unity
uploadId: 857482
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 4708cf0e4b873674f8f0b7c979dedfc2
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Scenes/EasyChart_UGUI.unity
uploadId: 857482
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: b9b90bfac618c6c43855fa18d12700f0
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Scenes/EasyChart_UGUI_WorldSpace.unity
uploadId: 857482
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: ac1897d170ee5c44f9d74214761b89f2
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Scenes/EasyChart_UIToolKit.unity
uploadId: 857482
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 4db790a6a53e3744594b3042b2fd200b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Scenes/JsonInjection_UGUI.unity
uploadId: 857482
@@ -0,0 +1,918 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 3
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &185850779
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 185850782}
- component: {fileID: 185850781}
- component: {fileID: 185850780}
m_Layer: 0
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &185850780
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 185850779}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
m_Name:
m_EditorClassIdentifier:
m_SendPointerHoverToParent: 1
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
m_CancelButton: Cancel
m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5
m_ForceModuleActive: 0
--- !u!114 &185850781
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 185850779}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 10
--- !u!4 &185850782
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 185850779}
serializedVersion: 2
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: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &452337659
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 452337662}
- component: {fileID: 452337661}
- component: {fileID: 452337660}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &452337660
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 452337659}
m_Enabled: 1
--- !u!20 &452337661
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 452337659}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &452337662
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 452337659}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &458921292
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 458921293}
- component: {fileID: 458921295}
- component: {fileID: 458921294}
m_Layer: 0
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &458921293
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 458921292}
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: 983325460}
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}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &458921294
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 458921292}
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.7019608}
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!222 &458921295
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 458921292}
m_CullTransparentMesh: 1
--- !u!1 &511363267
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 511363269}
- component: {fileID: 511363268}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &511363268
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 511363267}
m_Enabled: 1
serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_UseViewFrustumForShadowCasterCull: 1
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &511363269
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 511363267}
serializedVersion: 2
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &917683847
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 917683848}
- component: {fileID: 917683851}
- component: {fileID: 917683850}
- component: {fileID: 917683849}
m_Layer: 0
m_Name: Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &917683848
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 917683847}
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: 1425841582}
m_Father: {fileID: 1796138274}
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: -80}
m_SizeDelta: {x: 600, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &917683849
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 917683847}
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: 917683850}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &917683850
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 917683847}
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: 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!222 &917683851
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 917683847}
m_CullTransparentMesh: 1
--- !u!1 &983325456
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 983325460}
- component: {fileID: 983325459}
- component: {fileID: 983325458}
- component: {fileID: 983325457}
m_Layer: 0
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &983325457
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 983325456}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &983325458
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 983325456}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &983325459
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 983325456}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 1
m_Camera: {fileID: 452337661}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 0
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &983325460
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 983325456}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 458921293}
- {fileID: 1796138274}
m_Father: {fileID: 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, y: 0}
--- !u!1 &1008875966
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1008875968}
- component: {fileID: 1008875967}
- component: {fileID: 1008875969}
m_Layer: 5
m_Name: UIDocument
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1008875967
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1008875966}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_PanelSettings: {fileID: 11400000, guid: 1a25235bc8c178f4786ac2030a657ef2, type: 2}
m_ParentUI: {fileID: 0}
sourceAsset: {fileID: 9197481963319205126, guid: 608d8db57ce9d8e4b96905ce8dda9cb8, type: 3}
m_SortingOrder: 0
--- !u!4 &1008875968
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1008875966}
serializedVersion: 2
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: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1008875969
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1008875966}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e1d49ceb73b792a4596308999e507c5a, type: 3}
m_Name:
m_EditorClassIdentifier:
_chartElementName: BarDemo 4
_exampleMode: 3
_datasMode: 1
_useApiEnvelope: 1
_autoGenerateJson: 1
_jsonContent: "{\n \"code\": 200,\n \"message\": \"success\",\n \"data\": {\n
\"chartName\": \"BarDemo 4\",\n \"series\": [\n {\n \"name\": \"Series
1\",\n \"datas\": [\n { \"x\": 0, \"value\": 10 },\n { \"x\":
1, \"value\": 20 },\n { \"x\": 2, \"value\": 15 },\n { \"x\": 3,
\"value\": 12 },\n { \"x\": 4, \"value\": 25 },\n { \"x\": 5, \"value\":
13 }\n ]\n },\n {\n \"name\": \"Serie 2\",\n \"datas\":
[\n { \"x\": 0, \"value\": 8.46 },\n { \"x\": 1, \"value\": 15.3
},\n { \"x\": 2, \"value\": 21.4 },\n { \"x\": 3, \"value\": 21.7
},\n { \"x\": 4, \"value\": 31.5 },\n { \"x\": 5, \"value\": 19.6
}\n ]\n },\n {\n \"name\": \"Serie 3\",\n \"datas\": [\n
{ \"x\": 0, \"value\": 13.35 },\n { \"x\": 1, \"value\": 18.81 },\n
{ \"x\": 2, \"value\": 20.7 },\n { \"x\": 3, \"value\": 29.5 },\n
{ \"x\": 4, \"value\": 19.38 },\n { \"x\": 5, \"value\": 25.8 }\n
]\n }\n ]\n}\n}"
--- !u!1 &1425841581
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1425841582}
- component: {fileID: 1425841584}
- component: {fileID: 1425841583}
m_Layer: 0
m_Name: Text (Legacy)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1425841582
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1425841581}
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: 917683848}
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}
m_SizeDelta: {x: 500, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1425841583
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1425841581}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 40
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 4
m_MaxSize: 50
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: UGUIRuntimeJsonInjection BUtton
--- !u!222 &1425841584
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1425841581}
m_CullTransparentMesh: 1
--- !u!1 &1796138273
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1796138274}
- component: {fileID: 1796138277}
- component: {fileID: 1796138278}
m_Layer: 0
m_Name: Examples
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1796138274
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1796138273}
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: 917683848}
m_Father: {fileID: 983325460}
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}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1796138277
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1796138273}
m_CullTransparentMesh: 1
--- !u!114 &1796138278
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1796138273}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 142f8686940936a45ad253d44c7cbcd0, type: 3}
m_Name:
m_EditorClassIdentifier:
_uguiJsonInjection: {fileID: 0}
_uiToolkitJsonInjection: {fileID: 1008875969}
_updateButton: {fileID: 917683849}
JsonData: "{\n \"code\": 200,\n \"message\": \"success\",\n \"data\": {\n \"chartName\":
\"BarDemo 3\",\n \"series\": [\n {\n \"name\": \"Series 1\",\n
\"datas\": [\n { \"x\": 0, \"value\": 50.3 },\n { \"x\": 1, \"value\":
32.2 },\n { \"x\": 2, \"value\": 31 },\n { \"x\": 3, \"value\":
25.17 },\n { \"x\": 4, \"value\": 27.2 }\n ]\n },\n {\n
\"name\": \"Serie 2\",\n \"datas\": [\n { \"x\": 0, \"value\": 17.28
},\n { \"x\": 1, \"value\": 24.5 },\n { \"x\": 2, \"value\": 24.61
},\n { \"x\": 3, \"value\": 25.85 },\n { \"x\": 4, \"value\": 22
}\n ]\n },\n {\n \"name\": \"Serie 3\",\n \"datas\": [\n
{ \"x\": 0, \"value\": 30 },\n { \"x\": 1, \"value\": 20 },\n {
\"x\": 2, \"value\": 20 },\n { \"x\": 3, \"value\": 15 },\n { \"x\":
4, \"value\": 22 }\n ]\n }\n ]\n}\n}"
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 452337662}
- {fileID: 511363269}
- {fileID: 1008875968}
- {fileID: 983325460}
- {fileID: 185850782}
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: b23266e9b3b0b274d9ed723cce0655d6
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Scenes/JsonInjection_UIToolKit.unity
uploadId: 857482
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e19ca8eb33dd58a458811a4d8eee9425
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,352 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
namespace EasyChart.Demo
{
/// <summary>
/// Controller for the EasyChart Demo Showcase.
/// Manages multiple groups of 16 demos each (4x4 grid).
/// </summary>
public class DemoShowcaseController : MonoBehaviour
{
public const int DemosPerGroup = 16;
[Header("UI Document")]
[SerializeField] private UIDocument _uiDocument;
[Header("Demo Profiles")]
[Tooltip("Drag ChartProfile assets here in the order you want them displayed")]
[SerializeField] private List<ChartProfile> _demoProfiles = new List<ChartProfile>();
[Header("Group Control")]
[Tooltip("Current active group index (0-based)")]
[SerializeField] private int _activeGroup = 0;
[Header("Navigation")]
[SerializeField] private KeyCode _nextGroupKey = KeyCode.RightArrow;
[SerializeField] private KeyCode _prevGroupKey = KeyCode.LeftArrow;
[Header("UGUI Navigation Buttons")]
[SerializeField] private UnityEngine.UI.Button _nextbutton;
[SerializeField] private UnityEngine.UI.Button _lastbutton;
[Header("Appearance")]
[SerializeField] private Color _slotBackgroundColor = new Color(0.12f, 0.12f, 0.12f, 0.9f);
[SerializeField] private Color _slotBorderColor = new Color(0.3f, 0.3f, 0.3f, 0.5f);
private VisualElement _root;
private VisualElement _groupContainer;
private List<VisualElement> _slots = new List<VisualElement>();
private List<ChartElement> _chartElements = new List<ChartElement>();
/// <summary>
/// Total number of groups based on demo count.
/// </summary>
public int GroupCount => Mathf.CeilToInt(_demoProfiles.Count / (float)DemosPerGroup);
/// <summary>
/// Current active group index.
/// </summary>
public int ActiveGroup => _activeGroup;
/// <summary>
/// Total demo count.
/// </summary>
public int DemoCount => _demoProfiles.Count;
private void OnEnable()
{
if (_uiDocument == null)
{
_uiDocument = GetComponent<UIDocument>();
}
if (_uiDocument != null)
{
_root = _uiDocument.rootVisualElement;
BuildUI();
ShowGroup(_activeGroup);
}
if (_nextbutton != null) _nextbutton.onClick.AddListener(OnNextButtonClicked);
if (_lastbutton != null) _lastbutton.onClick.AddListener(OnLastButtonClicked);
}
private void OnDisable()
{
if (_nextbutton != null) _nextbutton.onClick.RemoveListener(OnNextButtonClicked);
if (_lastbutton != null) _lastbutton.onClick.RemoveListener(OnLastButtonClicked);
}
private void OnNextButtonClicked()
{
int groupCount = GroupCount;
if (groupCount <= 1) return;
int next = (_activeGroup + 1) % groupCount;
ShowGroup(next);
}
private void OnLastButtonClicked()
{
int groupCount = GroupCount;
if (groupCount <= 1) return;
int prev = (_activeGroup - 1 + groupCount) % groupCount;
ShowGroup(prev);
}
private void Update()
{
int groupCount = GroupCount;
if (groupCount <= 1) return;
if (Input.GetKeyDown(_nextGroupKey))
{
int next = (_activeGroup + 1) % groupCount;
ShowGroup(next);
}
else if (Input.GetKeyDown(_prevGroupKey))
{
int prev = (_activeGroup - 1 + groupCount) % groupCount;
ShowGroup(prev);
}
// Number keys 1-9 for quick group access
for (int i = 0; i < Mathf.Min(9, groupCount); i++)
{
if (Input.GetKeyDown(KeyCode.Alpha1 + i))
{
ShowGroup(i);
break;
}
}
}
private void BuildUI()
{
if (_root == null) return;
_root.Clear();
_chartElements.Clear();
_slots.Clear();
// Create main container
_groupContainer = new VisualElement();
_groupContainer.name = "GroupContainer";
_groupContainer.style.width = Length.Percent(100);
_groupContainer.style.height = Length.Percent(100);
_groupContainer.style.flexDirection = FlexDirection.Column;
_groupContainer.style.justifyContent = Justify.SpaceAround;
_groupContainer.style.alignItems = Align.Center;
_groupContainer.style.paddingLeft = 25;
_groupContainer.style.paddingRight = 25;
_groupContainer.style.paddingTop = 25;
_groupContainer.style.paddingBottom = 25;
_root.Add(_groupContainer);
// Build 4x4 grid (16 slots)
for (int row = 0; row < 4; row++)
{
var rowElement = new VisualElement();
rowElement.name = $"Row{row}";
rowElement.style.flexDirection = FlexDirection.Row;
rowElement.style.justifyContent = Justify.SpaceAround;
rowElement.style.alignItems = Align.Center;
rowElement.style.width = Length.Percent(100);
rowElement.style.flexGrow = 1;
_groupContainer.Add(rowElement);
for (int col = 0; col < 4; col++)
{
var slot = new VisualElement();
slot.name = $"Slot{row * 4 + col}";
slot.style.width = 450;
slot.style.height = 300;
slot.style.backgroundColor = _slotBackgroundColor;
slot.style.borderTopWidth = 1;
slot.style.borderBottomWidth = 1;
slot.style.borderLeftWidth = 1;
slot.style.borderRightWidth = 1;
slot.style.borderTopColor = _slotBorderColor;
slot.style.borderBottomColor = _slotBorderColor;
slot.style.borderLeftColor = _slotBorderColor;
slot.style.borderRightColor = _slotBorderColor;
slot.style.borderTopLeftRadius = 4;
slot.style.borderTopRightRadius = 4;
slot.style.borderBottomLeftRadius = 4;
slot.style.borderBottomRightRadius = 4;
rowElement.Add(slot);
_slots.Add(slot);
var chartElement = new ChartElement();
chartElement.style.width = Length.Percent(100);
chartElement.style.height = Length.Percent(100);
slot.Add(chartElement);
_chartElements.Add(chartElement);
}
}
// Add group indicator label
var groupLabel = new Label();
groupLabel.name = "GroupLabel";
groupLabel.style.position = Position.Absolute;
groupLabel.style.bottom = 10;
groupLabel.style.right = 20;
groupLabel.style.fontSize = 14;
groupLabel.style.color = new Color(0.7f, 0.7f, 0.7f);
_root.Add(groupLabel);
}
/// <summary>
/// Show the specified group.
/// </summary>
public void ShowGroup(int groupIndex)
{
int groupCount = GroupCount;
if (groupCount == 0)
{
_activeGroup = 0;
ClearAllSlots();
UpdateGroupLabel();
return;
}
int clampedGroup = Mathf.Clamp(groupIndex, 0, groupCount - 1);
_activeGroup = clampedGroup;
int startIndex = _activeGroup * DemosPerGroup;
for (int i = 0; i < DemosPerGroup; i++)
{
var slot = i < _slots.Count ? _slots[i] : null;
if (slot == null) continue;
int profileIndex = startIndex + i;
ChartProfile profile = profileIndex < _demoProfiles.Count ? _demoProfiles[profileIndex] : null;
var chart = new ChartElement();
chart.style.width = Length.Percent(100);
chart.style.height = Length.Percent(100);
chart.Profile = profile;
slot.Clear();
slot.Add(chart);
if (i < _chartElements.Count) _chartElements[i] = chart;
}
UpdateGroupLabel();
}
private void ClearAllSlots()
{
for (int i = 0; i < _slots.Count; i++)
{
var slot = _slots[i];
if (slot == null) continue;
var chart = new ChartElement();
chart.style.width = Length.Percent(100);
chart.style.height = Length.Percent(100);
slot.Clear();
slot.Add(chart);
if (i < _chartElements.Count) _chartElements[i] = chart;
}
}
private void UpdateGroupLabel()
{
var label = _root?.Q<Label>("GroupLabel");
if (label != null)
{
int groupCount = GroupCount;
if (groupCount > 1)
{
label.text = $"Group {_activeGroup + 1} / {groupCount} (← → to navigate)";
label.style.display = DisplayStyle.Flex;
}
else
{
label.style.display = DisplayStyle.None;
}
}
}
/// <summary>
/// Swap two demo positions.
/// </summary>
public void SwapDemos(int indexA, int indexB)
{
if (indexA < 0 || indexA >= _demoProfiles.Count) return;
if (indexB < 0 || indexB >= _demoProfiles.Count) return;
var temp = _demoProfiles[indexA];
_demoProfiles[indexA] = _demoProfiles[indexB];
_demoProfiles[indexB] = temp;
ShowGroup(_activeGroup);
}
/// <summary>
/// Set a specific demo at a position.
/// </summary>
public void SetDemo(int index, ChartProfile profile)
{
if (index < 0) return;
while (_demoProfiles.Count <= index)
{
_demoProfiles.Add(null);
}
_demoProfiles[index] = profile;
ShowGroup(_activeGroup);
}
/// <summary>
/// Add profiles to the list.
/// </summary>
public void AddProfiles(IEnumerable<ChartProfile> profiles)
{
foreach (var p in profiles)
{
if (p != null && !_demoProfiles.Contains(p))
{
_demoProfiles.Add(p);
}
}
ShowGroup(_activeGroup);
}
/// <summary>
/// Clear all profiles.
/// </summary>
public void ClearProfiles()
{
_demoProfiles.Clear();
_activeGroup = 0;
ShowGroup(0);
}
/// <summary>
/// Refresh current group display.
/// </summary>
public void RefreshCurrentGroup()
{
ShowGroup(_activeGroup);
}
#if UNITY_EDITOR
/// <summary>
/// Editor access to demo profiles list.
/// </summary>
public List<ChartProfile> DemoProfiles => _demoProfiles;
#endif
}
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: d6a4de88929cc02498d651df046337bc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Scripts/DemoShowcaseController.cs
uploadId: 857482
@@ -0,0 +1,100 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace EasyChart.Demo
{
public class ExamplesChildSwitcher : MonoBehaviour
{
[SerializeField] private Transform _examples;
[SerializeField] private Button _nextButton;
[SerializeField] private Button _lastButton;
private readonly List<GameObject> _children = new List<GameObject>();
private int _index;
private void OnEnable()
{
RefreshChildren();
if (_nextButton != null) _nextButton.onClick.AddListener(Next);
if (_lastButton != null) _lastButton.onClick.AddListener(Last);
ApplyActive();
}
private void OnDisable()
{
if (_nextButton != null) _nextButton.onClick.RemoveListener(Next);
if (_lastButton != null) _lastButton.onClick.RemoveListener(Last);
}
public void RefreshChildren()
{
_children.Clear();
if (_examples == null) return;
for (int i = 0; i < _examples.childCount; i++)
{
var child = _examples.GetChild(i);
if (child == null) continue;
_children.Add(child.gameObject);
}
if (_children.Count == 0)
{
_index = 0;
return;
}
int activeIndex = -1;
for (int i = 0; i < _children.Count; i++)
{
if (_children[i] != null && _children[i].activeSelf)
{
activeIndex = i;
break;
}
}
_index = activeIndex >= 0 ? activeIndex : 0;
}
public void Show(int index)
{
if (_children.Count == 0) return;
_index = ((index % _children.Count) + _children.Count) % _children.Count;
ApplyActive();
}
private void Next()
{
if (_children.Count == 0) return;
_index = (_index + 1) % _children.Count;
ApplyActive();
}
private void Last()
{
if (_children.Count == 0) return;
_index = (_index - 1 + _children.Count) % _children.Count;
ApplyActive();
}
private void ApplyActive()
{
if (_children.Count == 0) return;
for (int i = 0; i < _children.Count; i++)
{
var go = _children[i];
if (go == null) continue;
go.SetActive(i == _index);
}
}
}
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 355f5a1487e0ad648a481ce49950d1b7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Scripts/ExamplesChildSwitcher.cs
uploadId: 857482
@@ -0,0 +1,146 @@
using UnityEngine;
using UnityEngine.UI;
using EasyChart.UGUI;
using EasyChart.UIToolKit;
namespace EasyChart.Samples
{
/// <summary>
/// Simple example demonstrating how to use UGUIRuntimeJsonInjection or UIToolKitRuntimeJsonInjection
/// to update chart data via code. Attach this script to a GameObject with a Button.
/// </summary>
public class JsonInjectionExample : MonoBehaviour
{
[Header("References (assign one)")]
[Tooltip("Reference to the UGUIRuntimeJsonInjection component on the chart (for UGUI)")]
[SerializeField] private UGUIRuntimeJsonInjection _uguiJsonInjection;
[Tooltip("Reference to the UIToolKitRuntimeJsonInjection component on the chart (for UI Toolkit)")]
[SerializeField] private UIToolKitRuntimeJsonInjection _uiToolkitJsonInjection;
[Tooltip("Optional: Button to trigger the update. If not set, will try to get from this GameObject.")]
[SerializeField] private Button _updateButton;
[Header("Sample JSON Data")]
[Tooltip("The JSON data to inject into the chart when button is clicked")]
[TextArea(10, 20)]
public string JsonData = @"{
""series"": [
{
""name"": ""Sales"",
""data"": [
{ ""x"": 0, ""value"": 120 },
{ ""x"": 1, ""value"": 200 },
{ ""x"": 2, ""value"": 150 },
{ ""x"": 3, ""value"": 80 },
{ ""x"": 4, ""value"": 170 }
]
}
]
}";
private void Start()
{
// Auto-get button if not assigned
if (_updateButton == null)
{
_updateButton = GetComponent<Button>();
}
// Register button click listener
if (_updateButton != null)
{
_updateButton.onClick.AddListener(OnUpdateButtonClicked);
}
else
{
Debug.LogWarning("[JsonInjectionExample] No Button found. Call UpdateChart() manually.");
}
}
private void OnDestroy()
{
if (_updateButton != null)
{
_updateButton.onClick.RemoveListener(OnUpdateButtonClicked);
}
}
/// <summary>
/// Called when the update button is clicked.
/// </summary>
private void OnUpdateButtonClicked()
{
UpdateChart();
}
/// <summary>
/// Update the chart with the current JsonData.
/// Can be called from code or UnityEvent.
/// </summary>
public void UpdateChart()
{
if (string.IsNullOrWhiteSpace(JsonData))
{
Debug.LogWarning("[JsonInjectionExample] JsonData is empty.");
return;
}
// Try UGUI injection first
if (_uguiJsonInjection != null)
{
_uguiJsonInjection.JsonContent = JsonData;
_uguiJsonInjection.ApplyJsonToChart();
Debug.Log("[JsonInjectionExample] Chart updated via UGUIRuntimeJsonInjection.");
return;
}
// Try UI Toolkit injection
if (_uiToolkitJsonInjection != null)
{
_uiToolkitJsonInjection.JsonContent = JsonData;
_uiToolkitJsonInjection.ApplyJsonToChart();
Debug.Log("[JsonInjectionExample] Chart updated via UIToolKitRuntimeJsonInjection.");
return;
}
Debug.LogError("[JsonInjectionExample] No injection component reference is set. Assign either UGUIRuntimeJsonInjection or UIToolKitRuntimeJsonInjection.");
}
/// <summary>
/// Example: Update chart with random data (can be called from button or code).
/// </summary>
public void UpdateChartWithRandomData()
{
// Generate random data
string randomJson = GenerateRandomJson();
JsonData = randomJson;
UpdateChart();
}
private string GenerateRandomJson()
{
var sb = new System.Text.StringBuilder();
sb.AppendLine("{");
sb.AppendLine(" \"series\": [");
sb.AppendLine(" {");
sb.AppendLine(" \"name\": \"Random Data\",");
sb.AppendLine(" \"data\": [");
int pointCount = Random.Range(4, 8);
for (int i = 0; i < pointCount; i++)
{
int value = Random.Range(50, 200);
string comma = i < pointCount - 1 ? "," : "";
sb.AppendLine($" {{ \"x\": {i}, \"value\": {value} }}{comma}");
}
sb.AppendLine(" ]");
sb.AppendLine(" }");
sb.AppendLine(" ]");
sb.AppendLine("}");
return sb.ToString();
}
}
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 142f8686940936a45ad253d44c7cbcd0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Scripts/JsonInjectionExample.cs
uploadId: 857482
@@ -0,0 +1,40 @@
using UnityEngine;
namespace EasyChart.Samples
{
/// <summary>
/// Example script that opens the EasyChart manual in the default browser when clicked.
/// Attach this to a UI Button or call OpenManual() from your own code.
/// </summary>
public class OpenManualExample : MonoBehaviour
{
[Tooltip("The manual page to open (e.g., '00_01-QuickStart')")]
public string manualPage = "00_01-QuickStart";
/// <summary>
/// Opens the EasyChart manual in the default browser.
/// Call this from a UI Button's OnClick event.
/// </summary>
public void OpenManual()
{
string manualPath = System.IO.Path.GetFullPath(
System.IO.Path.Combine(Application.dataPath, "EasyChart/Docs/ManualWeb/manual.html")
);
string url = $"file:///{manualPath.Replace("\\", "/")}#/{manualPage}";
Debug.Log($"[OpenManualExample] Opening manual: {url}");
Application.OpenURL(url);
}
/// <summary>
/// Opens the manual to a specific page.
/// </summary>
/// <param name="page">The page name without extension (e.g., "00_01-QuickStart")</param>
public void OpenManualPage(string page)
{
manualPage = page;
OpenManual();
}
}
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 6027d78feb02ca34897f4fd263102ea1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/Scripts/OpenManualExample.cs
uploadId: 857482
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: dffa0b288eb96644cb9cc343d2c5879d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,32 @@
/* EasyChart Demo Showcase Styles */
/* Screen: 1950x1300, Demo: 450x300, Grid: 4x4 */
.demo-group {
width: 100%;
height: 100%;
flex-direction: column;
justify-content: space-around;
align-items: center;
padding: 25px;
}
.demo-group.hidden {
display: none;
}
.demo-row {
flex-direction: row;
justify-content: space-around;
align-items: center;
width: 100%;
flex-grow: 1;
}
.demo-slot {
width: 450px;
height: 300px;
background-color: rgba(30, 30, 30, 0.9);
border-width: 1px;
border-color: rgba(80, 80, 80, 0.5);
border-radius: 4px;
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 2f791a668f4b9c2469cb039c37cab11d
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/UIToolKit/DemoShowcase.uss
uploadId: 857482
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<!--
EasyChart Demo Showcase
UI is dynamically built by DemoShowcaseController.
This UXML serves as the root container.
-->
</ui:UXML>
@@ -0,0 +1,17 @@
fileFormatVersion: 2
guid: 6edfcfec44a694141a2ed7630589bf0e
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/UIToolKit/DemoShowcase.uxml
uploadId: 857482
@@ -0,0 +1,4 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<ui:Template name="BarDemo 4" src="project://database/Assets/EasyChart/LibraryUxml/EasyChartFreeDemo/Bar/BarDemo%204.uxml?fileID=9197481963319205126&amp;guid=a75432bdc682efe45b754348f0f0b882&amp;type=3#BarDemo 4" />
<ui:Instance template="BarDemo 4" name="BarDemo 4" style="opacity: 1; position: relative; left: auto; top: 200px; right: auto; flex-direction: column; flex-wrap: nowrap; align-items: center; flex-basis: auto; width: auto; height: auto; overflow: visible; align-self: auto; justify-content: space-between; flex-shrink: 1; flex-grow: 0; -unity-font: url(&quot;project://database/Library/unity%20default%20resources?fileID=10102&amp;guid=0000000000000000e000000000000000&amp;type=0#LegacyRuntime&quot;); transform-origin: center;" />
</ui:UXML>
@@ -0,0 +1,17 @@
fileFormatVersion: 2
guid: 608d8db57ce9d8e4b96905ce8dda9cb8
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/UIToolKit/JsonInjectionExample.uxml
uploadId: 857482
@@ -0,0 +1,22 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<ui:Template name="PieDemo 1" src="project://database/Assets/EasyChart/LibraryUxml/EasyChartFreeDemo/Pie/PieDemo%201.uxml?fileID=9197481963319205126&amp;guid=b6893e9dfde1ca944bfc01b0f2a3fe66&amp;type=3#PieDemo 1" />
<ui:Template name="BarDemo 6" src="project://database/Assets/EasyChart/LibraryUxml/EasyChartFreeDemo/Bar/BarDemo%206.uxml?fileID=9197481963319205126&amp;guid=895de91df190ccb4297ff0fecb8598a1&amp;type=3#BarDemo 6" />
<ui:Template name="MixDemo 1" src="project://database/Assets/EasyChart/LibraryUxml/EasyChartFreeDemo/Mix/MixDemo%201.uxml?fileID=9197481963319205126&amp;guid=0ad11053c5a32264cb176122a8967343&amp;type=3#MixDemo 1" />
<ui:Template name="ScatterDemo 1" src="project://database/Assets/EasyChart/LibraryUxml/EasyChartFreeDemo/Scatter/ScatterDemo%201.uxml?fileID=9197481963319205126&amp;guid=bba1e4c05bce1564cb8c1964fd57689d&amp;type=3#ScatterDemo 1" />
<ui:Template name="Line 3" src="project://database/Assets/EasyChart/LibraryUxml/EasyChartFreeDemo/Line/Line%203.uxml?fileID=9197481963319205126&amp;guid=28985a4482c94004fb2c4a161021213f&amp;type=3#Line 3" />
<ui:Template name="MixDemo" src="project://database/Assets/EasyChart/LibraryUxml/EasyChartFreeDemo/Mix/MixDemo.uxml?fileID=9197481963319205126&amp;guid=2c00c8e081864ad489da071129432457&amp;type=3#MixDemo" />
<ui:Template name="PieDemo 5" src="project://database/Assets/EasyChart/LibraryUxml/EasyChartFreeDemo/Pie/PieDemo%205.uxml?fileID=9197481963319205126&amp;guid=9f95abc9f9a9e2143acd2fb1054a15a8&amp;type=3#PieDemo 5" />
<ui:Template name="ScatterDemo" src="project://database/Assets/EasyChart/LibraryUxml/EasyChartFreeDemo/Scatter/ScatterDemo.uxml?fileID=9197481963319205126&amp;guid=16da5bc8851b7064d909ca38cd2c30be&amp;type=3#ScatterDemo" />
<ui:VisualElement name="Left" style="flex-grow: 1; right: auto; position: absolute; top: auto; bottom: auto; justify-content: flex-start; align-self: flex-start; align-items: auto; height: 100%;">
<ui:Instance template="PieDemo 1" name="PieDemo 1" />
<ui:Instance template="BarDemo 6" name="BarDemo 6" />
<ui:Instance template="MixDemo 1" name="MixDemo 1" />
<ui:Instance template="ScatterDemo 1" name="ScatterDemo 1" />
</ui:VisualElement>
<ui:VisualElement name="Right" style="flex-grow: 1; position: absolute; align-items: auto; align-self: flex-end; justify-content: flex-start; flex-direction: column; flex-wrap: nowrap; height: 100%;">
<ui:Instance template="Line 3" name="Line 3" />
<ui:Instance template="MixDemo" name="MixDemo" />
<ui:Instance template="PieDemo 5" name="PieDemo 5" />
<ui:Instance template="ScatterDemo" name="ScatterDemo" />
</ui:VisualElement>
</ui:UXML>
@@ -0,0 +1,17 @@
fileFormatVersion: 2
guid: 0044bf39d4262e64c802d170043656ca
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/UIToolKit/QuickStart UXML.uxml
uploadId: 857482
@@ -0,0 +1,35 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 19103, guid: 0000000000000000e000000000000000, type: 0}
m_Name: UITK Text Settings
m_EditorClassIdentifier:
m_Version:
m_DefaultFontAsset: {fileID: 11400000, guid: 473c618f4b1abb244bca8a3b5090c54b, type: 2}
m_DefaultFontAssetPath: Fonts & Materials/
m_FallbackFontAssets: []
m_MatchMaterialPreset: 0
m_MissingCharacterUnicode: 0
m_ClearDynamicDataOnBuild: 1
m_DefaultSpriteAsset: {fileID: 0}
m_DefaultSpriteAssetPath: Sprite Assets/
m_FallbackSpriteAssets: []
m_MissingSpriteCharacterUnicode: 0
m_DefaultStyleSheet: {fileID: 0}
m_StyleSheetsResourcePath: Text Style Sheets/
m_DefaultColorGradientPresetsPath: Text Color Gradients/
m_UnicodeLineBreakingRules:
m_UnicodeLineBreakingRules: {fileID: 0}
m_LeadingCharacters: {fileID: 0}
m_FollowingCharacters: {fileID: 0}
m_UseModernHangulLineBreakingRules: 0
m_UseModernHangulLineBreakingRules: 0
m_DisplayWarnings: 0
@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 0f3bdf2e866c8ba4f888ef1aee469463
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 359794
packageName: Easy Chart Lite
packageVersion: 1.0
assetPath: Assets/EasyChart/Demo/UIToolKit/UITK Text Settings.asset
uploadId: 857482