private void LoadConfig() { _weaponName = _loadConfig.Name; _weaponQualityLevel = _loadConfig.QualityLevel; _weaponDamage = _loadConfig.Damage; _weaponRecoil = _loadConfig.Recoil; _weaponMesh = _loadConfig.Mesh; _weaponMaterial = _loadConfig.Material; }
private void OnGUI() { EditorGUILayout.BeginHorizontal(); EditorGUI.LabelField(new Rect(position.width / 2 - 80, 10, 200, 200), "Weapon Creator", _titleStyle); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUI.Label(new Rect(10, 50, 200, 25), "Weapon Name: ", _style); _weaponName = EditorGUI.TextField(new Rect(150, 50, 200, 15), _weaponName); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUI.Label(new Rect(10, 80, 200, 25), "Weapon Quality Level: ", _style); _weaponQualityLevel = (WeaponConfig.Quality)EditorGUI.EnumPopup(new Rect(150, 80, 200, 15), _weaponQualityLevel); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUI.Label(new Rect(10, 110, 200, 25), "Weapon Mesh: ", _style); _weaponMesh = (Mesh)EditorGUI.ObjectField(new Rect(150, 110, 200, 15), _weaponMesh, typeof(Mesh), false); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUI.Label(new Rect(10, 140, 200, 25), "Weapon Material: ", _style); _weaponMaterial = (Material)EditorGUI.ObjectField(new Rect(150, 140, 200, 15), _weaponMaterial, typeof(Material), false); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUI.Label(new Rect(10, 170, 200, 25), "Generate in Scene: ", _style); _createInScene = EditorGUI.Toggle(new Rect(150, 170, 200, 15), _createInScene); EditorGUILayout.EndHorizontal(); DrawUILine(Color.gray, 2, 380); EditorGUILayout.BeginHorizontal(); GUI.Label(new Rect(10, 200, 200, 25), "Load Config: ", _style); _loadConfig = (WeaponConfig)EditorGUI.ObjectField(new Rect(150, 200, 200, 15), _loadConfig, typeof(WeaponConfig), false); EditorGUILayout.EndHorizontal(); if (GUI.Button(new Rect(position.width / 2 - 100, 230, 200, 25), "Load Configuration")) { if (_loadConfig != null) { _configError = false; LoadConfig(); } else { _configError = true; } } if (_configError) { EditorGUILayout.BeginHorizontal(); GUI.Label(new Rect(position.width / 2 - 100, 260, 200, 25), "There is no configuration selected!", _errorStyle); EditorGUILayout.EndHorizontal(); } DrawUILine(Color.gray, 2, -220); EditorGUILayout.BeginHorizontal(); GUI.Label(new Rect(10, 290, 200, 25), "Save as asset: ", _style); _saveAsAsset = EditorGUI.Toggle(new Rect(150, 290, 200, 15), _saveAsAsset); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUI.Label(new Rect(10, 320, 200, 25), "Asset Path: ", _style); _assetPath = EditorGUI.TextField(new Rect(150, 320, 200, 15), _assetPath); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUI.Label(new Rect(10, 350, 200, 25), "SO Path: ", _style); _soPath = EditorGUI.TextField(new Rect(150, 350, 200, 15), _soPath); EditorGUILayout.EndHorizontal(); DrawUILine(Color.gray, 2, 400); if (_weaponName != null && _weaponDamage >= 0 && _weaponRecoil >= 0 && _weaponMesh != null && _weaponMaterial != null) { EditorGUILayout.BeginHorizontal(); if (GUI.Button(new Rect(10, 380, 350, 50), "Generate!")) { GenerateWeapon(); } EditorGUILayout.EndHorizontal(); } }