trigger-rs/crates/trigger-logic/src/scene.rs

109 lines
2.6 KiB
Rust

use num_enum::{FromPrimitive, IntoPrimitive, TryFromPrimitive};
#[derive(Debug, Default, Clone, PartialEq)]
pub struct Vector3f {
pub x: f64,
pub y: f64,
pub z: f64,
}
#[derive(Debug, Default, Clone, PartialEq)]
pub struct Transform {
pub position: Vector3f,
pub rotation: Vector3f,
}
#[derive(Debug, PartialEq, Eq, Clone, Copy, IntoPrimitive, TryFromPrimitive)]
#[repr(i16)]
pub enum ESceneType {
Hall = 1,
Hollow = 2,
Fight = 3,
Fresh = 4,
MultiFight = 5,
TrainingRoom = 6,
Rally = 7,
}
#[derive(Debug, PartialEq, Eq, Clone, Copy, IntoPrimitive, TryFromPrimitive)]
#[repr(i16)]
pub enum EPackageType {
Fight = 1,
RogueLike = 2,
Player = 3,
DungeonAvatar = 4,
}
#[derive(Debug, PartialEq, Eq, Clone, Copy, IntoPrimitive, TryFromPrimitive)]
#[repr(i32)]
pub enum EInteractTarget {
None = 0,
NPC = 1,
TriggerBox = 2,
}
#[derive(Debug, PartialEq, Eq, Clone, Copy, IntoPrimitive, TryFromPrimitive)]
#[repr(i32)]
pub enum EEventGraphOwnerType {
None = 0,
Scene = 1,
Section = 2,
SceneUnit = 3,
Hollow = 4,
}
#[derive(Default, Debug, PartialEq, Eq, Clone, Copy, IntoPrimitive, FromPrimitive)]
#[repr(u32)]
pub enum ELocalPlayType {
#[default]
Unknown = 0,
BossRushBattle = 218,
DualElite = 208,
RallyLongFight = 207,
HadalZoneBosschallenge = 224,
BossNestHardBattle = 220,
MapChallengeBattle = 291,
BangbooRoyale = 240,
AvatarDemoTrial = 213,
BossBattle = 210,
ArchiveLongFight = 212,
TargetShootingBattle = 294,
CoinBrushingBattle = 231,
ActivityCombatPause = 230,
BossLittleBattleLongfight = 215,
OperationBetaDemo = 216,
BigBossBattleLongfight = 217,
S2RogueBattle = 226,
LevelZero = 205,
HadalZone = 209,
ChessBoardBattle = 202,
TrainingRootTactics = 292,
TrainingRoom = 290,
PureHollowBattleLonghfight = 281,
BabelTower = 223,
MpBigBossBattle = 214,
MiniScapeShortBattle = 229,
HadalZoneAlivecount = 222,
GuideSpecial = 203,
OperationTeamCoop = 219,
BigBossBattle = 211,
ChessBoardLongfihgtBattle = 204,
BuddyTowerdefenseBattle = 227,
PureHollowBattleHardmode = 282,
MiniScapeBattle = 228,
DailyChallenge = 206,
PureHollowBattle = 280,
SideScrollingThegunBattle = 221,
ArchiveBattle = 201,
BangbooDreamRogueBattle = 293,
}
impl From<Vec<f64>> for Vector3f {
fn from(value: Vec<f64>) -> Self {
Self {
x: value.get(0).copied().unwrap_or(0.0),
y: value.get(1).copied().unwrap_or(0.0),
z: value.get(2).copied().unwrap_or(0.0),
}
}
}