Changeset 4463


Ignore:
Timestamp:
2013-07-05 11:27:18 (10 years ago)
Author:
jaollipa
Message:

RREnemySpawner slightly redesigned.

Location:
2013/27/JaakkoL/RampageRebellion/RampageRebellion
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • 2013/27/JaakkoL/RampageRebellion/RampageRebellion/RampageRebellion/RRBegin.cs

    r4461 r4463  
    392392 
    393393        // Starts enemy spawning; ES.levels() for the pre-designed levels and ES.arcade() for arcade. 
    394         RREnemySpawner ES = new RREnemySpawner(); 
    395         if (levelsOn) ES.levels(); 
    396         else ES.arcade(); 
     394        RREnemySpawner ES; 
     395        if (levelsOn) ES = new RREnemySpawner("levels"); 
     396        else ES = new RREnemySpawner("arcade"); 
    397397 
    398398        Gravity = GRAVITY; 
  • 2013/27/JaakkoL/RampageRebellion/RampageRebellion/RampageRebellion/RREnemySpawner.cs

    r4455 r4463  
    1515/* Teemun TODO 
    1616 * - Arcade Mode: high score 
    17  * - Upgrades: AYS 
    1817 * - Enemy AI 
    19  * - Multiplier function?: -THR 
    2018 * - Common enemy framework 
    21  * - Arcade/Campaign selector: -JAKE 
    2219 * - Actual level design: -THR 
    2320 */ 
    2421public class RREnemySpawner 
    2522{ 
    26     public RREnemySpawner() 
    27     { 
     23    private string gameMode = ""; 
     24    private Thread spawnerThread; 
     25    private bool isPaused = false; 
     26 
     27    public RREnemySpawner(string requestedGameMode) 
     28    { 
     29        gameMode = requestedGameMode; 
     30 
     31        if (gameMode == "arcade") 
     32        { 
     33            spawnerThread = new Thread(arcade); 
     34        } 
     35        else if (gameMode == "levels") 
     36        { 
     37            List<RRLevel> levelList = new List<RRLevel>(); 
     38            levelList = loadLevelsFromXML(); 
     39            spawnerThread = new Thread(delegate() { executeLevelList(levelList); }); 
     40        } 
     41        else 
     42        { 
     43            // Throw an exception! 
     44        } 
     45 
     46        spawnerThread.Start(); 
     47        spawnerThread.IsBackground = true; 
    2848    } 
    2949 
     
    4969        }; 
    5070        t.Start(); 
    51     } 
    52  
    53     public void levels() 
    54     { 
    55         List<RRLevel> levelList = new List<RRLevel>(); 
    56         levelList = loadLevelsFromXML(); 
    57  
    58         Thread spawnerThread = new Thread(delegate() 
    59         { 
    60             executeLevelList(levelList); 
    61         }); 
    62  
    63         spawnerThread.IsBackground = true; 
    64         spawnerThread.Start(); 
     71 
     72        // Stops the stopwatch when paused, and resumes it when unpaused. 
     73        while (true) 
     74        { 
     75            if (isPaused) stopwatch.Stop(); 
     76            while (isPaused) Thread.Sleep(1); 
     77            stopwatch.Start(); 
     78        } 
    6579    } 
    6680 
     
    147161    private void executeLevelList(List<RRLevel> levelList) 
    148162    { 
     163        RampageRebellion.getGame().Gravity = new Vector(0, 0); 
    149164        while (levelList.Count > 0) 
    150165        { 
     
    159174                // Wait for two seconds before launching the next wave. 
    160175                Thread.Sleep(2000); 
     176 
     177                // Play wave end music 
     178                SoundEffect waveIncoming = Jypeli.Game.LoadSoundEffect("Bomb2-Warp2"); 
     179                waveIncoming.Play(); 
     180 
     181                Thread.Sleep(2890); 
    161182            } 
    162183 
     
    164185            levelList.RemoveAt(0); 
    165186 
    166             //RampageRebellion.UpgradeScreen(); 
     187            RampageRebellion.getGame().UpgradeMenu(); 
    167188        } 
    168189 
  • 2013/27/JaakkoL/RampageRebellion/RampageRebellion/RampageRebellionContent/levels.xml

    r4455 r4463  
    3636  </level> 
    3737  <level> 
    38     <wave> 
     38    <!--<wave> 
    3939      <enemy type="Medium" x="0" y="0"></enemy> 
    4040      <enemy type="Small" x="0" y="70"></enemy> 
     
    7878    </wave> 
    7979    <wave> 
    80       <enemy type="Medium" x="-70" y="0"></enemy> 
    81       <enemy type="Medium" x="70" y="70"></enemy> 
    82       <enemy type="Small" x="-120" y="120"></enemy> 
    83       <enemy type="Small" x="120" y="120"></enemy> 
    84       <enemy type="Big" x="-170" y="170"></enemy> 
    85       <enemy type="Big" x="170" y="170"></enemy> 
    86     </wave> 
     80      <enemy type="Medium" x="0" y="0"></enemy> 
     81      <enemy type="Medium" x="0" y="300"></enemy> 
     82      <enemy type="Small" x="-75" y="75"></enemy> 
     83      <enemy type="Small" x="75" y="75"></enemy> 
     84      <enemy type="Big" x="-150" y="150"></enemy> 
     85      <enemy type="Big" x="150" y="150"></enemy> 
     86    </wave>--> 
    8787  </level> 
    8888  <level> 
    89     <wave> 
    90       <enemy type="Small" x="100" y="100"></enemy> 
     89    <!--<wave> 
     90      <enemy type="Big" x="0" y="0"></enemy> 
     91      <enemy type="Big" x="0" y="150"></enemy> 
     92      <enemy type="Small" x="-20" y="300"></enemy> 
     93      <enemy type="Small" x="20" y="300"></enemy> 
     94      <enemy type="Medium" x="-225" y="75"></enemy> 
     95      <enemy type="Medium" x="225" y="75"></enemy> 
     96      <enemy type="Medium" x="-75" y="300"></enemy> 
     97      <enemy type="Medium" x="75" y="300"></enemy> 
    9198    </wave> 
    9299    <wave> 
    93       <enemy type="Small" x="100" y="100"></enemy> 
     100      <enemy type="Big" x="0" y="0"></enemy> 
     101      <enemy type="Small" x="-30" y="250"></enemy> 
     102      <enemy type="Small" x="30" y="250"></enemy> 
     103      <enemy type="Medium" x="-80" y="100"></enemy> 
     104      <enemy type="Medium" x="80" y="100"></enemy> 
     105      <enemy type="Small" x="-120" y="200"></enemy> 
     106      <enemy type="Small" x="120" y="200"></enemy> 
     107      <enemy type="Small" x="-150" y="300"></enemy> 
     108      <enemy type="Small" x="150" y="300"></enemy> 
    94109    </wave> 
    95110    <wave> 
     111      <enemy type="Medium" x="0" y="50"></enemy> 
     112      <enemy type="Medium" x="0" y="150"></enemy> 
     113      <enemy type="Medium" x="0" y="250"></enemy> 
    96114      <enemy type="Small" x="100" y="100"></enemy> 
     115      <enemy type="Small" x="-100" y="100"></enemy> 
     116      <enemy type="Small" x="50" y="40"></enemy> 
     117      <enemy type="Small" x="-50" y="40"></enemy> 
     118      <enemy type="Small" x="0" y="0"></enemy> 
    97119    </wave> 
    98120    <wave> 
    99       <enemy type="Small" x="100" y="100"></enemy> 
    100     </wave> 
     121      <enemy type="Big" x="-70" y="180"></enemy> 
     122      <enemy type="Big" x="70" y="180"></enemy> 
     123      <enemy type="Small" x="-250" y="0"></enemy> 
     124      <enemy type="Small" x="-250" y="100"></enemy> 
     125      <enemy type="Small" x="-250" y="200"></enemy> 
     126      <enemy type="Small" x="-250" y="300"></enemy> 
     127      <enemy type="Small" x="-250" y="400"></enemy> 
     128      <enemy type="Small" x="250" y="0"></enemy> 
     129      <enemy type="Small" x="250" y="100"></enemy> 
     130      <enemy type="Small" x="250" y="200"></enemy> 
     131      <enemy type="Small" x="250" y="300"></enemy> 
     132      <enemy type="Small" x="250" y="400"></enemy> 
     133    </wave>--> 
    101134    <wave> 
    102135      <enemy type="Small" x="100" y="100"></enemy> 
     
    137170    </wave> 
    138171  </level> 
    139   <level>   
    140     <wave> 
    141       <enemy type="Small" x="100" y="100"></enemy> 
    142       <enemy type="Medium" x="150" y="150"></enemy> 
    143       <enemy type="Small" x="200" y="200"></enemy> 
    144     </wave> 
    145   </level> 
    146   <level> 
    147     <wave> 
    148       <enemy type="Small" x="300" y="100"></enemy> 
    149       <enemy type="Medium" x="300" y="150"></enemy> 
    150       <enemy type="Small" x="300" y="200"></enemy> 
    151     </wave> 
    152   </level> 
    153   <level> 
    154     <wave> 
    155       <enemy type="Big" x="200" y="400"></enemy> 
    156       <enemy type="Small" x="300" y="200"></enemy> 
    157       <enemy type="Small" x="100" y="100"></enemy> 
    158     </wave> 
    159     <wave> 
    160       <enemy type="Boss" x="200" y="300"></enemy> 
    161       <enemy type="Medium" x="300" y="200"></enemy> 
    162       <enemy type="Medium" x="100" y="200"></enemy> 
    163     </wave> 
    164   </level> 
    165172</main> 
Note: See TracChangeset for help on using the changeset viewer.