public void Init(LevelSettingsDatabase _levelSettingsDatabase, LevelManager _levelManager, LevelController _levelController, ObjectSpritesDatabase _objectSpritesDatabase, EnergyController _energyController, HintsController _hintsController) { uiLevelSelectView.Init(_levelSettingsDatabase, _levelManager, _energyController); uiLevelSelectView.Show(); uiLevelWindowView.Init(_levelController, _objectSpritesDatabase, _energyController, _hintsController, uiLevelSelectView); }
public void Init(LevelSettingsDatabase _levelSettingsDatabase, LevelManager _levelManager, EnergyController _energyController) { levelManager = _levelManager; energyController = _energyController; for (int i = 0; i < _levelSettingsDatabase.LevelSettings.Count; i++) { ObjectPool.GetObjectFromPool <UILevelSelectButton>(UILevelMenuPrefab, LevelMenuParent) .Init(_levelSettingsDatabase.LevelSettings[i].LevelName, _levelSettingsDatabase.LevelSettings[i].EnergyCost, _levelManager, i, energyController); } levelManager.OnLevelSelect += HideThis; energyController.OnEnergyUpdate += UpdateEnergyText; UpdateEnergyText(energyController.EnergyValue); energyButton.onClick.AddListener(AddEnergy); }
public override void OnInspectorGUI() { _levelSettingsDatabase = (LevelSettingsDatabase)target; serializedObject.Update(); for (int j = 0; j < _levelSettingsDatabase.LevelSettings.Count; j++) { EditorGUILayout.LabelField("Level " + j, EditorStyles.boldLabel); EditorGUI.indentLevel++; _levelSettingsDatabase.LevelSettings[j].LevelName = EditorGUILayout.TextField("Level name: ", _levelSettingsDatabase.LevelSettings[j].LevelName); _levelSettingsDatabase.LevelSettings[j].levelBehaviour = (LevelBehaviour)EditorGUILayout.ObjectField(_levelSettingsDatabase.LevelSettings[j].levelBehaviour, typeof(LevelBehaviour)); if (_levelSettingsDatabase.LevelSettings[j].levelBehaviour != null) { _levelSettingsDatabase.LevelSettings[j].ItemsCount = EditorGUILayout.IntField("Level items count: ", Mathf.Clamp(_levelSettingsDatabase.LevelSettings[j].ItemsCount, 1, _levelSettingsDatabase.LevelSettings[j].levelBehaviour.MaximumLevelItems())); } _levelSettingsDatabase.LevelSettings[j].LevelTimeInSeconds = EditorGUILayout.FloatField("LevelTime: ", _levelSettingsDatabase.LevelSettings[j].LevelTimeInSeconds); _levelSettingsDatabase.LevelSettings[j].EnergyCost = EditorGUILayout.IntField("Energy Cost: ", _levelSettingsDatabase.LevelSettings[j].EnergyCost); EditorGUI.indentLevel++; EditorGUILayout.LabelField("Level Items : "); for (int i = 0; i < _levelSettingsDatabase.LevelSettings[j].LevelItems.Count; i++) { _levelSettingsDatabase.LevelSettings[j].LevelItems[i] = (ItemList)EditorGUILayout.EnumPopup(_levelSettingsDatabase.LevelSettings[j].LevelItems[i]); } EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Add Item")) { _levelSettingsDatabase.LevelSettings[j].LevelItems.Add(0); } if (GUILayout.Button("Remove Item")) { if (_levelSettingsDatabase.LevelSettings[j].LevelItems.Count > 1) { _levelSettingsDatabase.LevelSettings[j].LevelItems.Remove(_levelSettingsDatabase.LevelSettings[j] .LevelItems[_levelSettingsDatabase.LevelSettings[j].LevelItems.Count - 1]); } } EditorGUILayout.EndHorizontal(); EditorGUI.indentLevel--; EditorGUI.indentLevel--; } EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Add Level")) { _levelSettingsDatabase.LevelSettings.Add(new LevelSettings()); } if (GUILayout.Button("Remove Level")) { if (_levelSettingsDatabase.LevelSettings.Count > 1) { _levelSettingsDatabase.LevelSettings.Remove( _levelSettingsDatabase.LevelSettings[_levelSettingsDatabase.LevelSettings.Count - 1]); } } EditorGUILayout.EndHorizontal(); EditorUtility.SetDirty(target); }
public LevelManager(LevelSettingsDatabase _levelSettingsDatabase, LevelController levelController) { levelSettingsDatabase = _levelSettingsDatabase; _levelController = levelController; //OnLevelSelect += SelectLevel; }