Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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);
        }