コード例 #1
0
	void CreateDatabase(string name)
	{
		currentDatabase = ScriptableObject.CreateInstance<GameEventDatabase>();
		AssetDatabase.CreateAsset(currentDatabase, DATABASE_PATH+name+".asset");
		AssetDatabase.SaveAssets();
		AssetDatabase.Refresh();
	}
コード例 #2
0
ファイル: Game.cs プロジェクト: Archimagus/ggj2016
	void Start ()
	{
		_eventText = _textAreaScrollView.GetComponentInChildren<Text>();
		if (_eventDatabase == null)
		{
			Debug.Log("GameEventDatabase not set, looking for one in resources.");
			_eventDatabase = Resources.FindObjectsOfTypeAll<GameEventDatabase>().First();
		}
		if (_eventDatabase == null)
			Debug.LogError("Unable to find a GameEventDatabase.");
		GoToEvent("Start");
	}	
コード例 #3
0
	void LoadDatabase()
	{
		databases = new List<GameEventDatabase>();
		foreach(var path in AssetDatabase.GetAllAssetPaths())
		{
			if (path.EndsWith(".asset"))
			{
				var db = AssetDatabase.LoadAssetAtPath(path, typeof(GameEventDatabase)) as GameEventDatabase;
				if (db != null)
					databases.Add(db);
			}
		}
		if (currentDatabase == null)
			currentDatabase = databases.FirstOrDefault();
		
		if (currentDatabase == null)
			CreateDatabase("default");
	}
コード例 #4
0
    void LoadDatabase()
    {
        databases = new List <GameEventDatabase>();
        foreach (var path in AssetDatabase.GetAllAssetPaths())
        {
            if (path.EndsWith(".asset"))
            {
                var db = AssetDatabase.LoadAssetAtPath(path, typeof(GameEventDatabase)) as GameEventDatabase;
                if (db != null)
                {
                    databases.Add(db);
                }
            }
        }
        if (currentDatabase == null)
        {
            currentDatabase = databases.FirstOrDefault();
        }

        if (currentDatabase == null)
        {
            CreateDatabase("default");
        }
    }
コード例 #5
0
	private void DisplayDatabasesArea()
	{
		EditorGUILayout.BeginVertical(GUILayout.Width(250));
		EditorGUILayout.Space();
		for (int i = 0; i < databases.Count; i++)
		{
			try
			{
				if (GUILayout.Button(databases[i].name, GUILayout.ExpandWidth(true)))
				{
					currentDatabase = databases[i];
				}
			}
			catch(Exception exc)
			{
				Debug.Log(exc.Message);
				databases.RemoveAt(i);
				i--;
			}
		}
		EditorGUILayout.BeginHorizontal();
		GUI.enabled = !string.IsNullOrEmpty(newDatabaseName);
		if(GUILayout.Button("+", GUILayout.ExpandWidth(false)))
		{
			CreateDatabase(newDatabaseName);
			LoadDatabase();
			newDatabaseName = string.Empty;
		}
		GUI.enabled = true;
		newDatabaseName = EditorGUILayout.TextField(newDatabaseName, GUILayout.ExpandWidth(true));
		EditorGUILayout.EndHorizontal();
		EditorGUILayout.EndVertical();
	}