Example #1
0
 private void LoadConfig()
 {
     _weaponName         = _loadConfig.Name;
     _weaponQualityLevel = _loadConfig.QualityLevel;
     _weaponDamage       = _loadConfig.Damage;
     _weaponRecoil       = _loadConfig.Recoil;
     _weaponMesh         = _loadConfig.Mesh;
     _weaponMaterial     = _loadConfig.Material;
 }
Example #2
0
    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();
        }
    }