Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
GameScreen.cs
浏览该文件的文档.
1using System.Xml.Linq;
2using Engine;
4
5namespace Game {
6 public class GameScreen : Screen {
7 public double m_lastAutosaveTime;
8
9 public GameScreen() {
10 XElement node = ContentManager.Get<XElement>("Screens/GameScreen");
11 LoadContents(this, node);
12 IsDrawRequired = true;
13 Window.Deactivated += delegate { GameManager.SaveProject(true, false); };
14 Window.Closed += delegate { GameManager.DisposeProject(); };
15 }
16
17 public override void Enter(object[] parameters) {
18 if (GameManager.Project != null) {
19 GameManager.Project.FindSubsystem<SubsystemAudio>(true).Unmute();
20 }
23 }
24
25 public override void Leave() {
26 if (GameManager.Project != null) {
27 GameManager.Project.FindSubsystem<SubsystemAudio>(true).Mute();
28 GameManager.SaveProject(true, true);
29 }
30 ShowHideCursors(true);
32 }
33
34 public override void Update() {
35 if (GameManager.Project != null) {
36 double realTime = Time.RealTime;
37 if (realTime - m_lastAutosaveTime > 300.0) {
38 m_lastAutosaveTime = realTime;
39 GameManager.SaveProject(false, true);
41 }
43 && GameManager.Project.FindSubsystem<SubsystemGameInfo>(true).TotalElapsedGameTime > 1140.0) {
44 GameManager.SaveProject(true, false);
46 ScreensManager.SwitchScreen("TrialEnded");
47 }
49 }
51 GameManager.Project == null
55 );
56 }
57
58 public override void Draw(DrawContext dc) {
61 Display.Clear(Color.Black, 1f, 0);
62 }
63 }
64
65 public void ShowHideCursors(bool show) {
66 Input.IsMouseCursorVisible = show;
67 Input.IsPadCursorVisible = show;
68 }
69 }
70}
static void Clear(Vector4? color, float? depth=null, int? stencil=null)
static double RealTime
定义 Time.cs:38
static Action Closed
static Action Deactivated
static object Get(Type type, string name)
static bool HasDialogs(Widget parentWidget)
static void SaveProject(bool waitForCompletion, bool showErrorDialog)
static void UpdateProject()
static void DisposeProject()
static Project Project
override void Update()
override void Draw(DrawContext dc)
override void Leave()
void ShowHideCursors(bool show)
override void Enter(object[] parameters)
static void SwitchScreen(string name, params object[] parameters)
static ResolutionMode ResolutionMode
Widget RootWidget
bool IsDrawRequired
virtual void LoadContents(object eventsTarget, XElement node)
static Color Black
定义 Color.cs:7