public ModeProperties Convert() => new ModeProperties() { AudioState = AudioState?.Convert() ?? new AudioState("event:/music/lvl1/main", "event:/env/amb/01_main"), Checkpoints = MapMeta.Convert(Checkpoints) ?? new CheckpointData[0], IgnoreLevelAudioLayerData = IgnoreLevelAudioLayerData, Inventory = MapMeta.GetInventory(Inventory) ?? PlayerInventory.Default, Path = Path, PoemID = PoemID };
public ModeProperties Convert() => new ModeProperties() { AudioState = AudioState?.Convert() ?? new AudioState(SFX.music_city, SFX.env_amb_01_main), Checkpoints = MapMeta.Convert(Checkpoints), // Can be null. IgnoreLevelAudioLayerData = IgnoreLevelAudioLayerData ?? false, Inventory = MapMeta.GetInventory(Inventory) ?? PlayerInventory.Default, Path = Path, PoemID = PoemID };
public ModeProperties Convert() => new ModeProperties() { AudioState = AudioState?.Convert() ?? new AudioState(Sfxs.music_city, Sfxs.env_amb_01_main), Checkpoints = MapMeta.Convert(Checkpoints) ?? new CheckpointData[0], IgnoreLevelAudioLayerData = IgnoreLevelAudioLayerData, Inventory = MapMeta.GetInventory(Inventory) ?? PlayerInventory.Default, Path = Path, PoemID = PoemID };
public void ApplyTo(AreaData area, AreaMode mode) { area.GetMeta().Modes[(int)mode] = this; ModeProperties props = area.Mode[(int)mode]; if (props != null) { props.AudioState = AudioState?.Convert() ?? props.AudioState; props.Checkpoints = MapMeta.Convert(Checkpoints) ?? props.Checkpoints; props.IgnoreLevelAudioLayerData = IgnoreLevelAudioLayerData ?? props.IgnoreLevelAudioLayerData; props.Inventory = MapMeta.GetInventory(Inventory) ?? props.Inventory; props.Path = Path ?? props.Path; props.PoemID = PoemID ?? props.PoemID; } else { props = Convert(); } area.Mode[(int)mode] = props; }