Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
82060a6403 | |||
02441eb328 | |||
2fe2a40e74 | |||
754e3be906 |
@@ -62,20 +62,23 @@ namespace Cryville.Crtr {
|
||||
GameDataPath = Settings.Default.GameDataPath;
|
||||
|
||||
unity::Input.simulateMouseWithTouches = false;
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidAccelerometerHandler));
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidAccelerometerUncalibratedHandler));
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidGameRotationVectorHandler));
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidGravityHandler));
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidGyroscopeHandler));
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidLinearAccelerationHandler));
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidMagneticFieldHandler));
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidMagneticFieldUncalibratedHandler));
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidRotationVectorHandler));
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidTouchHandler));
|
||||
InputManager.HandlerRegistries.Add(typeof(UnityGuiInputHandler<UnityKeyReceiver>));
|
||||
InputManager.HandlerRegistries.Add(typeof(UnityGuiInputHandler<UnityMouseReceiver>));
|
||||
InputManager.HandlerRegistries.Add(typeof(UnityMouseHandler));
|
||||
InputManager.HandlerRegistries.Add(typeof(UnityTouchHandler));
|
||||
var emptyObjectArray = new object[0];
|
||||
#if UNITY_ANDROID
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidAccelerometerHandler), emptyObjectArray);
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidAccelerometerUncalibratedHandler), emptyObjectArray);
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidGameRotationVectorHandler), emptyObjectArray);
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidGravityHandler), emptyObjectArray);
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidGyroscopeHandler), emptyObjectArray);
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidLinearAccelerationHandler), emptyObjectArray);
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidMagneticFieldHandler), emptyObjectArray);
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidMagneticFieldUncalibratedHandler), emptyObjectArray);
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidRotationVectorHandler), emptyObjectArray);
|
||||
InputManager.HandlerRegistries.Add(typeof(AndroidTouchHandler), emptyObjectArray);
|
||||
#endif
|
||||
InputManager.HandlerRegistries.Add(typeof(UnityGuiInputHandler<UnityKeyReceiver>), emptyObjectArray);
|
||||
InputManager.HandlerRegistries.Add(typeof(UnityGuiInputHandler<UnityMouseReceiver>), emptyObjectArray);
|
||||
InputManager.HandlerRegistries.Add(typeof(UnityMouseHandler), emptyObjectArray);
|
||||
InputManager.HandlerRegistries.Add(typeof(UnityTouchHandler), emptyObjectArray);
|
||||
InputManager = new InputManager();
|
||||
|
||||
#if UNITY_EDITOR_WIN
|
||||
|
@@ -20,6 +20,9 @@ namespace Cryville.Crtr {
|
||||
else if (a.Remove("score")) {
|
||||
return new Score(a, k);
|
||||
}
|
||||
else if (a.Remove("var")) {
|
||||
return new Variable(a, new Identifier(k));
|
||||
}
|
||||
throw new FormatException("Invalid judge action format.");
|
||||
}
|
||||
public readonly HashSet<string> annotations;
|
||||
@@ -64,5 +67,15 @@ namespace Cryville.Crtr {
|
||||
return new JudgeActionResult();
|
||||
}
|
||||
}
|
||||
public class Variable : JudgeAction {
|
||||
readonly Identifier _target;
|
||||
public Variable(IEnumerable<string> a, Identifier k) : base(a) {
|
||||
_target = k;
|
||||
}
|
||||
internal override JudgeActionResult Execute(IJudge judge, JudgeEvent ev, float time, PdtExpression exp, bool onMiss, int depth, int index) {
|
||||
// throw new NotImplementedException();
|
||||
return new JudgeActionResult();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -32,6 +32,8 @@ namespace Cryville.Crtr {
|
||||
|
||||
[Binder(typeof(PdtBinder))]
|
||||
public class PdtRuleset {
|
||||
public Dictionary<Identifier, ConfigDefinition> configs;
|
||||
public Dictionary<Identifier, MotionDefinition> motions;
|
||||
public Dictionary<Identifier, InputDefinition> inputs;
|
||||
public Dictionary<Identifier, PdtExpression> areas;
|
||||
public Dictionary<Identifier, JudgeDefinition> judges;
|
||||
@@ -66,6 +68,12 @@ namespace Cryville.Crtr {
|
||||
constraints.PrePatch(chart);
|
||||
}
|
||||
}
|
||||
public class ConfigDefinition {
|
||||
// TODO
|
||||
}
|
||||
public class MotionDefinition {
|
||||
// TODO
|
||||
}
|
||||
public class InputDefinition {
|
||||
public int dim;
|
||||
public string pdim;
|
||||
|
@@ -97,11 +97,7 @@ namespace Cryville.Input.Unity {
|
||||
useGUILayout = false;
|
||||
}
|
||||
void Update() {
|
||||
double time = Time.realtimeSinceStartupAsDouble;
|
||||
foreach (var k in ActiveKeys) {
|
||||
Feed(k, 0, new InputFrame(time, new InputVector()));
|
||||
}
|
||||
Batch(time);
|
||||
Batch(Time.realtimeSinceStartupAsDouble);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -14,9 +14,11 @@ namespace Cryville.Input.Unity {
|
||||
/// </summary>
|
||||
/// <exception cref="NotSupportedException">Unity touch is not supported on the current device.</exception>
|
||||
public UnityTouchHandler() {
|
||||
#if !UNITY_EDITOR // In the simulator, touch works but `touchSupported` returns false (by 2021.3)
|
||||
if (!unity::Input.touchSupported) {
|
||||
throw new NotSupportedException("Unity touch is not supported on this device");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user