private static void LogSceneLoaded(string id, ISceneInfo info, ISceneLoadParameters parameters, Scene scene, bool isAsync = false) { Log.Debug("Manager Scene Loader loaded", new { id, info = new { info.LoaderId, info.Address }, parameters = new { parameters.AddMode, parameters.PhysicsMode, parameters.AllowActivation }, scene = new { scene.handle, scene.name, scene.path, scene.buildIndex, scene.rootCount, scene.isSubScene }, isAsync }); }
private static void LogSceneUnload(string id, ISceneInfo info, ISceneUnloadParameters parameters, Scene scene, bool unloadUnused, bool isAsync = false) { Log.Debug("Manager Scene Loader unloading", new { id, info = new { info.LoaderId, info.Address }, parameters = new { parameters.Options }, scene = new { scene.handle, scene.name, scene.path, scene.buildIndex, scene.rootCount, scene.isSubScene }, unloadUnused, isAsync }); }
/// <summary> /// 發生於場景排行榜被選取時 /// </summary> /// <param name="sceneInfo">場景資訊</param> /// <param name="level">關卡等級</param> protected virtual void OnSceneHightScoreClick(ISceneInfo sceneInfo) { if (SceneHightScoreClick != null) { SceneHightScoreClick(this, sceneInfo, 0); } }
/// <summary> /// 發生於場景被選取時 /// </summary> /// <param name="sceneInfo">場景資訊</param> /// <param name="level">關卡等級</param> protected virtual void OnSceneChoice(ISceneInfo sceneInfo, int level) { if (SceneChoice != null) { SceneChoice(this, sceneInfo, level); } }
public void ReloadScene() { if (CurrentScene == null) { CurrentScene = new SceneName(SceneManager.GetActiveScene().name); } LoadScene(CurrentScene); }
public void LoadScene(ISceneInfo sceneInfo) { var sceneName = sceneInfo.Name; SceneManager.LoadScene(sceneName); CurrentScene = sceneInfo; _events.Fire(new Scene_Loaded(sceneInfo)); }
/// <summary> /// 增加場景資訊管理物件 /// </summary> /// <param name="sceneSet">場景資訊</param> public void AddScene(ISceneInfo sceneSet) { _Items.Add(sceneSet.SceneID, sceneSet); sceneSet.InfoChanged += (x, e) => { _GetInfo = false; }; _GetInfo = false; }
public void LoadScene(ISceneInfo sceneInfo) { var sceneName = sceneInfo.Name; TryOpenLoadingScene(); _helper.LoadScene(sceneName, (name) => { if (name == sceneName) { CurrentScene = sceneInfo; _events.Fire(new Scene_Loaded(sceneInfo)); } }); }
public void HightScoreShow(ISceneInfo sceneInfo) { if (_UIHightScore != null) { return; } LockScene(Color.FromArgb(100, 0, 0, 0), 3); _UIHightScore = new ObjectUIHighScore(DirectionType.Center, 5, 5, MoveNull.Value, sceneInfo); _UIHightScore.Close += (x, e) => { HightScoreHide(); }; _UIHightScore.Layout.X = Width / 2; _UIHightScore.Layout.Y = Height / 2; UIObjects.Add(_UIHightScore); }
private static void LogSceneUnloaded(string id, ISceneInfo info, ISceneUnloadParameters parameters, bool unloadUnused, bool isAsync = false) { Log.Debug("Manager Scene Loader unloaded", new { id, info = new { info.LoaderId, info.Address }, parameters = new { parameters.Options }, unloadUnused, isAsync }); }
private static void LogSceneLoading(string id, ISceneInfo info, ISceneLoadParameters parameters, bool isAsync = false) { Log.Debug("Manager Scene Loader loading", new { id, info = new { info.LoaderId, info.Address }, parameters = new { parameters.AddMode, parameters.PhysicsMode, parameters.AllowActivation }, isAsync }); }
public AsyncSceneLoader(IEvent events, Settings settings, AsyncLoadHelper helper) { _events = events; _loadingScene = settings.LoadingSceneInfo; _helper = helper; }
public Scene_Loaded(ISceneInfo sceneInfo) { SceneInfo = sceneInfo; // To Do... }
public ObjectUIHighScore(DirectionType anchor, int x, int y, MoveBase moveObject, ISceneInfo sceneInfo) : base(anchor, x, y, 380, 390, new DrawUIFrame(Color.AliceBlue, Color.CornflowerBlue, 2, 20), moveObject) { Propertys.Add(new PropertyShadow(0, 6, 0.95F, 1)); DrawUIText drawCommandClose = new DrawUIText(Color.RoyalBlue, Color.Gray, Color.FromArgb(175, 220, 230, 255), Color.FromArgb(100, 140, 255), 1, 10, "關 閉", new Font("微軟正黑體", 14), GlobalFormat.MiddleCenter); DrawUIText drawCommandCloseHover = new DrawUIText(Color.RoyalBlue, Color.Gray, Color.FromArgb(220, 255, 250, 235), Color.FromArgb(100, 140, 255), 1, 10, "關 閉", new Font("微軟正黑體", 14), GlobalFormat.MiddleCenter); _CommandClose = new ObjectUI(285, 10, 75, 30, drawCommandClose) { DrawObjectHover = drawCommandCloseHover }; _CommandClose.Propertys.Add(new PropertyShadow(2, 2) { RFix = -0.5F, GFix = -0.5F, BFix = -0.5F, Opacity = 0.2F }); _CommandClose.Layout.Depend.Anchor = DirectionType.TopLeft; _CommandClose.Layout.Depend.SetObject(this); _CommandClose.Click += (s, e) => { OnClose(); }; UIObjects.Add(_CommandClose); if (sceneInfo == null) { return; } _SceneInfo = sceneInfo; int itemWidth = 40; int itemHeight = 25; int left = 15; int top = 15; _SceneButtons = new ObjectUI[sceneInfo.MaxLevel]; for (int i = 0; i < sceneInfo.MaxLevel; i++) { int idx = i + 1; DrawUIFrame drawObject = new DrawUIFrame(Color.FromArgb(175, 255, 255, 255), Color.FromArgb(100, 140, 255), 1, 8) { Scale = 0.8F }; ObjectUI newObject = new ObjectUI(left, top, itemWidth, itemHeight, drawObject); newObject.Layout.Depend.SetObject(this); newObject.Layout.Depend.Anchor = DirectionType.TopLeft; newObject.Propertys.Add(new PropertyShadow(3, 3) { Opacity = 0.2F, ScaleX = 0.95F, ScaleY = 0.95F }); UIObjects.Add(newObject); left += itemWidth; drawObject.AfterDraw += (s, g, r) => { g.DrawString(idx.ToString(), _ItemFont, Brushes.RoyalBlue, r, GlobalFormat.MiddleCenter); }; newObject.GetFocus += (s, e) => { (s as ObjectUI).DrawObject.Colors.SetColor("Border", Color.Red); _HoverLevel = idx; }; newObject.LostFocus += (s, e) => { (s as ObjectUI).DrawObject.Colors.SetColor("Border", Color.FromArgb(100, 140, 255)); _HoverLevel = 0; }; newObject.Click += (s, e) => { SelectedIndex = _HoverLevel; }; _SceneButtons[i] = newObject; } SelectedIndex = 1; DrawUIFrame drawPanel = new DrawUIFrame(Color.FromArgb(180, 220, 240, 250), Color.Empty, 0, 0); ObjectUI panel = new ObjectUI(10, 50, Layout.Width - 20, Layout.Height - 60, drawPanel); panel.Propertys.Add(new PropertyShadow(-2, -2)); panel.Layout.Depend.SetObject(this); panel.Layout.Depend.Anchor = DirectionType.Left | DirectionType.Top; UIObjects.Add(panel); _DrawRects = new DrawUIText[3, 10]; _DrawInfos = new string[3, 10]; int rectLeft = 5, rectTop = 5; int rectHeight = 27; for (int i = 0; i < 10; i++) { _DrawRects[0, i] = new DrawUIText(Color.RoyalBlue, Color.Empty, Color.AliceBlue, Color.Empty, 0, 0, "", _ItemFont2, GlobalFormat.MiddleCenter); _DrawRects[1, i] = new DrawUIText(Color.RoyalBlue, Color.Empty, Color.WhiteSmoke, Color.Empty, 0, 0, "", _ItemFont2, GlobalFormat.MiddleLeft); _DrawRects[2, i] = new DrawUIText(Color.RoyalBlue, Color.Empty, Color.WhiteSmoke, Color.Empty, 0, 0, "", _ItemFont2, GlobalFormat.MiddleRight); ObjectUI object1 = new ObjectUI(rectLeft, rectTop, 35, rectHeight, _DrawRects[0, i]); ObjectUI object2 = new ObjectUI(rectLeft + 40, rectTop, 210, rectHeight, _DrawRects[1, i]); ObjectUI object3 = new ObjectUI(rectLeft + 255, rectTop, 90, rectHeight, _DrawRects[2, i]); object1.Propertys.Add(new PropertyShadow(2, 2)); object2.Propertys.Add(new PropertyShadow(2, 2)); object3.Propertys.Add(new PropertyShadow(2, 2)); object1.Layout.Depend.SetObject(panel); object2.Layout.Depend.SetObject(panel); object3.Layout.Depend.SetObject(panel); object1.Layout.Depend.Anchor = DirectionType.Left | DirectionType.Top; object2.Layout.Depend.Anchor = DirectionType.Left | DirectionType.Top; object3.Layout.Depend.Anchor = DirectionType.Left | DirectionType.Top; UIObjects.Add(object1); UIObjects.Add(object2); UIObjects.Add(object3); rectTop += rectHeight + 5; } _DrawCommandMessage = new DrawUIText(Color.Red, Color.Gray, Color.LightYellow, Color.Black, 1, 0, "連線中...", new Font("微軟正黑體", 20), GlobalFormat.MiddleCenter); _CommandMessage = new ObjectUI(DirectionType.Center, 0, 0, 200, 60, _DrawCommandMessage); _CommandMessage.Layout.Depend.SetObject(this); _CommandMessage.Layout.Depend.Anchor = DirectionType.Center; _CommandMessage.Propertys.Add(new PropertyShadow(2, 4)); UIObjects.Add(_CommandMessage); LoadData(); }