field order taken straight off LogicBattle::encode. the object manager is columnar, not object major: 6 counters, a count, then all data refs, then all global ids, then all objects, then four component passes. global ids must be ascending, the client binary searches them. LogicRandom moved out of the shop into its own module. its abs was checked_abs().unwrap_or(0), the binary uses NEGS so i32::MIN stays i32::MIN. one seed in four billion, but it would have desynced the card shop. per object subclass encodes and the component payloads are still missing, so no snapshot can be sent yet.
10 lines
317 B
Rust
10 lines
317 B
Rust
use titan::Payload;
|
|
use crate::battle::logic_game_object_ref::LogicGameObjectRef;
|
|
use crate::data::LogicDataRef;
|
|
#[derive(Debug, Default, Clone, PartialEq, Eq, Payload)]
|
|
pub struct LogicTutorialManager {
|
|
pub tutorial: LogicDataRef,
|
|
#[codec(vint)]
|
|
pub countdown: i32,
|
|
pub target: LogicGameObjectRef,
|
|
}
|