private void SaveLevel() { if (LE_EventInterface.OnSave != null) { // collect level meta data, which depends on the game's implementation LE_CollectMetaDataEvent collectMetaData = new LE_CollectMetaDataEvent(); if (LE_EventInterface.OnCollectMetaDataBeforeSave != null) { LE_EventInterface.OnCollectMetaDataBeforeSave(this, collectMetaData); } // save int removedDuplicatesCount = 0; if (m_confL.IsRemoveDuplicatesOnSave) { removedDuplicatesCount = LE_SaveLoad.RemoveDuplicatesInCurrentLevel(); } LE_SaveEvent saveEventArgs = new LE_SaveEvent( LE_SaveLoad.SaveCurrentLevelDataToByteArray(m_configTextures), LE_SaveLoad.SaveCurrentLevelMetaToByteArray(m_levelIcon, collectMetaData.GetCollectedMetaData()), removedDuplicatesCount); LE_EventInterface.OnSave(this, saveEventArgs); } else { Debug.LogError("LE_LogicLevel: OnLevelLoadBtn: you have to provide an event handler for 'LE_EventInterface.OnSave' to save a level!"); } }
public static void OnSaveWorldData(object sender, LE_SaveEvent e) { byte[] levelDataAsByteArray = e.SavedLevelData; byte[] levelMetaAsByteArray = e.SavedLevelMeta; Data.WorldData.cWorldData WorldData = new Data.WorldData.cWorldData(); WorldData.ByteMetadata = levelMetaAsByteArray; WorldData.ByteData = levelDataAsByteArray; Globals.con.SendObject("SaveWorldData", WorldData); }
// save the level and show the info dialog public void Save(LE_SaveEvent p_args) { // save to file string popupText = ExampleGame_LoadSave.SaveByFileName(LEVEL_FILE_NAME, p_args.SavedLevelData, p_args.SavedLevelMeta); if (p_args.RemovedDuplicatesCount > 0) { popupText += "\n'" + p_args.RemovedDuplicatesCount + "' duplicate object(s) removed before saving\n(duplicate = same: object, position, rotation, scale)."; } ((uMyGUI_PopupText)uMyGUI_PopupManager.Instance.ShowPopup(uMyGUI_PopupManager.POPUP_TEXT)).SetText("Level Saved", popupText).ShowButton("ok"); }
// save the current level to a file and note the latest save action frame private void OnSave(object p_sender, LE_SaveEvent p_args) { m_lastSaveFrame = Time.frameCount; LE_ExtensionInterface.Save.Delegate(this, p_args.SavedLevelData, p_args.SavedLevelMeta, p_args.RemovedDuplicatesCount); }
// save the current level to a file and note the latest save action frame private void OnSave(object p_sender, LE_SaveEvent p_args) { Save(p_args); }