void CreateNewCategory(ProductionCategory categoryToClone = null) { if (!AssetDatabase.IsValidFolder("Assets/Resources")) { AssetDatabase.CreateFolder("Assets", "Resources"); } if (!AssetDatabase.IsValidFolder("Assets/Resources/Data")) { AssetDatabase.CreateFolder("Assets/Resources", "Data"); } if (!AssetDatabase.IsValidFolder("Assets/Resources/Data/ProductionCategories")) { AssetDatabase.CreateFolder("Assets/Resources/Data", "ProductionCategories"); } var category = ScriptableObject.CreateInstance(typeof(ProductionCategory)) as ProductionCategory; category.textId = "New Category"; if (categoryToClone) { category = Instantiate(categoryToClone); category.textId += "_Clone"; } AssetDatabase.CreateAsset(category, "Assets/Resources/Data/ProductionCategories/Category" + (loadedCategories.Count + 1) + "_" + category.textId + ".asset"); LoadCategories(); SelectCategory(category); }
public void SelectCategory(ProductionCategory category) { for (int i = 0; i < loadedCategories.Count; i++) { if (category == loadedCategories[i]) { selectedDataId = i; } } }
public List <Production> GetProductionBuildingsByCategory(ProductionCategory category) { var resultList = new List <Production>(); for (int i = 0; i < playerProductionBuildings.Count; i++) { if (playerProductionBuildings[i] != null && playerProductionBuildings[i].GetProductionCategory == category) { resultList.Add(playerProductionBuildings[i]); } } return(resultList); }
void Start() { if (selfUnit.data.productionCategories.Count <= categoryId) { Debug.LogWarning("[Production module] Your unit " + name + " have incorrectly setted up Production categories."); enabled = false; return; } productionCategory = selfUnit.data.productionCategories[categoryId]; if (productionModuleSpawned != null) { productionModuleSpawned.Invoke(this); } }
public bool IsHaveProductionOfCategory(ProductionCategory category) { return(GetProductionBuildingsByCategory(category).Count > 0); }