// Use this for initialization void Start() { _uiItems = GetComponent <CSlotPanel>().uiItems; _uiItems.ForEach(item => item.isCraftingSlot = true); if (_recipeDatabase == null) { _recipeDatabase = CAssetBundleManager.GetRecipeDatabase(); } }
public static void UpdateDatabase() { if (!Directory.Exists(CUtillity.databaseExportPath)) { Directory.CreateDirectory(CUtillity.databaseExportPath); } CCraftRecipeDatabase recipeDatabase = UnityEditor.AssetDatabase.LoadAssetAtPath <CCraftRecipeDatabase>(exportFile); if (recipeDatabase == null) { recipeDatabase = ScriptableObject.CreateInstance <CCraftRecipeDatabase>(); UnityEditor.AssetDatabase.CreateAsset((ScriptableObject)recipeDatabase, exportFile); } recipeDatabase.recipes.Clear(); using (StreamReader reader = new StreamReader(targetFile)) { // 헤더 건너뜀 reader.ReadLine(); reader.ReadLine(); while (!reader.EndOfStream) { string line = reader.ReadLine(); string[] dataStrings = line.Trim().Split(new char[] { ',' }, System.StringSplitOptions.RemoveEmptyEntries); int index = 0; CCraftRecipe recipe = new CCraftRecipe(); int.TryParse(dataStrings[index++], out recipe.itemToCraft); for (int i = index; i < dataStrings.Length; ++i) { int.TryParse(dataStrings[i], out recipe.requiredItems[i - 1]); } recipeDatabase.recipes.Add(recipe); } } UnityEditor.AssetDatabase.SaveAssets(); Debug.Log("Updated"); }