public static void Init(int prefabID = -1) { // Get existing open window or if none, make a new one: window = (NewFactionAbilityEditorWindow)EditorWindow.GetWindow(typeof(NewFactionAbilityEditorWindow), false, "Faction Ability Editor"); window.minSize = new Vector2(420, 300); LoadDB(); window.InitLabel(); //if(prefabID>=0) window.selectID=TDEditor.GetTowerIndex(prefabID)-1; window.SetupCallback(); }
Vector2 DrawCollectibleConfigurator(float startX, float startY, Collectible item) { float maxX = startX; startY = DrawItemBasicInfo(startX, startY, item) - 10; if (GUI.Button(new Rect(startX + spaceX + width - 100, startY += spaceY, 100, height), "Ability Editor")) { NewFactionAbilityEditorWindow.Init(); } string tooltip = "The ability to cast when the item is triggered"; tooltip += "\n\nUses ability setup in Faction Ability Editor but does not cost energy"; tooltip += "\n\n*The ability target setting still applies, the effect will be applied to all unit if the 'require target selection' option is not checked"; tooltip += "\n\nRandom ability will be chosen when multiple abilities has been assigned, useful for item with random effects"; cont = new GUIContent("Trigger Ability:", tooltip); EditorGUI.LabelField(new Rect(startX, startY += spaceY, width, height), cont); //~ int index=TBEditor.GetFactionAbilityIndex(item.facAbilityID); //~ index=EditorGUI.Popup(new Rect(startX+spaceX, startY, width, height), index, fAbilityLabel); //~ if(index>0) item.facAbilityID=fAbilityDB.abilityList[index-1].prefabID; //~ else item.facAbilityID=-1; startY -= spaceY; int count = item.facAbilityIDList.Count + 1; for (int i = 0; i < count; i++) { EditorGUI.LabelField(new Rect(startX + spaceX - 10, startY + spaceY, width, height), "-"); int index = (i < item.facAbilityIDList.Count) ? TBEditor.GetFactionAbilityIndex(item.facAbilityIDList[i]) : 0; index = EditorGUI.Popup(new Rect(startX + spaceX, startY += spaceY, width, height), index, fAbilityLabel); if (index > 0) { int abID = fAbilityDB.abilityList[index - 1].prefabID; if (!item.facAbilityIDList.Contains(abID)) { if (i < item.facAbilityIDList.Count) { item.facAbilityIDList[i] = abID; } else { item.facAbilityIDList.Add(abID); } } } else if (i < item.facAbilityIDList.Count) { item.facAbilityIDList.RemoveAt(i); i -= 1; } if (i < item.facAbilityIDList.Count && GUI.Button(new Rect(startX + width + spaceX + 5, startY, 20, height - 1), "-")) { item.facAbilityIDList.RemoveAt(i); i -= 1; } } startY += spaceY; startY = DrawEffect(startX, startY + spaceY, item.effect); startY += spaceY; GUIStyle style = new GUIStyle("TextArea"); style.wordWrap = true; cont = new GUIContent("Collectible description (for runtime and editor): ", ""); EditorGUI.LabelField(new Rect(startX, startY += spaceY, 400, 20), cont); item.desp = EditorGUI.TextArea(new Rect(startX, startY + spaceY - 3, 270, 100), item.desp, style); return(new Vector2(maxX, startY + 120)); }
public static void OpenFactionAbilityEditor() { //FactionAbilityEditorWindow.Init(); NewFactionAbilityEditorWindow.Init(); }