private void dgAvailableDevs_ItemDataBound(object sender, DataGridItemEventArgs e) { DataGrid dg = sender as DataGrid; if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.EditItem) { // display Comp Level description CompLevel level = (CompLevel)Convert.ToInt32(e.Item.Cells[3].Text); e.Item.Cells[3].Text = level.ToString(); } if (e.Item.ItemType == ListItemType.EditItem) { // bind unassigned tasks ddl //IDataProvider data = DataProviderFactory.CreateInstance(); //DataTable dt = data.GetTasks(); //DataView dv = dt.DefaultView; //dv.RowFilter = "status=0"; //DropDownList ddl = e.Item.Cells[4].FindControl("ddlTasks") as DropDownList; //ddl.DataSource = dv; //ddl.DataTextField = "name"; //ddl.DataValueField = "id"; //ddl.DataBind(); //if (ddl.Items.Count == 0) //{ // e.Item.Cells[4].Text = "[no unassigned tasks]"; // dg.UpdateCommand -= new DataGridCommandEventHandler(this.dgAvailableDevs_UpdateCommand); //} } }
public override void OnInspectorGUI() { base.OnInspectorGUI(); // find levels if (GUILayout.Button("Find Levels")) { Debug.Log(playlist.endLevel); // find all the levels playlist.levels.Clear(); string[] scenes = AssetDatabase.FindAssets("t:Scene"); string[] levels = AssetDatabase.FindAssets("t:LevelDetails"); foreach (string lvl in levels) { LevelDetails level = (LevelDetails)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(lvl), typeof(LevelDetails)); if (level.level_name != playlist.tutorial.level_name && level.level_name != playlist.endLevel.level_name) { playlist.levels.Add(level); } } // find scenes in the levels folder and create level details foreach (string scene in scenes) { if (AssetDatabase.GUIDToAssetPath(scene).Contains("/Levels/")) { string[] path = AssetDatabase.GUIDToAssetPath(scene).Split('/'); string lvl_path = ""; for (int i = 0; i < path.Length - 1; i++) { lvl_path += path[i] + "/"; } string level_name = path[path.Length - 1].Replace(".unity", ""); // see if the level already exists bool level_missing = true; foreach (LevelDetails lvld in playlist.levels) { if (lvld.level_name == level_name) { level_missing = false; } } if (level_name == playlist.tutorial.level_name || level_name == playlist.endLevel.level_name) { level_missing = false; } if (level_missing) { LevelDetails olevel = (LevelDetails)AssetDatabase.LoadAssetAtPath(lvl_path + level_name + ".asset", typeof(LevelDetails)); if (olevel == null) { LevelDetails nLevel = ScriptableObject.CreateInstance <LevelDetails>(); nLevel.level_name = level_name; nLevel.name = level_name; AssetDatabase.CreateAsset(nLevel, lvl_path + level_name + ".asset"); if (!playlist.levels.Contains(nLevel)) { playlist.levels.Add(nLevel); } } else { if (!playlist.levels.Contains(olevel)) { playlist.levels.Add(olevel); } } EditorUtility.SetDirty(playlist); } } } } // sort levels if (GUILayout.Button("Sort Levels")) { /* * foreach (LevelDetails lvl in playlist.levels) * { * Debug.Log(lvl.level_name + ": " +lvl.level_rank.ToString()); * } */ // CompLevel compLevel = new CompLevel(); playlist.levels.Sort(comparer: compLevel); playlist.SavePlaylistToChild(0); CompLevel2 compLevel2 = new CompLevel2(); playlist.levels.Sort(comparer: compLevel2); playlist.SavePlaylistToChild(1); CompLevel3 compLevel3 = new CompLevel3(); playlist.levels.Sort(comparer: compLevel3); playlist.SavePlaylistToChild(2); CompLevel4 compLevel4 = new CompLevel4(); playlist.levels.Sort(comparer: compLevel4); playlist.SavePlaylistToChild(3); CompLevel5 compLevel5 = new CompLevel5(); playlist.levels.Sort(comparer: compLevel5); playlist.SavePlaylistToChild(4); CompLevel6 compLevel6 = new CompLevel6(); playlist.levels.Sort(comparer: compLevel6); playlist.SavePlaylistToChild(5); CompLevel7 compLevel7 = new CompLevel7(); playlist.levels.Sort(comparer: compLevel7); playlist.SavePlaylistToChild(6); EditorUtility.SetDirty(playlist); } if (GUILayout.Button("Playlist 0")) { playlist.LoadPlaylist(0); EditorUtility.SetDirty(playlist); } if (GUILayout.Button("Playlist 1")) { playlist.LoadPlaylist(1); EditorUtility.SetDirty(playlist); } if (GUILayout.Button("Playlist 2")) { playlist.LoadPlaylist(2); EditorUtility.SetDirty(playlist); } if (GUILayout.Button("Playlist 3")) { playlist.LoadPlaylist(3); EditorUtility.SetDirty(playlist); } if (GUILayout.Button("Playlist 4")) { playlist.LoadPlaylist(4); EditorUtility.SetDirty(playlist); } if (GUILayout.Button("Playlist 5")) { playlist.LoadPlaylist(5); EditorUtility.SetDirty(playlist); } if (GUILayout.Button("Playlist 6")) { playlist.LoadPlaylist(6); EditorUtility.SetDirty(playlist); } }