docsReading time: 1 minute
General
Basics
- Getting Started
- Game API
- Input API
- Configuration
- Tile Maps
- Resource Management
- Entity Framework
- Control Entities
- User Interface
- utiLITI
- Deployment
- Savegames
- Libraries and Tools
- Glossary
Advanced
- The Particle System
- Dynamic Lighting
- Static Lighting
- Performance Optimization
- Custom MapObjectLoaders
- String Localization
- Object Serialization
- Utility Classes
- Network Communication
- Advanced Entity Knowledge
Tutorials
Object Serialization
LITIENGINE uses XML serialization for saving and loading game data, including resource bundles and configuration.
Built-in Serialization
The engine automatically handles:
.litidataresource bundlesconfig.propertiesconfiguration- Map data (.tmx format)
XmlUtilities
XML serialization utilities:
import de.gurkenlabs.litiengine.util.io.XmlUtilities;
// Save object to XML file
XmlUtilities.save(object, "path/to/file.xml");
// Load object from XML
MyObject obj = XmlUtilities.read(MyObject.class, "path/to/file.xml");
// Convert to XML string
String xml = XmlUtilities.toString(object);Serializable Objects
Objects must have proper annotations for XML serialization:
import javax.xml.bind.annotation.*;
@XmlRootElement(name = "playerData")
public class PlayerData {
@XmlAttribute
private String name;
@XmlElement
private int level;
@XmlElement
private int experience;
// Required no-arg constructor
public PlayerData() {}
// Getters and setters...
}Custom Save Data
public class SaveData {
private String playerName;
private int currentLevel;
public void save(String filename) {
XmlUtilities.save(this, filename);
}
public static SaveData load(String filename) {
return XmlUtilities.read(SaveData.class, filename);
}
}See Also
- Savegames – Game save system
- Configuration – Config files
Last updated 2 weeks ago
Feedback / Collaborate
