source: 2013/27/TeemuM/Game/Game/Game/Game.cs @ 4405

Revision 4405, 4.1 KB checked in by janiemit, 9 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class G : PhysicsGame
10{
11    public static G game;
12    IntMeter scoreboard;
13    public Player player;
14
15    public override void Begin()
16    {
17        game = this;
18        Mouse.IsCursorVisible = true;
19
20        MultiSelectWindow menu = new MultiSelectWindow("TESTMODE", "Developer tools", "Start this thing", "Get me out of here");
21        menu.DefaultCancel = 2;
22        menu.AddItemHandler(0, delegate() { MessageDisplay.Add("Starting game..."); StartGame(); DeveloperCommand(); });
23        menu.AddItemHandler(1, StartGame);
24        menu.AddItemHandler(2, Exit);
25        Add(menu);
26    }
27
28    private void DeveloperCommand()
29    {
30        IsPaused = true;
31        InputWindow prompt = new InputWindow("");
32        prompt.TextEntered += delegate(InputWindow p)
33        {
34            if (p.InputBox.Text.Length == 0) { IsPaused = false; return; } 
35            string[] commands = p.InputBox.Text.Split(' ');
36
37            if (commands[0] == "money")
38            {
39                if (commands[1] == "add")
40                {
41                    MessageDisplay.Add("+$" + int.Parse(commands[2]));
42                }
43                else if (commands[1] == "reduce")
44                {
45                    MessageDisplay.Add("-$" + int.Parse(commands[2]) + "!");
46                }
47            }
48            else if (commands[0] == "level")
49            {
50                if (commands[1] == "up")
51                {
52                   MessageDisplay.Add("+" + int.Parse(commands[2]) + " levels");
53                }
54                else if (commands[1] == "down")
55                {
56                    MessageDisplay.Add("-" + int.Parse(commands[2]) + " levels");
57                }
58            }
59            else if (commands[0] == "item")
60            {
61                if (player.GiveWeapon(commands[1]))
62                {
63                    MessageDisplay.Add("You got " + commands[1] + "!");
64                }
65                else
66                {
67                    MessageDisplay.Add("What " + commands[1] + "?");
68                }
69            }
70            else if (commands[0] == "powerup")
71            {
72                if (player.PowerUp(commands[1], int.Parse(commands[2])))
73                    MessageDisplay.Add("Activated " + commands[1] + " powerup");
74                else
75                    MessageDisplay.Add("No such powerup");
76            }
77            else if (commands[0] == "exit")
78            {
79                Exit();
80            }
81            else { MessageDisplay.Add("Unknow command!"); }
82
83            DeveloperCommand();
84        };
85        Add(prompt);
86    }
87
88    private void StartGame()
89    {
90        Keyboard.Listen(Key.Escape, ButtonState.Pressed, delegate() { PauseMenu(); }, null);
91        Keyboard.Listen(Key.Tab, ButtonState.Pressed, DeveloperCommand, null);
92        AddScoreMeter();
93
94        player = new Player(50, 50, 5, true);
95        Add(player);
96        createZ();
97    }
98   
99    void createZ()
100    {
101        Add(new Zombie1(50, 50, 100, 100, 5));       
102    }
103
104    private void AddScoreMeter()
105    {
106        scoreboard = new IntMeter(0);
107        scoreboard.AddOverTime(100, 10);
108
109        Label ScoreScreen = new Label();
110        ScoreScreen.X = 0;
111        ScoreScreen.Y = Screen.Bottom + 100;
112        ScoreScreen.TextColor = Color.Black;
113        ScoreScreen.Color = Color.White;
114        ScoreScreen.BindTo(scoreboard);
115        Add(ScoreScreen);
116    }
117
118    private void SaveAndBackToMenu()
119    {
120        ClearAll();
121        MessageDisplay.Add("Saved!");
122        Begin();
123    }
124
125    public void PauseMenu()
126    {
127        MultiSelectWindow menu = new MultiSelectWindow("Pause Menu", "Resume Game", "Back to Menu", "Exit Game");
128        menu.DefaultCancel = 0;
129        menu.AddItemHandler(0, delegate { IsPaused = false; });
130        menu.AddItemHandler(1, SaveAndBackToMenu);
131        menu.AddItemHandler(2, Exit);
132        IsPaused = true;
133        Add(menu);
134
135    }
136}
Note: See TracBrowser for help on using the repository browser.