Implement ruleset config browser.
This commit is contained in:
26
Assets/Cryville/Crtr/Browsing/Actions/OpenConfigAction.cs
Normal file
26
Assets/Cryville/Crtr/Browsing/Actions/OpenConfigAction.cs
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
using Cryville.Crtr.Browsing.UI;
|
||||||
|
using Cryville.Crtr.UI;
|
||||||
|
using System;
|
||||||
|
using Object = UnityEngine.Object;
|
||||||
|
|
||||||
|
namespace Cryville.Crtr.Browsing.Actions {
|
||||||
|
internal class OpenConfigAction : ResourceAction<ChartDetail> {
|
||||||
|
public override string Name { get { return "Config"; } }
|
||||||
|
|
||||||
|
public override int Priority { get { return -50; } }
|
||||||
|
|
||||||
|
public override void Invoke(Uri uri, ChartDetail resource) {
|
||||||
|
var master = ResourceBrowserMaster.Instance;
|
||||||
|
var browser = Object.Instantiate(master.m_configBrowserPrefab).GetComponent<RulesetConfigBrowser>();
|
||||||
|
try {
|
||||||
|
browser.Load(resource.Meta.ruleset);
|
||||||
|
}
|
||||||
|
catch (Exception ex) {
|
||||||
|
Dialog.Show(null, ex.Message);
|
||||||
|
Game.MainLogger.Log(4, "Config", "An error occurred while loading the config: {0}", ex);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
master.AddAndOpenTab(string.Format("Config: {0}", resource.Meta.ruleset), browser);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: bad1f43573d4f1143a94fddddd30fb81
|
guid: 7cf0a29d123b05b4eb8dcc415c235a10
|
||||||
MonoImporter:
|
MonoImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
@@ -1,13 +1,10 @@
|
|||||||
using Cryville.Common.Unity;
|
using Cryville.Common.Unity;
|
||||||
using Cryville.Crtr.Browsing.Actions;
|
using Cryville.Crtr.Browsing.Actions;
|
||||||
using Cryville.Crtr.Config.UI;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Cryville.Crtr.Browsing.UI {
|
namespace Cryville.Crtr.Browsing.UI {
|
||||||
public class ResourceBrowserMaster : SingletonBehaviour<ResourceBrowserMaster> {
|
public class ResourceBrowserMaster : SingletonBehaviour<ResourceBrowserMaster> {
|
||||||
[SerializeField]
|
|
||||||
ConfigPanelMaster m_configPanel;
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
Transform m_tabContainer;
|
Transform m_tabContainer;
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
@@ -15,10 +12,13 @@ namespace Cryville.Crtr.Browsing.UI {
|
|||||||
[SerializeField]
|
[SerializeField]
|
||||||
Transform m_browserContainer;
|
Transform m_browserContainer;
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
GameObject m_pathedBrowserPrefab;
|
|
||||||
[SerializeField]
|
|
||||||
SettingsBrowser m_settingsBrowser;
|
SettingsBrowser m_settingsBrowser;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
internal GameObject m_pathedBrowserPrefab;
|
||||||
|
[SerializeField]
|
||||||
|
internal GameObject m_configBrowserPrefab;
|
||||||
|
|
||||||
BrowserTab _currentTab;
|
BrowserTab _currentTab;
|
||||||
readonly Dictionary<BrowserTab, ResourceBrowser> _tabs = new Dictionary<BrowserTab, ResourceBrowser>();
|
readonly Dictionary<BrowserTab, ResourceBrowser> _tabs = new Dictionary<BrowserTab, ResourceBrowser>();
|
||||||
|
|
||||||
@@ -30,22 +30,24 @@ namespace Cryville.Crtr.Browsing.UI {
|
|||||||
Actions = new ActionManager();
|
Actions = new ActionManager();
|
||||||
Actions.Changed += OnActionsChanged;
|
Actions.Changed += OnActionsChanged;
|
||||||
Actions.Register(new PlayChartAction());
|
Actions.Register(new PlayChartAction());
|
||||||
|
Actions.Register(new OpenConfigAction());
|
||||||
|
|
||||||
OnTabClicked(AddPathedBrowserTab("Local", new LegacyResourceManager(Settings.Default.GameDataPath)));
|
OnTabClicked(AddPathedBrowserTab("Local", new LegacyResourceManager(Settings.Default.GameDataPath)));
|
||||||
AddPathedBrowserTab("Files", new FileSystemResourceManager());
|
AddPathedBrowserTab("Files", new FileSystemResourceManager());
|
||||||
AddTab("Settings", m_settingsBrowser);
|
AddTab("Settings", m_settingsBrowser, _tabs.Count, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
BrowserTab AddPathedBrowserTab(string name, IPathedResourceManager<IResourceMeta> manager) {
|
BrowserTab AddPathedBrowserTab(string name, IPathedResourceManager<IResourceMeta> manager) {
|
||||||
var browser = Instantiate(m_pathedBrowserPrefab, m_browserContainer, false).GetComponent<PathedResourceBrowser>();
|
var browser = Instantiate(m_pathedBrowserPrefab, m_browserContainer, false).GetComponent<PathedResourceBrowser>();
|
||||||
browser.Init(this, manager);
|
browser.Init(this, manager);
|
||||||
return AddTab(name, browser);
|
return AddTab(name, browser, _tabs.Count, false);
|
||||||
}
|
}
|
||||||
|
BrowserTab AddTab(string name, ResourceBrowser browser, int index, bool closable) {
|
||||||
BrowserTab AddTab(string name, ResourceBrowser browser) {
|
|
||||||
var tab = Instantiate(m_tabPrefab, m_tabContainer, false).GetComponent<BrowserTab>();
|
var tab = Instantiate(m_tabPrefab, m_tabContainer, false).GetComponent<BrowserTab>();
|
||||||
|
tab.transform.SetSiblingIndex(index);
|
||||||
tab.Icon = browser.Icon;
|
tab.Icon = browser.Icon;
|
||||||
tab.Text = name;
|
tab.Text = name;
|
||||||
|
tab.Closable = closable;
|
||||||
tab.Clicked += OnTabClicked;
|
tab.Clicked += OnTabClicked;
|
||||||
tab.Closed += OnTabClosed;
|
tab.Closed += OnTabClosed;
|
||||||
browser.gameObject.SetActive(false);
|
browser.gameObject.SetActive(false);
|
||||||
@@ -53,6 +55,11 @@ namespace Cryville.Crtr.Browsing.UI {
|
|||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AddAndOpenTab(string name, ResourceBrowser browser) {
|
||||||
|
browser.transform.SetParent(m_browserContainer, false);
|
||||||
|
OnTabClicked(AddTab(name, browser, _currentTab.transform.GetSiblingIndex() + 1, true));
|
||||||
|
}
|
||||||
|
|
||||||
void OnTabClicked(BrowserTab tab) {
|
void OnTabClicked(BrowserTab tab) {
|
||||||
if (tab == _currentTab) return;
|
if (tab == _currentTab) return;
|
||||||
if (_currentTab != null) {
|
if (_currentTab != null) {
|
||||||
|
97
Assets/Cryville/Crtr/Browsing/UI/RulesetConfigBrowser.cs
Normal file
97
Assets/Cryville/Crtr/Browsing/UI/RulesetConfigBrowser.cs
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
using Cryville.Crtr.Browsing.Actions;
|
||||||
|
using Cryville.Crtr.Config;
|
||||||
|
using Cryville.Crtr.Config.UI;
|
||||||
|
using Cryville.Crtr.Ruleset;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
using System.Text;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Cryville.Crtr.Browsing.UI {
|
||||||
|
internal class RulesetConfigBrowser : ResourceBrowser {
|
||||||
|
[SerializeField]
|
||||||
|
Transform m_content;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
PropertyMasterPanel m_genericConfigPanel;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
PropertyMasterPanel m_rulesetConfigPanel;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
InputConfigPanel m_inputConfigPanel;
|
||||||
|
|
||||||
|
public RulesetDefinition ruleset;
|
||||||
|
RulesetConfig _rscfg;
|
||||||
|
|
||||||
|
bool _loaded;
|
||||||
|
|
||||||
|
public void Load(string rulesetName) {
|
||||||
|
FileInfo file = new FileInfo(Path.Combine(
|
||||||
|
Game.GameDataPath, "rulesets", rulesetName, ".umgr"
|
||||||
|
));
|
||||||
|
if (!file.Exists) {
|
||||||
|
throw new FileNotFoundException("Ruleset for the chart not found\nMake sure you have imported the ruleset");
|
||||||
|
}
|
||||||
|
DirectoryInfo dir = file.Directory;
|
||||||
|
using (StreamReader reader = new StreamReader(file.FullName, Encoding.UTF8)) {
|
||||||
|
ruleset = JsonConvert.DeserializeObject<RulesetDefinition>(reader.ReadToEnd(), new JsonSerializerSettings() {
|
||||||
|
MissingMemberHandling = MissingMemberHandling.Error
|
||||||
|
});
|
||||||
|
if (ruleset.format != RulesetDefinition.CURRENT_FORMAT) throw new FormatException("Invalid ruleset file version");
|
||||||
|
ruleset.LoadPdt(dir);
|
||||||
|
}
|
||||||
|
FileInfo cfgfile = new FileInfo(Path.Combine(
|
||||||
|
Game.GameDataPath, "config", "rulesets", rulesetName + ".json"
|
||||||
|
));
|
||||||
|
if (!cfgfile.Exists) {
|
||||||
|
if (!cfgfile.Directory.Exists) cfgfile.Directory.Create();
|
||||||
|
_rscfg = new RulesetConfig();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
using (StreamReader cfgreader = new StreamReader(cfgfile.FullName, Encoding.UTF8)) {
|
||||||
|
_rscfg = JsonConvert.DeserializeObject<RulesetConfig>(cfgreader.ReadToEnd(), new JsonSerializerSettings() {
|
||||||
|
MissingMemberHandling = MissingMemberHandling.Error
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_genericConfigPanel.Adapter = new DefaultPropertyMasterAdapter(_rscfg.generic);
|
||||||
|
m_rulesetConfigPanel.Adapter = new RulesetConfigPropertyMasterAdapter(ruleset.Root.configs, _rscfg.configs);
|
||||||
|
|
||||||
|
//var proxy = new InputProxy(ruleset.Root, null, new Vector2(Screen.width, Screen.height));
|
||||||
|
//proxy.LoadFrom(_rscfg.inputs);
|
||||||
|
//m_inputConfigPanel.proxy = proxy;
|
||||||
|
|
||||||
|
//m_inputConfigPanel.OnConfigEnable();
|
||||||
|
|
||||||
|
_loaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SwitchCategory(GameObject cat) {
|
||||||
|
foreach (Transform c in m_content) {
|
||||||
|
c.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
cat.SetActive(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnDisable() {
|
||||||
|
if (_loaded) {
|
||||||
|
//m_inputConfigPanel.proxy.SaveTo(_rscfg.inputs);
|
||||||
|
//m_inputConfigPanel.proxy.Dispose();
|
||||||
|
//FileInfo cfgfile = new FileInfo(Path.Combine(
|
||||||
|
// Game.GameDataPath, "config", "rulesets", Settings.Default.LoadRulesetConfig
|
||||||
|
//));
|
||||||
|
//using (StreamWriter cfgwriter = new StreamWriter(cfgfile.FullName, false, Encoding.UTF8)) {
|
||||||
|
// cfgwriter.Write(JsonConvert.SerializeObject(_rscfg, Game.GlobalJsonSerializerSettings));
|
||||||
|
//}
|
||||||
|
//m_inputConfigPanel.OnConfigDisable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnItemClicked(int index) { }
|
||||||
|
public override void InvokeAction(IResourceAction action) { }
|
||||||
|
internal override void OnActionsChanged() { }
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5924b4578abdaa9408c725b603d53cc9
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -8,10 +8,11 @@ namespace Cryville.Crtr.Config {
|
|||||||
internal class RulesetConfigPropertyMasterAdapter : IPropertyMasterAdapter {
|
internal class RulesetConfigPropertyMasterAdapter : IPropertyMasterAdapter {
|
||||||
readonly List<RulesetConfigPropertyAdapter> _props = new List<RulesetConfigPropertyAdapter>();
|
readonly List<RulesetConfigPropertyAdapter> _props = new List<RulesetConfigPropertyAdapter>();
|
||||||
readonly RulesetConfigStore _store;
|
readonly RulesetConfigStore _store;
|
||||||
|
public PdtEvaluator Evaluator { get; private set; }
|
||||||
|
|
||||||
public RulesetConfigPropertyMasterAdapter(Dictionary<Identifier, ConfigDefinition> defs, Dictionary<string, object> values) {
|
public RulesetConfigPropertyMasterAdapter(Dictionary<Identifier, ConfigDefinition> defs, Dictionary<string, object> values) {
|
||||||
_store = new RulesetConfigStore(defs, values);
|
_store = new RulesetConfigStore(defs, values);
|
||||||
PdtEvaluator.Instance.ContextRulesetConfig = _store;
|
Evaluator = new PdtEvaluator() { ContextRulesetConfig = _store };
|
||||||
if (defs == null) return;
|
if (defs == null) return;
|
||||||
foreach (var def in defs) {
|
foreach (var def in defs) {
|
||||||
_props.Add(new RulesetConfigPropertyAdapter(def.Key, def.Value, this));
|
_props.Add(new RulesetConfigPropertyAdapter(def.Key, def.Value, this));
|
||||||
@@ -64,7 +65,7 @@ namespace Cryville.Crtr.Config {
|
|||||||
public object[] Range {
|
public object[] Range {
|
||||||
get {
|
get {
|
||||||
if (_def.range != null)
|
if (_def.range != null)
|
||||||
PdtEvaluator.Instance.Evaluate(_rangeOp, _def.range);
|
_master.Evaluator.Evaluate(_rangeOp, _def.range);
|
||||||
return m_range;
|
return m_range;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -89,9 +90,9 @@ namespace Cryville.Crtr.Config {
|
|||||||
public object MapValue(object value) {
|
public object MapValue(object value) {
|
||||||
_numst.Value = (float)(double)value;
|
_numst.Value = (float)(double)value;
|
||||||
if (_def.value == null) return _numst.Value;
|
if (_def.value == null) return _numst.Value;
|
||||||
PdtEvaluator.Instance.ContextSelfValue = _numst.Source;
|
_master.Evaluator.ContextSelfValue = _numst.Source;
|
||||||
PdtEvaluator.Instance.Evaluate(_numst.Target, _def.value);
|
_master.Evaluator.Evaluate(_numst.Target, _def.value);
|
||||||
PdtEvaluator.Instance.ContextSelfValue = null;
|
_master.Evaluator.ContextSelfValue = null;
|
||||||
return _numst.Value;
|
return _numst.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,103 +0,0 @@
|
|||||||
using Cryville.Crtr.Ruleset;
|
|
||||||
using Cryville.Crtr.UI;
|
|
||||||
using Newtonsoft.Json;
|
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
using System.Text;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace Cryville.Crtr.Config.UI {
|
|
||||||
public class ConfigPanelMaster : MonoBehaviour {
|
|
||||||
[SerializeField]
|
|
||||||
Menu m_menu;
|
|
||||||
|
|
||||||
[SerializeField]
|
|
||||||
Transform m_content;
|
|
||||||
|
|
||||||
[SerializeField]
|
|
||||||
PropertyMasterPanel m_genericConfigPanel;
|
|
||||||
|
|
||||||
[SerializeField]
|
|
||||||
PropertyMasterPanel m_rulesetConfigPanel;
|
|
||||||
|
|
||||||
[SerializeField]
|
|
||||||
InputConfigPanel m_inputConfigPanel;
|
|
||||||
|
|
||||||
public RulesetDefinition ruleset;
|
|
||||||
RulesetConfig _rscfg;
|
|
||||||
|
|
||||||
bool _loaded;
|
|
||||||
|
|
||||||
void OnEnable() {
|
|
||||||
try {
|
|
||||||
PdtEvaluator.Instance.Reset();
|
|
||||||
FileInfo file = new FileInfo(Path.Combine(
|
|
||||||
Game.GameDataPath, "rulesets", Settings.Default.LoadRuleset
|
|
||||||
));
|
|
||||||
if (!file.Exists) {
|
|
||||||
throw new FileNotFoundException("Ruleset for the chart not found\nMake sure you have imported the ruleset");
|
|
||||||
}
|
|
||||||
DirectoryInfo dir = file.Directory;
|
|
||||||
using (StreamReader reader = new StreamReader(file.FullName, Encoding.UTF8)) {
|
|
||||||
ruleset = JsonConvert.DeserializeObject<RulesetDefinition>(reader.ReadToEnd(), new JsonSerializerSettings() {
|
|
||||||
MissingMemberHandling = MissingMemberHandling.Error
|
|
||||||
});
|
|
||||||
if (ruleset.format != RulesetDefinition.CURRENT_FORMAT) throw new FormatException("Invalid ruleset file version");
|
|
||||||
ruleset.LoadPdt(dir);
|
|
||||||
}
|
|
||||||
FileInfo cfgfile = new FileInfo(Path.Combine(
|
|
||||||
Game.GameDataPath, "config", "rulesets", Settings.Default.LoadRulesetConfig
|
|
||||||
));
|
|
||||||
if (!cfgfile.Exists) {
|
|
||||||
if (!cfgfile.Directory.Exists) cfgfile.Directory.Create();
|
|
||||||
_rscfg = new RulesetConfig();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
using (StreamReader cfgreader = new StreamReader(cfgfile.FullName, Encoding.UTF8)) {
|
|
||||||
_rscfg = JsonConvert.DeserializeObject<RulesetConfig>(cfgreader.ReadToEnd(), new JsonSerializerSettings() {
|
|
||||||
MissingMemberHandling = MissingMemberHandling.Error
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
m_genericConfigPanel.Adapter = new DefaultPropertyMasterAdapter(_rscfg.generic);
|
|
||||||
m_rulesetConfigPanel.Adapter = new RulesetConfigPropertyMasterAdapter(ruleset.Root.configs, _rscfg.configs);
|
|
||||||
|
|
||||||
var proxy = new InputProxy(ruleset.Root, null, new Vector2(Screen.width, Screen.height));
|
|
||||||
proxy.LoadFrom(_rscfg.inputs);
|
|
||||||
m_inputConfigPanel.proxy = proxy;
|
|
||||||
|
|
||||||
m_inputConfigPanel.OnConfigEnable();
|
|
||||||
|
|
||||||
_loaded = true;
|
|
||||||
}
|
|
||||||
catch (Exception ex) {
|
|
||||||
Popup.CreateException(ex);
|
|
||||||
Game.MainLogger.Log(4, "Config", "An error occurred while loading the config: {0}", ex);
|
|
||||||
m_menu.Back();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SwitchCategory(GameObject cat) {
|
|
||||||
foreach (Transform c in m_content) {
|
|
||||||
c.gameObject.SetActive(false);
|
|
||||||
}
|
|
||||||
cat.SetActive(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnDisable() {
|
|
||||||
if (_loaded) {
|
|
||||||
_loaded = false;
|
|
||||||
m_inputConfigPanel.proxy.SaveTo(_rscfg.inputs);
|
|
||||||
m_inputConfigPanel.proxy.Dispose();
|
|
||||||
FileInfo cfgfile = new FileInfo(Path.Combine(
|
|
||||||
Game.GameDataPath, "config", "rulesets", Settings.Default.LoadRulesetConfig
|
|
||||||
));
|
|
||||||
using (StreamWriter cfgwriter = new StreamWriter(cfgfile.FullName, false, Encoding.UTF8)) {
|
|
||||||
cfgwriter.Write(JsonConvert.SerializeObject(_rscfg, Game.GlobalJsonSerializerSettings));
|
|
||||||
}
|
|
||||||
m_inputConfigPanel.OnConfigDisable();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
BIN
Assets/Interface2/Icons/config.png
Normal file
BIN
Assets/Interface2/Icons/config.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 510 B |
135
Assets/Interface2/Icons/config.png.meta
Normal file
135
Assets/Interface2/Icons/config.png.meta
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a2876e42726444842958548ac01fb75a
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 12
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMasterTextureLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 0
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 0
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 0
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 1
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Server
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
spritePackingTag:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
pSDShowRemoveMatteOption: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
2017
Assets/Interface2/Prefabs/ConfigBrowser.prefab
Normal file
2017
Assets/Interface2/Prefabs/ConfigBrowser.prefab
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/Interface2/Prefabs/ConfigBrowser.prefab.meta
Normal file
7
Assets/Interface2/Prefabs/ConfigBrowser.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 37bc602953b993d4c86d0d82c6565992
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -270,9 +270,11 @@ MonoBehaviour:
|
|||||||
m_tabPrefab: {fileID: 1950821458490172551, guid: 21929f2cd75aeaf4190f37571e8e5ff0,
|
m_tabPrefab: {fileID: 1950821458490172551, guid: 21929f2cd75aeaf4190f37571e8e5ff0,
|
||||||
type: 3}
|
type: 3}
|
||||||
m_browserContainer: {fileID: 1729117873}
|
m_browserContainer: {fileID: 1729117873}
|
||||||
|
m_settingsBrowser: {fileID: 1605906482}
|
||||||
m_pathedBrowserPrefab: {fileID: 2319095376350725893, guid: 65cfee4494776794ba1894a72bbbbcfb,
|
m_pathedBrowserPrefab: {fileID: 2319095376350725893, guid: 65cfee4494776794ba1894a72bbbbcfb,
|
||||||
type: 3}
|
type: 3}
|
||||||
m_settingsBrowser: {fileID: 1605906482}
|
m_configBrowserPrefab: {fileID: 7622410882120426405, guid: 37bc602953b993d4c86d0d82c6565992,
|
||||||
|
type: 3}
|
||||||
--- !u!1 &233649982
|
--- !u!1 &233649982
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1321,6 +1323,7 @@ GameObject:
|
|||||||
- component: {fileID: 740860684}
|
- component: {fileID: 740860684}
|
||||||
- component: {fileID: 740860687}
|
- component: {fileID: 740860687}
|
||||||
- component: {fileID: 740860686}
|
- component: {fileID: 740860686}
|
||||||
|
- component: {fileID: 740860688}
|
||||||
- component: {fileID: 740860685}
|
- component: {fileID: 740860685}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: _container
|
m_Name: _container
|
||||||
@@ -1418,6 +1421,19 @@ CanvasRenderer:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 740860683}
|
m_GameObject: {fileID: 740860683}
|
||||||
m_CullTransparentMesh: 1
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &740860688
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 740860683}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_ShowMaskGraphic: 1
|
||||||
--- !u!1 &797861126
|
--- !u!1 &797861126
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -2559,7 +2575,7 @@ RectTransform:
|
|||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 1278.7499, y: 720}
|
m_SizeDelta: {x: 1279.9999, y: 720}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &2025096960
|
--- !u!114 &2025096960
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
@@ -2718,7 +2734,6 @@ GameObject:
|
|||||||
- component: {fileID: 2118911264}
|
- component: {fileID: 2118911264}
|
||||||
- component: {fileID: 2118911267}
|
- component: {fileID: 2118911267}
|
||||||
- component: {fileID: 2118911266}
|
- component: {fileID: 2118911266}
|
||||||
- component: {fileID: 2118911265}
|
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: _viewport
|
m_Name: _viewport
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -2747,19 +2762,6 @@ RectTransform:
|
|||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &2118911265
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 2118911263}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_ShowMaskGraphic: 0
|
|
||||||
--- !u!114 &2118911266
|
--- !u!114 &2118911266
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -2773,14 +2775,14 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||||
m_RaycastTarget: 1
|
m_RaycastTarget: 1
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_Maskable: 1
|
m_Maskable: 1
|
||||||
m_OnCullStateChanged:
|
m_OnCullStateChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0}
|
m_Sprite: {fileID: 0}
|
||||||
m_Type: 1
|
m_Type: 1
|
||||||
m_PreserveAspect: 0
|
m_PreserveAspect: 0
|
||||||
m_FillCenter: 1
|
m_FillCenter: 1
|
||||||
|
Reference in New Issue
Block a user