JaneDoe-ZS/nap_gameserver/src/logic/game/fresh.rs
2024-07-20 15:59:36 +03:00

37 lines
888 B
Rust

use proto::{DungeonInfo, FreshSceneInfo, SceneInfo};
use crate::logic::{procedure::ProcedureManager, ESceneType};
use super::NapGameMode;
pub struct FreshGame {
pub procedure_mgr: ProcedureManager,
}
impl FreshGame {
pub fn new(start_procedure_id: i32) -> Self {
Self {
procedure_mgr: ProcedureManager::new(start_procedure_id),
}
}
}
impl NapGameMode for FreshGame {
fn scene_type(&self) -> ESceneType {
ESceneType::Fresh
}
fn scene_info(&self) -> Option<SceneInfo> {
Some(SceneInfo {
scene_type: self.scene_type() as u32,
fresh_scene_info: Some(FreshSceneInfo {
beginner_procedure_id: (self.procedure_mgr.procedure_id() - 1) as u32,
}),
..Default::default()
})
}
fn dungeon_info(&self) -> Option<DungeonInfo> {
None
}
}