complete checkpoint

This commit is contained in:
RandomityGuy 2022-11-16 22:22:12 +05:30
parent 4a6c06bf3a
commit dbeb6b7c60
4 changed files with 10 additions and 10 deletions

View file

@ -1427,7 +1427,7 @@ class MarbleWorld extends Scheduler {
var disableOob = false; var disableOob = false;
if (shape != null) { if (shape != null) {
if (shape.elem.fields.exists('disableOob')) { if (shape.elem.fields.exists('disableOob')) {
disableOob = MisParser.parseBoolean(shape.elem.fields.get('disableOob')); disableOob = MisParser.parseBoolean(shape.elem.fields.get('disableOob')[0]);
} }
} }
if (trigger != null) { if (trigger != null) {
@ -1457,7 +1457,7 @@ class MarbleWorld extends Scheduler {
var offset = new Vector(0, 0, 3); var offset = new Vector(0, 0, 3);
var add = ""; // (this.currentCheckpoint.srcElement as any)?.add || this.currentCheckpointTrigger?.element.add; var add = ""; // (this.currentCheckpoint.srcElement as any)?.add || this.currentCheckpointTrigger?.element.add;
if (this.currentCheckpoint.elem.fields.exists('add')) { if (this.currentCheckpoint.elem.fields.exists('add')) {
add = this.currentCheckpoint.elem.fields.get('add'); add = this.currentCheckpoint.elem.fields.get('add')[0];
} }
if (this.currentCheckpointTrigger != null) { if (this.currentCheckpointTrigger != null) {
offset = this.currentCheckpointTrigger.add; offset = this.currentCheckpointTrigger.add;
@ -1477,11 +1477,11 @@ class MarbleWorld extends Scheduler {
this.marble.camera.oob = false; this.marble.camera.oob = false;
var gravityField = ""; // (this.currentCheckpoint.srcElement as any) ?.gravity || this.currentCheckpointTrigger?.element.gravity; var gravityField = ""; // (this.currentCheckpoint.srcElement as any) ?.gravity || this.currentCheckpointTrigger?.element.gravity;
if (this.currentCheckpoint.elem.fields.exists('gravity')) { if (this.currentCheckpoint.elem.fields.exists('gravity')) {
gravityField = this.currentCheckpoint.elem.fields.get('gravity'); gravityField = this.currentCheckpoint.elem.fields.get('gravity')[0];
} }
if (this.currentCheckpointTrigger != null) { if (this.currentCheckpointTrigger != null) {
if (@:privateAccess this.currentCheckpointTrigger.element.fields.exists('gravity')) { if (@:privateAccess this.currentCheckpointTrigger.element.fields.exists('gravity')) {
gravityField = @:privateAccess this.currentCheckpointTrigger.element.fields.get('gravity'); gravityField = @:privateAccess this.currentCheckpointTrigger.element.fields.get('gravity')[0];
} }
} }
if (MisParser.parseBoolean(gravityField)) { if (MisParser.parseBoolean(gravityField)) {
@ -1506,8 +1506,8 @@ class MarbleWorld extends Scheduler {
this.outOfBounds = false; this.outOfBounds = false;
this.deselectPowerUp(); // Always deselect first this.deselectPowerUp(); // Always deselect first
// Wait a bit to select the powerup to prevent immediately using it incase the user skipped the OOB screen by clicking // Wait a bit to select the powerup to prevent immediately using it incase the user skipped the OOB screen by clicking
if (this.marble.heldPowerup != null) if (this.checkpointHeldPowerup != null)
this.schedule(this.timeState.currentAttemptTime + 500, () -> this.pickUpPowerUp(this.marble.heldPowerup)); this.schedule(this.timeState.currentAttemptTime + 0.5, () -> this.pickUpPowerUp(this.checkpointHeldPowerup));
AudioManager.playSound(ResourceLoader.getResource('data/sound/spawn.wav', ResourceLoader.getAudio, this.soundResources)); AudioManager.playSound(ResourceLoader.getResource('data/sound/spawn.wav', ResourceLoader.getAudio, this.soundResources));
} }

View file

@ -31,7 +31,7 @@ class MissionElementBase {
/** Is unique for every element in the mission file. */ /** Is unique for every element in the mission file. */
var _id:Int; var _id:Int;
var fields:Map<String, String>; var fields:Map<String, Array<String>>;
} }
@:publicFields @:publicFields

View file

@ -19,7 +19,7 @@ class Checkpoint extends DtsObject {
this.identifier = "Checkpoint"; this.identifier = "Checkpoint";
this.element = element; this.element = element;
this.disableOOB = element.fields.exists('disableOob') ? MisParser.parseBoolean(element.fields['disableOob']) : false; this.disableOOB = element.fields.exists('disableOob') ? MisParser.parseBoolean(element.fields['disableOob'][0]) : false;
} }
public override function init(level:src.MarbleWorld, onFinish:() -> Void) { public override function init(level:src.MarbleWorld, onFinish:() -> Void) {

View file

@ -13,8 +13,8 @@ class CheckpointTrigger extends Trigger {
override public function new(element:MissionElementTrigger, level:MarbleWorld) { override public function new(element:MissionElementTrigger, level:MarbleWorld) {
super(element, level); super(element, level);
this.disableOOB = element.fields.exists('disableOob') ? MisParser.parseBoolean(element.fields['disableOob']) : false; this.disableOOB = element.fields.exists('disableOob') ? MisParser.parseBoolean(element.fields['disableOob'][0]) : false;
this.add = element.fields.exists('add') ? MisParser.parseVector3(element.fields['add']) : null; this.add = element.fields.exists('add') ? MisParser.parseVector3(element.fields['add'][0]) : null;
} }
public override function init(onFinish:() -> Void) { public override function init(onFinish:() -> Void) {