public bool Active(string name, bool active = true) { Window wnd = Find(name); if (wnd == null) { return(false); } if (wnd.Wnd == null) // 用到时才加载 { Debug.LogFormat("Start {0} loading...", wnd.Bundle); AssetManager.Instance.LoadUI(wnd.Bundle, (GameObject prefab) => { if (wnd.Wnd == null) { LayerSet = wnd.GetLayer(); wnd.Wnd = Util.Instantiate(prefab, WndParent); wnd.Wnd.SetActive(false); wnd.Start(); wnd.Active(active); } }); return(true); } else if (!wnd.Done) // TODO: 临时这样写 { wnd.Start(); } wnd.Active(active); return(true); }
void Start() { if (me != null) { Destroy(gameObject); return; } me = this; DontDestroyOnLoad(gameObject); tr = transform; aud = GetComponent <AudioSource>(); fade = tr.Find("fade/fade").GetComponent <Renderer>(); Window.Start(); sceneTempo = 0; AnimateFade(); block = true; currentScene = SceneManager.GetActiveScene().name; SetNewScene(string.Empty, currentScene); MapReader.SetRouteList(); fadeAudio = false; #if UNITY_EDITOR #else Cursor.visible = false; #endif }
//Animation need more work //Collision //GUI .Button,GUI Panal ,Lable etc //Partical System //movie files //camera system //Event System need more events //load data(image,sprite,animation,tilemap,movie etc) form XML //Visual editor // //Additional // //Rigidbody //path finding //AI agents //Networking public static void Main() { w = new Window("test", new Vector2D(800, 640)) { FPS = 60 }; Scene sc = new Scene("sc", w); Scene sc2 = new Scene("sc2", w); Scene grass = new Scene("grass", w); Image img = new Image(w, "sc", "img", @"\jk.png", new Vector2D(300, 300), new Vector2D(200, 200)); Sprite s = new Sprite(w, "sc", "s", @"/foo.png", 4, new Vector2D(0, 0), new Vector2D(64, 250)); Sprite s2 = new Sprite(w, "sc2", "s2", @"/sprite.bmp", 8, new Vector2D(300, 300), new Vector2D(32, 32)); TileMap tm = new TileMap(w, "grass", @"\t\dirt.png", new Vector2D(40, 40), new Vector2D(0, 800), new Vector2D(550, 640)); TileMap tm2 = new TileMap(w, "grass", @"\t\grass.png", new Vector2D(40, 44), new Vector2D(0, 840), new Vector2D(510, 550)); w.SceneManager.GetGameObject <Image>("sc", "img").Rotate(270); w.SceneManager.GetGameObject <Sprite>("sc", "s").Flip(0, 0, 0, 1); w.SceneManager.GetGameObject <Sprite>("sc", "s").Velocity = new Vector2D(1, 0); w.SceneManager.LoadScene("grass"); w.SceneManager.LoadScene("sc2"); w.SceneManager.LoadScene("sc"); Events e = new Events(w); w.Start(); }
static void Main(string[] args) { #if DEBUG chdir("../../../"); #endif Window window = new Window(); window.Create("application-02", (int)DisplayWidth, (int)DisplayHeight); GraphicsDevice.Instance.Create(window, FullScreen); SoundDevice.Instance.Create(window.Handle); if (ShowDebugInfo) { runner = CommandRunner.Execute(); monitor = GameSystemMonitor.Execute(); } foreach (var file in Directory.GetFiles("res/mission/", "*.cs")) { var asm = ScriptCompiler.CompileAssemblyFromFile(new ScriptCompilerParameters() { BaseClassName = "Script", BatchScriptStyle = false, ClassName = "Mission", GenerateExecutable = false, GenerateInMemory = true, PythonScopeStyle = false, }, file); Missions.MissionAssemblies.Add(Path.GetFileNameWithoutExtension(file), asm); } window.Updated += () => { update(); GraphicsDevice.Instance.Clear(ColorCode.Black); #if true LoadingTask loadingTask = SceneManager.TryTransitScene(); if (loadingTask.Finished) { Entity.BroadcastMessage(UpdateMessage); Entity.BroadcastMessage(RenderMessage); Entity.BroadcastMessage(TranslucentRenderMessage); Entity.BroadcastMessage(DrawMessage); } else { LoadingView.Draw(loadingTask); } #endif GraphicsDevice.Instance.Present(); if (pressed(KeyCode.Escape)) { window.Close(); } Entity.Update(); }; try { initialize(); //SceneManager.FookScene(new MainScene()); SceneManager.FookScene(new TitleScene()); //SceneManager.FookScene(new MissionSelectScene()); window.Start(); } finally { Entity.Clear(); ResourceManager.CleanUp(); GC.Collect(); finalize(); GraphicsDevice.Instance.Dispose(); SoundDevice.Instance.Dispose(); if (ShowDebugInfo) { GameSystemMonitor.Shutdown(monitor); CommandRunner.Shutdown(runner); } } }
public void CanBeStarted() { _window.Start(); _gameWindowMock.Verify(m => m.Run(20)); }
static void Main(string[] args) { Window window = new Window(); window.Initialize (new AdamoOpenGL.OpenGLDevice ()); window.Start(new Game1()); }
static void Main(string[] args) { #if DEBUG chdir("../../../"); #endif var window = new Window(); window.Create("Graphics + Collision Test", 1024, 768); var device = GraphicsDevice.Instance; device.Create(window); DepthMap.CreateDepthMap(1024, 1024); window.Updated += () => { update(); Entity.BroadcastMessage(UpdateMessage); device.SetRenderTargetAndDepthStencil(null, DepthMap); device.SetViewport(1024, 1024); device.Clear(new Color(0, 0, 0, 0)); Entity.BroadcastMessage(RenderDepthMapMessage); device.ResetRenderTargetAndDepthStencil(); device.SetViewport(1024, 768); device.Clear(ColorCode.Black); Entity.BroadcastMessage(RenderMessage); Entity.BroadcastMessage(TranslucentRenderMessage); device.Present(); if (pressed(KeyCode.Escape)) { window.Close(); } Entity.Update(); }; window.Destroyed += () => { device.UnbindAllResources(); Entity.Clear(); DepthMap.Dispose(); ResourceManager.CleanUp(); finalize(); GC.Collect(); device.Dispose(); }; try { initialize(); Scene.MakeScene(); window.Start(); } finally { window.Dispose(); } }
static void Main(string[] args) { chdir("../../../"); Window window = new Window(); window.Create("application-03", (int)DisplayWidth, (int)DisplayHeight); GraphicsDevice.Instance.Create(window, FullScreen); SoundDevice.Instance.Create(window.Handle); #if DEBUG var runner = CommandRunner.Execute(); var monitor = GameSystemMonitor.Execute(); #endif foreach (var file in Directory.GetFiles("res/mission/", "*.cs")) { var assembly = ScriptCompiler.CompileAssemblyFromFile(new ScriptCompilerParameters() { BaseClassName = "GameScript", BatchScriptStyle = false, ClassName = "Mission", GenerateExecutable = false, GenerateInMemory = true, PythonScopeStyle = false, }, file); Missions.MissionAssemblies.Add(Path.GetFileNameWithoutExtension(file), assembly); } SceneManager.SetNextScene(new TitleScene()); window.Updated += () => { EngineScript.update(); GameScript.update(); GraphicsDeviceContext.Instance.Clear(ColorCode.Black); if (SceneManager.Running) { DrawLoadingStatus(SceneManager.Scene); } else { if (SceneManager.Scene != null) { if (!SceneManager.Running) { SceneManager.NextScene(); } } else { Entity.BroadcastMessage(UpdateMessage); Entity.BroadcastMessage(RenderMessage); Entity.BroadcastMessage(TranslucentRenderMessage); Entity.BroadcastMessage(DrawMessage); } } GraphicsDeviceContext.Instance.Present(); if (pressed(KeyCode.Escape)) { window.Close(); } Entity.Update(); }; try { EngineScript.initialize(); GameScript.initialize(); window.Start(); } finally { #if DEBUG GameSystemMonitor.Shutdown(monitor); CommandRunner.Shutdown(runner); #endif Entity.Clear(); ResourceManager.CleanUp(); EngineScript.finalize(); GameScript.finalize(); GraphicsDeviceContext.Instance.Dispose(); GraphicsDevice.Instance.Dispose(); SoundDevice.Instance.Dispose(); } }