private void PopulateListBox() { if (WarFile.AreResoucesLoaded == false) { listBox.Items.Clear(); return; } int resCnt = WarFile.Count; ObservableCollection <ListEntry> coll = new ObservableCollection <ListEntry>(); for (int i = 0; i < resCnt; i++) { ListEntry entry = new ListEntry(); entry.Resource = WarFile.GetResource(i); entry.Index = i; entry.Name = WarFile.KnowledgeBase[i].text; entry.Type = entry.Resource != null ? entry.Resource.Type : ContentFileType.FileUnknown; coll.Add(entry); } ListEntryHeader header = new ListEntryHeader(); header.IndexDesc = "Index"; header.NameDesc = "Name"; header.TypeDesc = "Type"; listBox.Header = header; listBox.ItemsSource = coll; }
internal void LoadCampaignLevel(Race race, int level) { string basenameInfo = race + " " + level; LevelInfoResource levelInfo = WarFile.GetResourceByName(basenameInfo) as LevelInfoResource; LevelPassableResource levelPassable = WarFile.GetResource(levelInfo.PassableResourceIndex) as LevelPassableResource; LevelVisualResource levelVisual = WarFile.GetResource(levelInfo.VisualResourceIndex) as LevelVisualResource; if (InputHandler != null) { InputHandler.SetMapUnitOrder(MapUnitOrder.None); } CurrentMap = new Map(levelInfo, levelVisual, levelPassable); SetCameraOffset(levelInfo.StartCameraX * CurrentMap.TileWidth, levelInfo.StartCameraY * CurrentMap.TileHeight); CurrentMap.OnSelectedEntitiesChanged += HandleOnSelectedEntitiesChanged; }
public bool LoadSound(int resIndex) { if (effectCache.ContainsKey(resIndex) || WarFile.AreResoucesLoaded == false) { return(false); } RawResource res = WarFile.GetResource(resIndex) as RawResource; if (res == null || res.Type != ContentFileType.FileWave) { return(false); } using (MemoryStream memStream = new MemoryStream(res.Resource.data)) { SoundEffect eff = SoundEffect.FromStream(memStream); effectCache.Add(resIndex, eff); } return(true); }