source: 2015/26/MikkoL/JRPG/JRPG/JRPG/Overworld/MapData.cs @ 6304

Revision 6304, 1.8 KB checked in by mijoliim, 5 years ago (diff)

Taistelut melkein toimivat.

Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using Jypeli;
6
7public class MapData
8{
9    public static List<EnemyGroup> Enemies = new List<EnemyGroup>();
10    public static List<Image> _BackgroundImages = new List<Image>();
11
12    public static int StepsToAnEncounter { get; set; }
13    public static int EncounterProbability { get; set; }
14
15    public string CurrentMapIndex;
16
17    public List<EnemyGroup> EnemiesList()
18    {
19        return Enemies;
20    }
21    public List<Image> BackgroundImages()
22    {
23        return _BackgroundImages;
24    }
25
26    public EnemyGroup PickRandomWeightedGroup(List<EnemyGroup> Probabilities, Random r)
27    {
28        int totalWeight = Probabilities.Sum(G => G.EncounterProbability);
29        int weightedPick = r.Next(totalWeight);
30        foreach (var item in Probabilities)
31        {
32            if (weightedPick < item.EncounterProbability)
33            {
34                return item;
35            }
36            weightedPick -= item.EncounterProbability;
37        }
38        throw new InvalidOperationException("List must have changed or list count is zero");
39    }
40
41
42    public void LoadMapDataFromString(string MapIndex)
43    {
44        CurrentMapIndex = MapIndex;
45
46        if (MapIndex == "Test")
47        {
48            StepsToAnEncounter = 5;
49            EncounterProbability = 25;
50
51            InitializeEnemies(MapIndex);
52
53            _BackgroundImages.Add(Images.Backgrounds.Test);
54        }
55    }
56
57    public void InitializeEnemies(string MapIndex)
58    {
59        if (MapIndex == "Test")
60        {
61            Enemies.Clear();
62
63            EnemyBase Ghost = EnemyList.Spookt();
64
65            EnemyGroup Group = new EnemyGroup(100);
66
67            Group.Add(Ghost);
68
69            Enemies.Add(Group);
70        }
71    }
72}
Note: See TracBrowser for help on using the repository browser.