Пример #1
0
    private void OnEnable()
    {
        //Set min size
        minSize = new Vector2(400, 100);

        if (EditorPrefs.HasKey("PatrolSettingsPath"))
        {
            string objectPath = EditorPrefs.GetString("PatrolSettingsPath");
            settings = AssetDatabase.LoadAssetAtPath(objectPath, typeof(AI_PatrolSettings)) as AI_PatrolSettings;

            LoadSettings();
        }
    }
Пример #2
0
    public void InitSettings()
    {
        //Taken from https://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/scriptable-objects
        //then edited for now
        //Will be modified in the future for better needs
        if (settings != null)
        {
            GUILayout.Space(12);

            if (GUILayout.Button("Show Settings in Project Window", GUILayout.Height(50)))
            {
                EditorUtility.FocusProjectWindow();
                Selection.activeObject = settings;
            }

            GUILayout.Space(12);
        }
        else
        {
            GUILayout.Label("No current settings found!", EditorStyles.boldLabel);

            GUILayout.Space(12);

            if (GUILayout.Button("Create Settings File"))
            {
                GUILayout.Label("Creating file...", EditorStyles.boldLabel);
                AI_PatrolSettings settingsAsset = CreateInstance <AI_PatrolSettings> ();

                AssetDatabase.CreateAsset(settingsAsset, "Assets/Editor/PatrolSceneSettings.asset");
                AssetDatabase.SaveAssets();

                settings = settingsAsset;

                if (settings)
                {
                    LoadSettings();
                    string assetPath = AssetDatabase.GetAssetPath(settings);
                    EditorPrefs.SetString("PatrolSettingsPath", assetPath);
                }
            }
        }
    }
Пример #3
0
    //Inspector Draw
    private void Awake()
    {
        //Class
        t = target as AI_Patrol;

        if (EditorPrefs.HasKey("PatrolSettingsPath"))
        {
            settings = (AI_PatrolSettings)AssetDatabase.LoadAssetAtPath(EditorPrefs.GetString("PatrolSettingsPath"), typeof(AI_PatrolSettings));
            SetData();
        }

        //Variables
        patrolOptions    = Enum.GetNames(typeof(PatrolMode)); //Get all the enum types
        pointMoveOptions = Enum.GetNames(typeof(PointMovement));

        patrolMode         = t.patrolMode; //Get enum type for ref later on
        patrolOptionsIndex = (int)patrolMode;

        pointMovement     = PointMovement.XZ; //Get enum type for ref later on
        pointOptionsIndex = (int)pointMovement;
    }