public bool AddScene(String desc, SceneProvider provider)
 {
     if (sceneDescriptors.ContainsKey (desc))
         return false;
     sceneDescriptors.Add (desc, provider);
     return true;
 }
Beispiel #2
0
 public bool AddScene(String desc, SceneProvider provider)
 {
     if (sceneDescriptors.ContainsKey(desc))
     {
         return(false);
     }
     sceneDescriptors.Add(desc, provider);
     return(true);
 }
Beispiel #3
0
        public override Texture2D GetThumbnail(Object obj)
        {
            var assetPath = SceneProvider.GetHierarchyAssetPath(obj as GameObject, true);

            if (String.IsNullOrEmpty(assetPath))
            {
                return(Utils.GetThumbnailForGameObject(obj as GameObject));
            }
            return(AssetPreview.GetAssetPreview(obj) ?? Utils.GetAssetPreviewFromPath(assetPath, new Vector2(64, 64), FetchPreviewOptions.Preview2D));
        }
Beispiel #4
0
        public override bool GetDescription(Object obj, StringBuilder sb)
        {
            AddSeparatorIfNeeded(sb);
            var go = obj as GameObject;

            if (go.scene.IsValid())
            {
                sb.AppendFormat("{0} ({1})", SceneProvider.GetHierarchyPath(go), go.tag);
            }
            else
            {
                sb.Append(go.tag);
            }
            return(true);
        }
Beispiel #5
0
        public void WCFServiceTest(ConceptUsecase usecase)
        {
#if WCF
            DataBaseInfo info = new DataBaseInfo();
            info.Server = "http://localhost";
            info.Port   = 8000;
            info.Path   = "Limada";
            info.Name   = "ThingGraphService";
            var handler  = new SceneProvider();
            var provider = new WCFThingGraphClientProvider();

            handler.Provider  = provider;
            handler.DataBound = usecase.GraphSceneUiManager.DataBound;
            if (handler.Open(info))
            {
                usecase.DataPostProcess(provider.host.baseAddress.AbsoluteUri);
            }
#endif
        }
Beispiel #6
0
 public bool AddScene(string desc, SceneProvider provider)
 {
     return(sceneHandler.AddScene(desc, provider));
 }
        public override object Intercept(IInvocationInfo info)
        {
            if (info.TargetMethod.Name.Equals ("isSceneJumpValid")) {
                return ((bool)info.TargetMethod.Invoke (info.Target, info.Arguments)) || (((String)info.Arguments[0]).Equals("_Settings") && scene != null);
            }

            if (info.TargetMethod.Name.Equals("loadScene")) {
                try {
                    Console.WriteLine(info.Arguments[0]);
                    if (sceneDescriptors.ContainsKey ((String)info.Arguments[0])) {
                        scene = sceneDescriptors [(String)info.Arguments[0]];
                        typeof(LobbyMenu).GetMethod ("fadeOutScene", BindingFlags.NonPublic | BindingFlags.Instance).Invoke (App.LobbyMenu, new object[] {});
                        LoadScene("_Settings");
                    } else {
                        if (scene != null)
                            typeof(LobbyMenu).GetMethod ("fadeOutScene", BindingFlags.NonPublic | BindingFlags.Instance).Invoke (App.LobbyMenu, new object[] {});
                        scene = null;
                        LoadScene((String)info.Arguments[0]);
                    }
                } catch (Exception exp) {
                    Console.WriteLine (exp);
                    LoadScene((String)info.Arguments[0]);
                }
                return null;
            }

            if (scene == null) {
                return info.TargetMethod.Invoke (info.Target, info.Arguments);
            }

            switch (info.TargetMethod.Name) {
            case "Init":
                try {
                    scene.OnCreate ((MonoBehaviour)info.Target);
                } catch (Exception exp) {
                    Console.WriteLine (exp);
                }
                //load style
                FieldInfo[] fields = typeof(SettingsMenu).GetFields (BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);
                foreach (FieldInfo field in fields) {
                    switch (field.Name) {
                    case "activeButtonStyle":
                        if (scene.ActiveButtonStyle () != null)
                            try {
                                field.SetValue (info.Target, scene.ActiveButtonStyle ());
                            } catch (Exception exp) {
                                Console.WriteLine (exp);
                            }
                        break;
                    case "buttonStyle":
                        if (scene.ButtonStyle () != null)
                            try {
                                field.SetValue (info.Target, scene.ButtonStyle ());
                            } catch (Exception exp) {
                                Console.WriteLine (exp);
                            }
                        break;
                    case "regularUI":
                        if (scene.UISkin () != null)
                            try {
                                field.SetValue (info.Target, scene.UISkin ());
                            } catch (Exception exp) {
                                Console.WriteLine (exp);
                            }
                        break;
                    case "settingsSkin":
                        if (scene.Skin () != null)
                            try {
                                field.SetValue (info.Target, scene.Skin ());
                            } catch (Exception exp) {
                                Console.WriteLine (exp);
                            }
                        break;
                    }
                }
                break;

            case "OnGUI":
                try {
                    GUI.depth = 21;
                    GUI.skin = (GUISkin)typeof(SettingsMenu).GetField ("settingsSkin" ,BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance).GetValue(info.Target);
                    GUI.skin.label.alignment = TextAnchor.MiddleCenter;
                    scene.OnGUI ();
                } catch (Exception exp) {
                    Console.WriteLine (exp);
                }
                break;

            case "OnDestroy":
                try {
                    scene.OnDestroy ();
                } catch (Exception exp) {
                    Console.WriteLine (exp);
                }
                break;
            }

            return null;
        }
 public bool AddScene(string desc, SceneProvider provider)
 {
     return sceneHandler.AddScene(desc, provider);
 }
Beispiel #9
0
        public override object Intercept(IInvocationInfo info)
        {
            if (info.TargetMethod.Name.Equals("isSceneJumpValid"))
            {
                return(((bool)info.TargetMethod.Invoke(info.Target, info.Arguments)) || (((String)info.Arguments[0]).Equals("_Settings") && scene != null));
            }

            if (info.TargetMethod.Name.Equals("loadScene"))
            {
                try {
                    Console.WriteLine(info.Arguments[0]);
                    if (sceneDescriptors.ContainsKey((String)info.Arguments[0]))
                    {
                        scene = sceneDescriptors [(String)info.Arguments[0]];
                        typeof(LobbyMenu).GetMethod("fadeOutScene", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(App.LobbyMenu, new object[] {});
                        LoadScene("_Settings");
                    }
                    else
                    {
                        if (scene != null)
                        {
                            typeof(LobbyMenu).GetMethod("fadeOutScene", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(App.LobbyMenu, new object[] {});
                        }
                        scene = null;
                        LoadScene((String)info.Arguments[0]);
                    }
                } catch (Exception exp) {
                    Console.WriteLine(exp);
                    LoadScene((String)info.Arguments[0]);
                }
                return(null);
            }

            if (scene == null)
            {
                return(info.TargetMethod.Invoke(info.Target, info.Arguments));
            }

            switch (info.TargetMethod.Name)
            {
            case "Init":
                try {
                    scene.OnCreate((MonoBehaviour)info.Target);
                } catch (Exception exp) {
                    Console.WriteLine(exp);
                }
                //load style
                FieldInfo[] fields = typeof(SettingsMenu).GetFields(BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);
                foreach (FieldInfo field in fields)
                {
                    switch (field.Name)
                    {
                    case "activeButtonStyle":
                        if (scene.ActiveButtonStyle() != null)
                        {
                            try {
                                field.SetValue(info.Target, scene.ActiveButtonStyle());
                            } catch (Exception exp) {
                                Console.WriteLine(exp);
                            }
                        }
                        break;

                    case "buttonStyle":
                        if (scene.ButtonStyle() != null)
                        {
                            try {
                                field.SetValue(info.Target, scene.ButtonStyle());
                            } catch (Exception exp) {
                                Console.WriteLine(exp);
                            }
                        }
                        break;

                    case "regularUI":
                        if (scene.UISkin() != null)
                        {
                            try {
                                field.SetValue(info.Target, scene.UISkin());
                            } catch (Exception exp) {
                                Console.WriteLine(exp);
                            }
                        }
                        break;

                    case "settingsSkin":
                        if (scene.Skin() != null)
                        {
                            try {
                                field.SetValue(info.Target, scene.Skin());
                            } catch (Exception exp) {
                                Console.WriteLine(exp);
                            }
                        }
                        break;
                    }
                }
                break;

            case "OnGUI":
                try {
                    GUI.depth = 21;
                    GUI.skin  = (GUISkin)typeof(SettingsMenu).GetField("settingsSkin", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance).GetValue(info.Target);
                    GUI.skin.label.alignment = TextAnchor.MiddleCenter;
                    scene.OnGUI();
                } catch (Exception exp) {
                    Console.WriteLine(exp);
                }
                break;

            case "OnDestroy":
                try {
                    scene.OnDestroy();
                } catch (Exception exp) {
                    Console.WriteLine(exp);
                }
                break;
            }

            return(null);
        }