private void LoadScenarioResources(string scenarioUrl, ScenarioSave scenarioSave) { Debug.Log("Project Resources loading..."); for (int i = 0; i < scenarioSave.resources.Length; i++) { Debug.Log("Loading Resource " + scenarioSave.resources[i].id); LoadAudioFile(scenarioUrl, scenarioSave.resources[i].id.ToString()); Debug.Log("Loaded Resource " + scenarioSave.resources[i].id + " / " + resourcesManager.GetResource(scenarioSave.soundblocks[i].clipId).Name); } Debug.Log("Project Resources loaded"); }
public void Load(ScenarioSave s) { openedVictory = s.openedVictory; timeDelta = s.timeDelta; HousingLevels = s.HousingLevels; Prosperity = s.Prosperity; goals = s.goals; if (CampaignManager.currentLevel == -1) { CampaignManager.currentLevel = s.level; CampaignManager.currentCampaign = s.campaign; } }
public BasicWorldSave(GameObject go) { WorldController wc = go.GetComponent <WorldController>(); world = wc.Map; money = new MoneySave(wc.money); actionSelecter = new ActionSelecterControllerSave(wc.actionSelecter); diplomacy = new DiplomacySave(wc.diplomacy); scenario = new ScenarioSave(wc.scenario); Whitelist = ResourcesDatabase.Whitelist; foreach (Transform t in wc.structures.transform) { GameObject str = t.gameObject; structures.Add(new StructureSave(str.gameObject)); } }
private void LoadScenarioFile(string url) { ZipFile zip = ZipFile.Read(url); foreach (var entry in zip.Entries) { if (entry.FileName == "structure") { entry.Extract(); break; } } zip.Dispose(); string structure = File.ReadAllText("structure"); File.Delete("structure"); if (structure == "") { Debug.LogError("Chargement d'un fichier structure vide ?"); return; } ScenarioSave scenarioSave = new ScenarioSave(); XmlSerializer serializer = new XmlSerializer(scenarioSave.GetType()); using (TextReader reader = new StringReader(structure)) { scenarioSave = (ScenarioSave)serializer.Deserialize(reader); reader.Dispose(); } ResetScenario(); LoadScenarioResources(scenarioSave); LoadScenarioStructure(scenarioSave); }
private void LoadScenarioStructure(string scenarioUrl, ScenarioSave scenarioSave) { Debug.Log("Scenario Loading..."); for (int i = 0; i < scenarioSave.soundblocks.Length; i++) { Debug.Log("Loading Soundblock " + scenarioSave.soundblocks[i].blockId); scenarioManager.CreateSoundBlock(scenarioSave.soundblocks[i].blockId, scenarioSave.soundblocks[i].clipId, scenarioSave.soundblocks[i].isLooping); Debug.Log("Loaded Soundblock " + scenarioSave.soundblocks[i].blockId); } for (int i = 0; i < scenarioSave.links.Length; i++) { Debug.Log("Drawing link ( " + scenarioSave.links[i].fromSoundblock + " -> " + scenarioSave.links[i].toSoundblock + " ) "); scenarioManager.DoLink(scenarioManager.GetSoundBlock(scenarioSave.links[i].fromSoundblock), scenarioManager.GetSoundBlock(scenarioSave.links[i].toSoundblock), scenarioSave.links[i].linkType); Debug.Log("Drawn link"); } Debug.Log("Scenario Loaded"); scenarioManager.nextID = scenarioSave.soundBlockNextId; resourcesManager.nextResourceID = scenarioSave.resourceNextId; }
public void LoadScenarioStructure(ScenarioSave scenarioSave) { Debug.Log("Scenario Loading..."); for (int i = 0; i < scenarioSave.soundblocks.Length; i++) { Debug.Log("Loading Soundblock " + scenarioSave.soundblocks[i].blockId); SpawnSoundBlock(scenarioSave.soundblocks[i].position, scenarioSave.soundblocks[i].blockId, scenarioSave.soundblocks[i].clipId, scenarioSave.soundblocks[i].isLooping); Debug.Log("Loaded Soundblock " + scenarioSave.soundblocks[i].blockId); } for (int i = 0; i < scenarioSave.links.Length; i++) { Debug.Log("Drawing link ( " + scenarioSave.links[i].fromSoundblock + " -> " + scenarioSave.links[i].toSoundblock + " ) "); DrawLink(GetSoundBlock(scenarioSave.links[i].fromSoundblock), GetSoundBlock(scenarioSave.links[i].toSoundblock), scenarioSave.links[i].linkType); Debug.Log("Drawn link"); } Debug.Log("Scenario Loaded"); nextID = scenarioSave.soundBlockNextId; AppManager.Instance.ResourcesManager.nextResourceID = scenarioSave.resourceNextId; }
public WorldProgressSave(GameObject go) { WorldController w = go.GetComponent <WorldController>(); world = w.Map; productivities = new DictContainer <string, float>(ProductivityController.productivities); automation = new DictContainer <string, float>(ProductivityController.automationValue); saveDate = DateTime.Now; Debug.Log(saveDate.ToString("MM/dd/yyyy")); Events = w.notifications.Events; //SAVE IN-GAME STUFF time = new TimeSave(w.timeController); population = new PopulationSave(w.population); money = new MoneySave(w.money); camera = new CameraSave(w.cameraController); immigration = new ImmigrationSave(w.immigration); actionSelecter = new ActionSelecterControllerSave(w.actionSelecter); trade = new TradeSave(w.trade); diplomacy = new DiplomacySave(w.diplomacy); scenario = new ScenarioSave(w.scenario); research = new ResearchSave(w.research); //SAVE OBJECTS FROM PARENT //structures foreach (Transform t in w.structures.transform) { GameObject str = t.gameObject; if (str.GetComponent <StorageBuilding>() != null) { storagebuildings.Add(new StorageBuildingSave(str)); } else if (str.GetComponent <Stable>() != null) { stables.Add(new StableSave(str)); } else if (str.GetComponent <Crop>() != null) { crops.Add(new CropSave(str)); } else if (str.GetComponent <Generator>() != null) { generators.Add(new GeneratorSave(str)); } else if (str.GetComponent <WTP>() != null) { wtps.Add(new WTPSave(str)); } else if (str.GetComponent <Canal>() != null) { canals.Add(new CanalSave(str)); } else if (str.GetComponent <House>() != null) { houses.Add(new HouseSave(str.gameObject)); } else if (str.GetComponent <Farmhouse>() != null) { farmhouses.Add(new FarmhouseSave(str)); } else if (str.GetComponent <Workplace>() != null) { workplaces.Add(new WorkplaceSave(str)); } else if (str.GetComponent <Jobcentre>() != null) { jobcentres.Add(new JobcentreSave(str)); } else if (str.GetComponent <Structure>() != null) { structures.Add(new StructureSave(str)); } else { Debug.Log(str.name + " shouldn't be under structures"); } } //walkers foreach (Transform t in w.walkers.transform) { GameObject wlkr = t.gameObject; if (wlkr.GetComponent <Animal>() != null) { animals.Add(new AnimalSave(wlkr)); } else if (wlkr.GetComponent <Walker>() != null) { walkers.Add(new WalkerSave(wlkr)); } else { Debug.Log(wlkr.name + " shouldn't be under walkers"); } } }
public void SaveScenario() { ScenarioSave scenario = new ScenarioSave(); scenario.resources = new ResourceData[AppManager.Instance.ResourcesManager.Count()]; for (int i = 0; i < scenario.resources.Length; ++i) { ResourceData resourceData = new ResourceData(); resourceData.id = AppManager.Instance.ResourcesManager.Resources[i].Id; scenario.resources[i] = resourceData; } scenario.soundblocks = new SoundBlockData[blocks.Count]; int linkCount = 0; for (int i = 0; i < blocks.Count; i++) { SoundBlockData blockData = new SoundBlockData(); SoundBlock block = blocks[i]; blockData.blockId = block.soundblockId; if (block.source.clip != null) { blockData.clipId = AppManager.Instance.ResourcesManager.GetResource(block.source.clip.name).Id; } else { blockData.clipId = -1; } if (firstBlock == block) { blockData.isFirstBlock = true; } blockData.isLooping = block.source.loop; blockData.position = block.transform.localPosition; if (block.link != null) { linkCount++; } scenario.soundblocks[i] = blockData; } scenario.links = new LinkData[linkCount]; int nextLinkIndex = 0; for (int i = 0; i < blocks.Count; i++) { if (blocks[i].link != null) { LinkData link = new LinkData(); link.fromSoundblock = blocks[i].soundblockId; link.toSoundblock = blocks[i].nextBlock.soundblockId; link.linkType = blocks[i].link.linkType; link.isActive = blocks[i].link.IsActive; scenario.links[nextLinkIndex] = link; nextLinkIndex++; } } scenario.soundBlockNextId = nextID; scenario.resourceNextId = AppManager.Instance.ResourcesManager.nextResourceID; XmlSerializer writer = new XmlSerializer(scenario.GetType()); using (FileStream stream = File.Create("structure")) { writer.Serialize(stream, scenario); stream.Close(); } ZipFile zip = ZipFile.Read(scenarioUrl); zip.RemoveEntry("structure"); zip.AddFile("structure"); zip.Save(scenarioUrl); File.Delete("structure"); Debug.Log("Saved Project " + scenarioUrl); }