Compare commits
4 Commits
15e66d29c4
...
c95ae92ba8
Author | SHA1 | Date | |
---|---|---|---|
c95ae92ba8 | |||
31e9f1352b | |||
9974b25377 | |||
852c93c6d0 |
Binary file not shown.
@@ -400,6 +400,7 @@ namespace Cryville.Crtr {
|
||||
try {
|
||||
Logger.Log("main", 1, "Game", "Stopping");
|
||||
Game.AudioSession = Game.AudioSequencer.NewSession();
|
||||
inputProxy.Deactivate();
|
||||
if (cbus != null) { cbus.Dispose(); cbus = null; }
|
||||
if (bbus != null) { bbus.Dispose(); bbus = null; }
|
||||
if (tbus != null) { tbus.Dispose(); tbus = null; }
|
||||
|
@@ -1,7 +1,7 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
@@ -10,6 +10,9 @@ namespace Cryville.Crtr.Config {
|
||||
[SerializeField]
|
||||
Transform m_content;
|
||||
|
||||
[SerializeField]
|
||||
SettingsPanel m_genericConfigPanel;
|
||||
|
||||
[SerializeField]
|
||||
InputConfigPanel m_inputConfigPanel;
|
||||
|
||||
@@ -43,6 +46,9 @@ namespace Cryville.Crtr.Config {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
m_genericConfigPanel.Target = _rscfg.generic;
|
||||
|
||||
var proxy = new InputProxy(ruleset.Root, null);
|
||||
proxy.LoadFrom(_rscfg.inputs);
|
||||
m_inputConfigPanel.proxy = proxy;
|
||||
|
@@ -1,12 +1,18 @@
|
||||
using System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Cryville.Crtr.Config {
|
||||
public class RulesetConfig {
|
||||
public Dictionary<string, InputConfigEntry> inputs
|
||||
= new Dictionary<string, InputConfigEntry>();
|
||||
public Generic generic = new Generic();
|
||||
public class Generic {
|
||||
[JsonProperty("skin")]
|
||||
public string Skin { get; set; }
|
||||
}
|
||||
public class InputConfigEntry {
|
||||
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, List<string>> _rev = new Dictionary<string, List<string>>();
|
||||
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) {
|
||||
Set(new InputProxyEntry {
|
||||
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();
|
||||
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()),
|
||||
type = p.Value.Source.Value.Type
|
||||
});
|
||||
|
@@ -116,8 +116,8 @@ namespace Cryville.Crtr {
|
||||
if (def.scores != null) UpdateScore(def.scores);
|
||||
if (def.pass != null) Pass(def.pass);
|
||||
actlist.RemoveAt(index);
|
||||
if (def.stack != def.prop && actlist.Count > 0) {
|
||||
index = BinarySearchFirst(actlist, ev.StartClip, def.prop);
|
||||
if (def.prop != 0 && actlist.Count > 0) {
|
||||
index = BinarySearchFirst(actlist, ev.StartClip, def.stack - def.prop);
|
||||
if (index < 0) index = ~index;
|
||||
}
|
||||
else index++;
|
||||
@@ -216,7 +216,7 @@ namespace Cryville.Crtr {
|
||||
public Identifier[] miss;
|
||||
public Dictionary<ScoreOperation, PdtExpression> scores;
|
||||
public int stack;
|
||||
public int prop = -1;
|
||||
public int prop = 1;
|
||||
}
|
||||
public class ScoreOperation {
|
||||
public Identifier name;
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user