Example #1
0
    static void Init()
    {
        // Get existing open window or if none, make a new one
        LevelWindow window = (LevelWindow)GetWindow(typeof(LevelWindow));

        window.Show();
    }
Example #2
0
        public MainWindowViewModel()
        {
            Title = "WPF Learning Game";

            PlayCommand = new RelayCommand(o =>
            {
                try
                {
                    var levelWindow = new LevelWindow();

                    (levelWindow.DataContext as LevelWindowViewModel).Level =
                        Activator.CreateInstance(SelectedLevel.Value.Key) as UserControl;


                    levelWindow.ShowDialog();
                }
                catch (Exception ex)
                {
                    string errorMessage = ex.Message;
                    string stackTrace   = ex.StackTrace;
                    var error           = ex;

                    // if you got here something is still wrong in the level
                    // check the information above and try again
                    System.Diagnostics.Debugger.Break();

                    MessageBox.Show(String.Format("{1}{0}{2}", Environment.NewLine, errorMessage, stackTrace), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }, o => SelectedLevel != null);
        }
Example #3
0
    static void Init()
    {
        // Get existing open window or if none, make a new one:
        LevelWindow window = (LevelWindow)EditorWindow.GetWindow(typeof(LevelWindow));

        window.titleContent.text = "Level Debug";
        window.Show();
    }
Example #4
0
 public WindowManager(Game1 game)
 {
     mygame         = game;
     dispMenu       = false;
     dispLevel      = false;
     dispEndLevel   = false;
     menuWindow     = new MenuWindow(mygame);
     levelWindow    = new LevelWindow(mygame);
     endLevelWindow = new EndLevelWindow(mygame);
 }
Example #5
0
    // Old code
    //public GameObject skillButton;
    //public GameObject shieldButton;

    public void Start()
    {
        isDisplaying = true;
        player       = GameObject.Find("player");
        playerScript = player.GetComponent <playerControl>();
        playerSkills = playerScript.GetPlayerSkills();
        currency     = GameObject.Find("collectables").transform.Find("currency").gameObject.GetComponent <Collectable>();
        levelWindow  = GameObject.Find("LevelWindow").GetComponent <LevelWindow>();

        // Old code
        //skillButton = GameObject.Find("Canvas").transform.Find("ShieldButton").gameObject.GetComponent<>();
        //EventSystem.current.SetSelectedGameObject(resumeButton);
        //skillTreeButton = canvas.transform.Find("ResumeButton");
        //.GetComponent<ResumeButton>();
        //"tranform.()FindObjectOfType<ResumeGame>().gameObject;
    }
Example #6
0
        private async void Awake()
        {
            Locator.Instance.RegisterIn(this);

            this.gameManager = await Locator.Instance.GetService <GameManager>();

            this.bricksManager = await Locator.Instance.GetService <BricksManager>();

            this.levelWindow = Instantiate(this.LevelWindowPrefab, this.transform).GetComponent <LevelWindow>();
            this.winWindow   = Instantiate(this.WinWindowPrefab, this.transform).GetComponent <WinWindow>();
            this.looseWindow = Instantiate(this.LooseWindowPrefab, this.transform).GetComponent <LooseWindow>();

            this.levelWindow.gameObject.SetActive(true);
            this.winWindow.gameObject.SetActive(false);
            this.looseWindow.gameObject.SetActive(false);

            this.gameManager.OnGameOver += this.ShowLoose;
            this.gameManager.OnGameWin  += this.ShowWin;

            // UniRx observation
            this.bricksManager.MovingTimer
            .Subscribe(value => this.levelWindow.NextBlockStep.text = ((int)value).ToString());

            this.gameManager.Scores
            .Subscribe(value => this.levelWindow.ScoresText.text = value.ToString());

            this.looseWindow.RestartButton
            .OnClickAsObservable()
            .Subscribe(_ => LevelManager.LoadGameScene(LevelManager.GameDifficulty));

            this.looseWindow.MainMenuButton
            .OnClickAsObservable()
            .Subscribe(_ => LevelManager.LoadMainMenuScene());

            this.winWindow.NextGameButton
            .OnClickAsObservable()
            .Subscribe(_ => LevelManager.LoadGameScene(this.gameManager.GetNextGameDifficulty()));

            this.winWindow.MainMenuButton
            .OnClickAsObservable()
            .Subscribe(_ => LevelManager.LoadMainMenuScene());
        }
Example #7
0
    // Start is called before the first frame update
    private void Start()
    {
        defaultState = new PlayerIdle(this);
        animator     = GetComponent <Animator>();
        // New line
        levelSystem = new LevelSystem();
        levelWindow = GameObject.Find("GameplayCanvas/LevelWindow").GetComponent <LevelWindow>();
        levelWindow.SetLevelSystem(levelSystem);

        if (myState == null)
        {
            myState = defaultState;
            myState.Enter();
        }
        rb = GetComponent <Rigidbody>();
        dodgeAbility.dodgeDuration = -1f;
        MAX_STAMANA = data.remainingStamana;

        healthbar       = GameObject.Find("GameplayCanvas/HealthBar_BG").GetComponent <HealthbarController>();
        stamanaMeter    = GameObject.Find("GameplayCanvas/UIDiamonds/StamanaBar/StamanaBarForeground").GetComponent <Image>();
        skillTreeWindow = GameObject.Find("GameplayCanvas").GetComponent <SkillTreeWindow>();
    }
 public LevelWindowVC(ResourceCollectorXNA.LevelWindow lv)
 {
     this.levelform = lv;
 }
Example #9
0
 void Start()
 {
     window = gameObject.AddComponent<HelpWindow>() as HelpWindow;
     levelWindow = gameObject.AddComponent<LevelWindow>() as LevelWindow;
     aboutWindow = gameObject.AddComponent<AboutWindow>() as AboutWindow;
     selectedIndex = 0;
     selectedIndex = 0;
     guiEnter = false;
     Time.timeScale = 1.0f;
     GameObject levelParametersObject = GameObject.FindWithTag ("LevelParameters");
     if (levelParametersObject != null)
     {
         levelParameters = levelParametersObject.GetComponent <LevelParameters>();
     }
     if (levelParameters == null)
     {
         Debug.Log ("Cannot find 'LevelParameters' script");
     }
 }
Example #10
0
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();
            LevelGenerator gen = (LevelGenerator)target;

            Undo.RecordObject(gen, "Edit Level Generator");
            gen.type = (LevelGenerator.Type)EditorGUILayout.EnumPopup("Type", gen.type);
            if (gen.type == LevelGenerator.Type.Finite)
            {
                gen.finiteSegmentsCount = EditorGUILayout.IntField("Segments Count", gen.finiteSegmentsCount);
                gen.finiteLoop          = EditorGUILayout.Toggle("Loop", gen.finiteLoop);
            }
            else
            {
                gen.maxSegments = EditorGUILayout.IntField("Max. Segments", gen.maxSegments);
                if (gen.maxSegments < 1)
                {
                    gen.maxSegments = 1;
                }
                gen.generateSegmentsAhead = EditorGUILayout.IntField("Generate Segments Ahead", gen.generateSegmentsAhead);
                if (gen.generateSegmentsAhead < 1)
                {
                    gen.generateSegmentsAhead = 1;
                }
                if (gen.generateSegmentsAhead > gen.maxSegments)
                {
                    gen.generateSegmentsAhead = gen.maxSegments;
                }
                gen.activateSegmentsAhead = EditorGUILayout.IntField("Activate Segments Ahead", gen.activateSegmentsAhead);
                if (gen.activateSegmentsAhead < 0)
                {
                    gen.activateSegmentsAhead = 0;
                }
                if (gen.activateSegmentsAhead > gen.generateSegmentsAhead)
                {
                    gen.activateSegmentsAhead = gen.generateSegmentsAhead;
                }
            }

            EditorGUILayout.Space();

            gen.pathGenerator = (LevelPathGenerator)EditorGUILayout.ObjectField("Path Generator", gen.pathGenerator, typeof(LevelPathGenerator), false);
            if (gen.pathGenerator != null)
            {
                EditorGUI.indentLevel++;
                gen.usePathGeneratorInstance = EditorGUILayout.Toggle("Create Instance", gen.usePathGeneratorInstance);
                EditorGUI.indentLevel--;
            }
            else
            {
                EditorGUILayout.HelpBox("A Path Generator needs to be assigned to the Level Generator.", MessageType.Error);
            }

            if (Event.current.type == EventType.KeyDown && gen.levels.Length > 0)
            {
                if (Event.current.keyCode == KeyCode.DownArrow)
                {
                    levelIndex++;
                    if (levelIndex >= gen.levels.Length)
                    {
                        levelIndex = -1;
                    }
                    levelWindow = EditorWindow.GetWindow <LevelWindow>(true);
                    levelWindow.Init(gen, levelIndex);
                    Repaint();
                    Event.current.Use();
                }
                if (Event.current.keyCode == KeyCode.UpArrow)
                {
                    levelIndex--;
                    if (levelIndex < -1)
                    {
                        levelIndex = gen.levels.Length - 1;
                    }
                    levelWindow = EditorWindow.GetWindow <LevelWindow>(true);
                    levelWindow.Init(gen, levelIndex);
                    Repaint();
                    Event.current.Use();
                }
            }

            if (boxStyle == null)
            {
                boxStyle = new GUIStyle(GUI.skin.GetStyle("box"));
                boxStyle.normal.background = DreamteckEditorGUI.blankImage;
                boxStyle.margin            = new RectOffset(0, 0, 0, 2);
            }
            EditorGUILayout.Space();
            levelFoldout = EditorGUILayout.Foldout(levelFoldout, "Levels");
            if (levelFoldout)
            {
                gen.levelIteration = (LevelGenerator.LevelIteration)EditorGUILayout.EnumPopup("Level Iteration", gen.levelIteration);
                gen.startLevel     = EditorGUILayout.IntField("Start Level", gen.startLevel);
                ListLevels();
            }

            if (gen.levels.Length == 0)
            {
                EditorGUILayout.HelpBox("No defined levels. Define at least one level.", MessageType.Error);
            }

            EditorGUILayout.Space();
            gen.testMode = EditorGUILayout.Toggle("Test Mode", gen.testMode);
            if (gen.testMode)
            {
                for (int i = 0; i < gen.debugSegments.Length; i++)
                {
                    EditorGUILayout.BeginHorizontal();
                    gen.debugSegments[i] = (GameObject)EditorGUILayout.ObjectField("Segment " + (i + 1), gen.debugSegments[i], typeof(GameObject), false);
                    if (GUILayout.Button("x", GUILayout.Width(30f)) || gen.debugSegments[i] == null)
                    {
                        GameObject[] newSegments = new GameObject[gen.debugSegments.Length - 1];
                        for (int n = 0; n < gen.debugSegments.Length; n++)
                        {
                            if (n < i)
                            {
                                newSegments[n] = gen.debugSegments[n];
                            }
                            else if (n > i)
                            {
                                newSegments[n - 1] = gen.debugSegments[n];
                            }
                        }
                        gen.debugSegments = newSegments;
                        i--;
                        EditorGUILayout.EndHorizontal();
                        continue;
                    }
                    EditorGUILayout.EndHorizontal();
                }
                GameObject newSegment = null;
                newSegment = (GameObject)EditorGUILayout.ObjectField("Add debug segment", newSegment, typeof(GameObject), false);
                if (newSegment != null)
                {
                    if (newSegment.GetComponent <LevelSegment>() != null)
                    {
                        GameObject[] newSegments = new GameObject[gen.debugSegments.Length + 1];
                        gen.debugSegments.CopyTo(newSegments, 0);
                        newSegments[newSegments.Length - 1] = newSegment;
                        gen.debugSegments = newSegments;
                    }
                }
            }
        }
Example #11
0
        void ListLevels()
        {
            LevelGenerator generator = (LevelGenerator)target;

            for (int i = 0; i < generator.levels.Length; i++)
            {
                if (i == levelIndex)
                {
                    GUI.backgroundColor = ForeverPrefs.highlightColor * DreamteckEditorGUI.lightColor;
                    GUI.contentColor    = ForeverPrefs.highlightContentColor;
                }
                else
                {
                    GUI.backgroundColor = DreamteckEditorGUI.lightColor;
                    GUI.contentColor    = new Color(1f, 1f, 1f, 0.8f);
                }
                EditorGUILayout.BeginVertical(boxStyle);

                EditorGUILayout.LabelField(i + "  " + generator.levels[i].title);
                GUI.contentColor = Color.white;
                Rect rect = GUILayoutUtility.GetLastRect();
                if (rect.Contains(Event.current.mousePosition) && Event.current.type == EventType.MouseDown)
                {
                    if (Event.current.button == 1)
                    {
                        int         current = i;
                        GenericMenu menu    = new GenericMenu();
                        if (i > 0)
                        {
                            menu.AddItem(new GUIContent("Move Up"), false, delegate { MoveUp(current); });
                        }
                        else
                        {
                            menu.AddDisabledItem(new GUIContent("Move Up"));
                        }
                        if (i < generator.levels.Length - 1)
                        {
                            menu.AddItem(new GUIContent("Move Down"), false, delegate { MoveDown(current); });
                        }
                        else
                        {
                            menu.AddDisabledItem(new GUIContent("Move Down"));
                        }
                        menu.AddItem(new GUIContent("Duplicate"), false, delegate { Duplicate(current); });
                        menu.AddSeparator("");
                        menu.AddItem(new GUIContent("Delete"), false, delegate { Delete(current); });
                        menu.ShowAsContext();
                    }
                    else if (Event.current.button == 0)
                    {
                        levelWindow = EditorWindow.GetWindow <LevelWindow>(true);
                        levelWindow.Init(generator, i);
                        levelIndex = i;
                        Repaint();
                    }
                }
                EditorGUILayout.EndVertical();
            }
            GUI.backgroundColor = Color.white;
            GUI.contentColor    = Color.white;
            if (GUILayout.Button("New Level"))
            {
                Level[] levels = new Level[generator.levels.Length + 1];
                generator.levels.CopyTo(levels, 0);
                levels[levels.Length - 1]       = new Level();
                levels[levels.Length - 1].title = "Level " + levels.Length;
                generator.levels = levels;
                EditorUtility.SetDirty(generator);
                Repaint();
            }
        }