public void Inject(Db db, IBuildingAcquirer acquirer, IBuildingService service, IFieldContainer fieldContainer, BuildingAssets buildingAssets) { this.db = db; this.acquirer = acquirer; this.service = service; this.fieldContainer = fieldContainer; this.buildingAssets = buildingAssets; }
/// <summary> /// 创建 /// </summary> /// <param name="path"></param> /// <returns></returns> internal static BuildingAssets Create(string path) { BuildingAssets profile = ScriptableObject.CreateInstance <BuildingAssets>(); profile.name = Path.GetFileName(path); profile.ants = new BuildingAssetsAnt[] { BuildingAssetsAnt.Create <EditorExportVersion>("设置版本号"), BuildingAssetsAnt.Create <EditorExportConfig>("导出 CSV 文件"), BuildingAssetsAnt.Create <EditorExportAssets>("导出 AB 文件"), BuildingAssetsAnt.Create <EditorExportCopy>("拷贝 AB 文件"), BuildingAssetsAnt.Create <EditorExportPlayer>("创建包体") }; AssetDatabase.CreateAsset(profile, path); return(profile); }
public override void OnInspectorGUI() { serializedObject.Update(); //base.OnInspectorGUI(); BuildingAssets asset = (BuildingAssets)target; if (null == asset) { return; } GUILayout.Space(20f); GUI.backgroundColor = Color.cyan; UnityEditor.EditorGUILayout.BeginHorizontal("Button"); { /// 绘制平台 asset.buildPlatform = (int)(UnityEditor.BuildTarget)UnityEditor.EditorGUILayout.EnumPopup("Platform", (UnityEditor.BuildTarget)asset.buildPlatform); /// 选项 asset.buildOptions = (int)(UnityEditor.BuildOptions)UnityEditor.EditorGUILayout.EnumFlagsField("Options", (UnityEditor.BuildOptions)asset.buildOptions); } UnityEditor.EditorGUILayout.EndHorizontal(); /// 绘制流程按钮 GUILayout.Space(20f); FieldInfo fieldAnts = target.GetType().GetField("ants"); BuildingAssetsAnt[] ants = (BuildingAssetsAnt[])fieldAnts.GetValue(target); //BuildingAssetsAnt[] ants = serializedObject.FindProperty("ants").arraySize as BuildingAssetsAnt[]; FieldInfo fieldFuction = typeof(BuildingAssetsAnt).GetField("functionName"); //for (int i = 0; null != ants && i < ants.Length; i++) for (int i = 0; i < serializedObject.FindProperty("ants").arraySize; i++) { SerializedProperty antProperty = serializedObject.FindProperty("ants").GetArrayElementAtIndex(i); if (null == antProperty) { GUI.backgroundColor = Color.red; UnityEditor.EditorGUILayout.BeginHorizontal("Button"); { UnityEditor.EditorGUILayout.LabelField("Error Data"); } UnityEditor.EditorGUILayout.EndHorizontal(); continue; } /// 绘制选项 GUI.backgroundColor = string.IsNullOrEmpty(antProperty.FindPropertyRelative("functionName").stringValue) ? Color.red : Color.green; UnityEditor.EditorGUILayout.BeginHorizontal("TextField"); { DrawMethodSelect(antProperty); } UnityEditor.EditorGUILayout.EndHorizontal(); GUILayout.Space(6f); } /// 保存 serializedObject.ApplyModifiedProperties(); UnityEditor.AssetDatabase.SaveAssets(); GUILayout.Space(50f); GUI.backgroundColor = Color.cyan; if (GUILayout.Button("DONE ANT")) { DoneAnts(ants); } }
public override void Action(int instanceId, string pathName, string resourceFile) { BuildingAssets profile = EditorBuildAssetsFactory.Create(pathName); ProjectWindowUtil.ShowCreatedAsset(profile); }
public void Initialize(BuildingAssets buildingAssets) { this.buildingAssets = buildingAssets; }
public void Inject(IBuildingSelector selector, IFieldContainer fieldContainer, BuildingAssets buildingAssets) { this.selector = selector; this.fieldContainer = fieldContainer; this.buildingAssets = buildingAssets; }
public void Initialize(GridXZ <BuildingGridCell> grid, BuildingAssets buildingAssets) { this.grid = grid; ghostControll.Initialize(buildingAssets); }
public BuildingConstructor(Transform root, BuildingAssets buildingAssets, ProgressConstructor progressConstructor) { this.root = root; this.buildingAssets = buildingAssets; this.progressConstructor = progressConstructor; }