fiveman spawn_behaviour idea
This commit is contained in:
parent
f38d990a54
commit
4985b42c6e
@ -1,6 +1,7 @@
|
|||||||
use std::collections::{HashSet,HashMap};
|
use std::collections::{HashSet,HashMap};
|
||||||
use crate::model::ModelId;
|
use crate::model::ModelId;
|
||||||
use crate::gameplay_style;
|
use crate::gameplay_style;
|
||||||
|
use crate::gameplay_attributes;
|
||||||
|
|
||||||
pub struct StageElement{
|
pub struct StageElement{
|
||||||
stage:StageId,//which stage spawn to send to
|
stage:StageId,//which stage spawn to send to
|
||||||
@ -20,9 +21,24 @@ pub enum StageElementBehaviour{
|
|||||||
Checkpoint,//this is a combined behaviour for Ordered & Unordered in case a model is used multiple times or for both.
|
Checkpoint,//this is a combined behaviour for Ordered & Unordered in case a model is used multiple times or for both.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub enum ClipVelocity{
|
||||||
|
All,//Set velocity to spawn.velocity
|
||||||
|
Normal,//clip all out-of-plane velocity when spawning (always "top" face normal)
|
||||||
|
None,//no clipping
|
||||||
|
}
|
||||||
|
|
||||||
|
pub struct SpawnBehaviour{
|
||||||
|
set_camera_angles:bool,//set camera angles to spawn direction like source
|
||||||
|
//gain access to a ridiculous amount of velocity targetting options
|
||||||
|
set_velocity:Option<gameplay_attributes::SetTrajectory>,
|
||||||
|
//or just the basics
|
||||||
|
//set_velocity:ClipVelocity,
|
||||||
|
}
|
||||||
|
|
||||||
pub struct StageId(u32);
|
pub struct StageId(u32);
|
||||||
pub struct Stage{
|
pub struct Stage{
|
||||||
spawn:ModelId,
|
spawn:ModelId,
|
||||||
|
spawn_behaviour:SpawnBehaviour,
|
||||||
//other behaviour models of this stage can have
|
//other behaviour models of this stage can have
|
||||||
ordered_checkpoints:Vec<ModelId>,
|
ordered_checkpoints:Vec<ModelId>,
|
||||||
unordered_checkpoints:HashSet<ModelId>,
|
unordered_checkpoints:HashSet<ModelId>,
|
||||||
|
Loading…
Reference in New Issue
Block a user