From 7311b1ae88b7d640649abc584751a193ee3c770e Mon Sep 17 00:00:00 2001 From: Quaternions Date: Fri, 3 Nov 2023 16:16:28 -0700 Subject: [PATCH] checkpoints are stage elements --- src/model.rs | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/src/model.rs b/src/model.rs index ee19bba..7140242 100644 --- a/src/model.rs +++ b/src/model.rs @@ -107,16 +107,6 @@ pub struct GameMechanicAccelerator{ pub acceleration:Planar64Vec3 } #[derive(Clone,Hash,Eq,PartialEq)] -pub enum GameMechanicCheckpoint{ - Ordered{ - mode_id:u32, - checkpoint_id:u32, - }, - Unordered{ - mode_id:u32, - }, -} -#[derive(Clone,Hash,Eq,PartialEq)] pub enum GameMechanicBooster{ Affine(Planar64Affine3),//capable of SetVelocity,DotVelocity,normal booster,bouncy part,redirect velocity, and much more Velocity(Planar64Vec3),//straight up boost velocity adds to your current velocity @@ -182,13 +172,14 @@ pub enum StageElementBehaviour{ Trigger, Teleport, Platform, - //Acts like a trigger if you haven't hit all the checkpoints. - Checkpoint{ - //if this is 2 you must have hit OrderedCheckpoint(0) OrderedCheckpoint(1) OrderedCheckpoint(2) to pass - ordered_checkpoint_id:Option, - //if this is 2 you must have hit at least 2 UnorderedCheckpoints to pass - unordered_checkpoint_count:u32, - }, + //Checkpoint acts like a trigger if you haven't hit all the checkpoints yet. + //Note that all stage elements act like this for the next stage. + Checkpoint, + //OrderedCheckpoint. You must pass through all of these in ascending order. + Ordered(u32), + //UnorderedCheckpoint. You must pass through all of these in any order. + Unordered, + //If you get reset by a jump limit JumpLimit(u32), //Speedtrap(TrapCondition),//Acts as a trigger with a speed condition }