Add generic ruleset config.
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.SceneManagement;
|
using UnityEngine.SceneManagement;
|
||||||
|
|
||||||
@@ -10,6 +10,9 @@ namespace Cryville.Crtr.Config {
|
|||||||
[SerializeField]
|
[SerializeField]
|
||||||
Transform m_content;
|
Transform m_content;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
SettingsPanel m_genericConfigPanel;
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
InputConfigPanel m_inputConfigPanel;
|
InputConfigPanel m_inputConfigPanel;
|
||||||
|
|
||||||
@@ -43,6 +46,9 @@ namespace Cryville.Crtr.Config {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_genericConfigPanel.Target = _rscfg.generic;
|
||||||
|
|
||||||
var proxy = new InputProxy(ruleset.Root, null);
|
var proxy = new InputProxy(ruleset.Root, null);
|
||||||
proxy.LoadFrom(_rscfg.inputs);
|
proxy.LoadFrom(_rscfg.inputs);
|
||||||
m_inputConfigPanel.proxy = proxy;
|
m_inputConfigPanel.proxy = proxy;
|
||||||
|
@@ -1,12 +1,18 @@
|
|||||||
using System.Collections.Generic;
|
using Newtonsoft.Json;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Cryville.Crtr.Config {
|
namespace Cryville.Crtr.Config {
|
||||||
public class RulesetConfig {
|
public class RulesetConfig {
|
||||||
public Dictionary<string, InputConfigEntry> inputs
|
public Generic generic = new Generic();
|
||||||
= new Dictionary<string, InputConfigEntry>();
|
public class Generic {
|
||||||
}
|
[JsonProperty("skin")]
|
||||||
public class InputConfigEntry {
|
public string Skin { get; set; }
|
||||||
public string handler;
|
}
|
||||||
public int type;
|
public Dictionary<string, InputEntry> inputs
|
||||||
|
= new Dictionary<string, InputEntry>();
|
||||||
|
public class InputEntry {
|
||||||
|
public string handler;
|
||||||
|
public int type;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -37,7 +37,7 @@ namespace Cryville.Crtr {
|
|||||||
readonly Dictionary<string, int> _use = new Dictionary<string, int>();
|
readonly Dictionary<string, int> _use = new Dictionary<string, int>();
|
||||||
readonly Dictionary<string, List<string>> _rev = new Dictionary<string, List<string>>();
|
readonly Dictionary<string, List<string>> _rev = new Dictionary<string, List<string>>();
|
||||||
public event EventHandler<ProxyChangedEventArgs> ProxyChanged;
|
public event EventHandler<ProxyChangedEventArgs> ProxyChanged;
|
||||||
public void LoadFrom(Dictionary<string, InputConfigEntry> config) {
|
public void LoadFrom(Dictionary<string, RulesetConfig.InputEntry> config) {
|
||||||
foreach (var cfg in config) {
|
foreach (var cfg in config) {
|
||||||
Set(new InputProxyEntry {
|
Set(new InputProxyEntry {
|
||||||
Target = cfg.Key,
|
Target = cfg.Key,
|
||||||
@@ -48,10 +48,10 @@ namespace Cryville.Crtr {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void SaveTo(Dictionary<string, InputConfigEntry> config) {
|
public void SaveTo(Dictionary<string, RulesetConfig.InputEntry> config) {
|
||||||
config.Clear();
|
config.Clear();
|
||||||
foreach (var p in _tproxies) {
|
foreach (var p in _tproxies) {
|
||||||
config.Add(p.Key, new InputConfigEntry {
|
config.Add(p.Key, new RulesetConfig.InputEntry {
|
||||||
handler = ReflectionHelper.GetNamespaceQualifiedName(p.Value.Source.Value.Handler.GetType()),
|
handler = ReflectionHelper.GetNamespaceQualifiedName(p.Value.Source.Value.Handler.GetType()),
|
||||||
type = p.Value.Source.Value.Type
|
type = p.Value.Source.Value.Type
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user