xerios / screenmanager Goto Github PK
View Code? Open in Web Editor NEWFlexible way to manage screens with transitions for Unity
License: MIT License
Flexible way to manage screens with transitions for Unity
License: MIT License
Hello,
I have a problem with the Spreading of the Screens inside of my ScreenManager.
I spread my screens so I can edit everything nicely and then I unspread them before pressing Play as the ScreenManager won't work when I leave it spreaded.
The issue is that the unspread state does often not get saved. So I need to go into that scene again, unspread my SceneManager, change something else in the scene so that Saving the scene actually saves something together with the unspread state. But this works not always.
Is it possible to force unspreading on Play or to save the state? or make the ScreenManager work correctly although I didn't unspread my screens before playing?
when I haven't unspread my Screens before playing the scene, the Screens are not visible when showing a screen. Maybe some z-layering issue? I can see the screens getting activated in the Editor but they are not visible. When the unspread-state got saved correctly, my screens are working normal.
This is really annoying while designing screens and testing all the time.
Any feedback is appreciated.
Cheers, Rob
Hi there, is there any back button functionality? Maybe it could go through the screen stack and show the previous screen.
Hi,
When I pause the game using deltaTime = 0f, OpenScreen or Popup does not work (Maybe because of using couroutine ). How can we pass this?
Thank so much!
Hi,
I think you can write simple Node editor (e.x using https://github.com/Seneral/Node_Editor) to create navigation between screen. My idea is:
What do you think about this idea?
First of all, i think it is the simple and awesome solution! Thank so much for this lib!
My game have 3 screens: Menu, MainGame, GameOver and i using screenmgr.Show("SceneName") for changing between screens.
When user plays a lot, i see on editor the Stack contains many screens. Is this problem for memory or GC?
Is there any way to reduce stack in this case or this design is for some purpose?
Thank so much!
Not a fan that there is an inconsistant code style. Eg some classes have { at the end of the line, some { are on a new line.
Would suggest a .editorconfig or simply apply code formatting to all.
Happy to do this in PR but it would be new line curleys for the win :)
I absolutely love this UI solution, but when I go to a different scene and come back to the one with the ScreenManager, the UI doesn't show up. When I look in the inspector, all of my UI elements are inactive and in the inspector, the game object with the ScreenManager looks like it's missing a few things. Am I doing something really dumb because ScreenManager is not supposed to be used this way?
Would be really nice to have a Unity Package so we can add library via Package Manager git url, rather than manually add files.
In ScreenManager.cs, on line 114, why do you use WaitForSecondsRealtime(0.1f)
? I'm assuming this is for optimization purposes but since it's fps-independent, isn't it going to degrade performance on low-end devices? For example, if the game is already lagging due to a scene loading this piece of code will still try to run.
Can you please tell me how can I make a swipe between the screens?
Hi,
I have Ingame screen that extend BaseScreen. I wonder what is best function to init and start game logic? (For example we will init level and start update loop )
Is this: OnAnimationInEnd ?
Thank so much!
This issue only happens the first time you have tween the screen.
It seams to flicker a little bit first.
Not sure if anybody else has noticed it.
Hi,
I just wanted to know the difference between these two screens, and how does it really affect if I use one instead of other.
Edit- My use case is that I wanted to create different selection panels before starting the game. All of the selection panels are full canvas size panels. With a flow something like this-
I wanted to be able to load and go back from screens accordingly
(I did not know how to add the "how-to" label since this is not an issue, rather just a question)
Hi, currently i am working on vertical shooting game (think of sky force or other galaxy shooter game)
I think with the power of this lib, if we support custom with or height of each screen, and then we support screen scrolling (vertical or horizontal ), we will have awesome screen editor for building platformer or galaxy fighter game?
What do you think about that feature? Thank so much@
GUI.skin.FindStyle("TL tab mid")
returns null. Other calls to FindStyle return null as well, not sure if Unity changed anything regarding GUIStyles...
NullReferenceException: Object reference not set to an instance of an object
UnityEngine.GUILayoutEntry.ApplyStyleSettings (UnityEngine.GUIStyle style) (at C:/buildslave/unity/build/Modules/IMGUI/LayoutEntry.cs:67)
UnityEngine.GUILayoutGroup.ApplyStyleSettings (UnityEngine.GUIStyle style) (at C:/buildslave/unity/build/Modules/IMGUI/LayoutGroup.cs:87)
UnityEngine.GUILayoutEntry.set_style (UnityEngine.GUIStyle value) (at C:/buildslave/unity/build/Modules/IMGUI/LayoutEntry.cs:31)
UnityEngine.GUILayoutUtility.BeginLayoutGroup (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options, System.Type layoutType) (at C:/buildslave/unity/build/Modules/IMGUI/GUILayoutUtility.cs:303)
UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Modules/IMGUI/GUILayout.cs:257)
UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Modules/IMGUI/GUILayout.cs:249)
ScreenMgr.ScreenManagerEditor.OnInspectorGUI () (at Assets/Plugins/ScreenManager-master/ScreenManager/Editor/ScreenManagerEditor.cs:193)
UnityEditor.InspectorWindow.DoOnInspectorGUI (System.Boolean rebuildOptimizedGUIBlock, UnityEditor.Editor editor, System.Boolean wasVisible, UnityEngine.Rect& contentRect) (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1625)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.