25 public const string fName =
"GameManager";
40 valuesDictionary.SetValue(
"GameInfo", valuesDictionary2);
41 valuesDictionary2.SetValue(
"WorldDirectoryName", worldInfo.
DirectoryName);
43 valuesDictionary.SetValue(
"Views", valuesDictionary3);
44 valuesDictionary3.SetValue(
"GamesWidget", gamesWidget);
49#pragma warning disable CS0618
50 loader.ProjectXmlLoad(projectNode);
51#pragma warning restore CS0618
52 loader.ProjectXmlLoad(projectNode, worldInfo, gamesWidget);
60 loader.OnProjectLoaded(project);
69 loader.OnEntityAdd(arg.Entity);
78 loader.OnEntityRemove(arg.Entity);
85 "EntityComponentsInitialized",
87 loader.EntityComponentsInitialized(entity, componentList);
94 "ProjectBeforeSubsystemsAndEntitiesLoad",
96 loader.ProjectBeforeSubsystemsAndEntitiesLoad(project);
117 public static void SaveProject(
bool waitForCompletion,
bool showErrorDialog) {
125 if (waitForCompletion) {
136 XElement xElement =
new(
"Project");
140 loader.ProjectXmlSave(xElement);
144 projectData.
Save(xElement);
151 loader.OnProjectXmlSaved(xElement);
159 catch (Exception ex) {
160 if (showErrorDialog) {
167 $
"{ex.Message}\n{LanguageControl.Get(fName, "3
")}",
176 Log.
Error($
"{LanguageControl.Get(fName, "2
")}\n{ex}");
203 loader.OnProjectDisposed();
static void Dispatch(Action action, bool waitUntilCompleted=false)
static void Error(object message)
static void Information(object message)
static void Verbose(object message)
static void CreateDirectory(string path)
static Stream OpenFile(string path, OpenFileMode openFileMode)
static string CombinePaths(params string[] paths)
static bool LoadBlocksStaticly
static GameDatabase GameDatabase
static void ShowDialog(ContainerWidget parentWidget, Dialog dialog)
static void RepairAndUpgradeWorld(WorldInfo worldInfo)
static List< Func< bool > > SyncDispatcher
static SubsystemUpdate m_subsystemUpdate
static void LoadProject(WorldInfo worldInfo, ContainerWidget gamesWidget)
static void SaveProject(bool waitForCompletion, bool showErrorDialog)
static Action< Project > ProjectDisposed
static ManualResetEvent m_saveCompleted
static WorldInfo WorldInfo
static void InternalSaveProject(ProjectData projectData, string directoryName, bool showErrorDialog)
static WorldInfo m_worldInfo
static void UpdateProject()
static void DisposeProject()
static string Get(string className, int key)
获取在当前语言类名键对应的字符串
static int VisibilityRange
static ResolutionMode ResolutionMode
static string SerializationVersion
static void UpgradeWorld(string directoryName)
WorldSettings WorldSettings
StartingPositionMode StartingPositionMode
static void MakeQuickWorldBackup(string directoryName)
static void RepairWorldIfNeeded(string directoryName)
Entity(Project project, ValuesDictionary valuesDictionary, int id) static Action< Entity, List< KeyValuePair< int, Component > > > EntityComponentsInitialized
void Save(XElement projectNode)
static EventHandler< EntityAddRemoveEventArgs > EntityAdded
static Action< Project > BeforeSubsystemsAndEntitiesLoad
static Action< Project > OnProjectLoad
static EventHandler< EntityAddRemoveEventArgs > EntityRemoved
static void HookAction(string HookName, Func< ModLoader, bool > action)
执行Hook
static string APIVersionString
static void SetAttributeValue(XElement node, string attributeName, object value)
static XElement LoadXmlFromStream(Stream stream, Encoding encoding, bool throwOnError)
static void SaveXmlToStream(XElement node, Stream stream, Encoding encoding, bool throwOnError)