Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEditor;
- using UnityEngine;
- [CustomEditor(typeof(DataBase))]
- public class DatabaseEditor : Editor {
- private DataBase database;
- private string searchString;
- private string searchString2;
- private string searchString3;
- private string searchString4;
- private string iString;
- private bool shouldSearch;
- private bool shouldSearch2;
- private bool shouldSearch3;
- private bool shouldSearch4;
- private bool ishouldSet;
- private int i;
- private bool t0, t1, t2, p1, p2, p5, p10, p20, p50, p100, s1, s2, s5, s10, s20, s50, s100;
- private void OnEnable() {
- database = (DataBase) target;
- }
- public override void OnInspectorGUI() {
- base.DrawDefaultInspector();
- if (database) {
- EditorGUILayout.BeginHorizontal("Box"); //Crear un cuadro
- GUILayout.Label("Items in Database: " + database.items.Count); //Cantidad de objetos que hay en el base de datos
- EditorGUILayout.EndHorizontal(); //Terminar el cuadro
- EditorGUILayout.BeginHorizontal("Box"); //Crear un cuadro
- GUILayout.Label("Search (ID/Name/Desc.): "); //Texto de que Search
- searchString = GUILayout.TextField(searchString); //El cuadro para escribir
- EditorGUILayout.EndHorizontal(); //Terminar el cuadro
- EditorGUILayout.BeginHorizontal("Box"); //Crear un cuadro
- GUILayout.Label("Search (Cost) (int): "); //Texto de que Search
- searchString2 = GUILayout.TextField(searchString2); //El cuadro para escribir
- EditorGUILayout.EndHorizontal(); //Terminar el cuadro
- EditorGUILayout.BeginHorizontal("Box"); //Crear un cuadro
- GUILayout.Label("Search (SellCost) (int): "); //Texto de que Search
- searchString3 = GUILayout.TextField(searchString3); //El cuadro para escribir
- EditorGUILayout.EndHorizontal(); //Terminar el cuadro
- EditorGUILayout.BeginHorizontal("Box"); //Crear un cuadro
- GUILayout.Label("Search (UseLevel) (int): "); //Texto de que Search
- searchString4 = GUILayout.TextField(searchString4); //El cuadro para escribir
- EditorGUILayout.EndHorizontal(); //Terminar el cuadro
- NeedSearchItem();
- foreach (Item item in database.items) {
- SearchItem(item);
- item.descriptionLenght = item.description.Length; //Definir cuantas letras tiene la descripcion
- }
- SetButtons();
- }
- }
- private void DisplayItem(Item item) {
- GUIStyle labelStyle = new GUIStyle(GUI.skin.label); //Crear un nuevo estilo para no modificar el estilo general
- labelStyle.wordWrap = true; //Poner texto debajo, para que no se expanda el editor
- GUIStyle valueStyle = new GUIStyle(GUI.skin.label); //Crear un nuevo estilo para no modificar el estilo general
- valueStyle.wordWrap = true; //Poner texto debajo, para que no se expanda el editor
- valueStyle.alignment = TextAnchor.MiddleCenter;
- valueStyle.fixedWidth = 50;
- valueStyle.margin = new RectOffset(0, 50, 0, 0);
- GUIStyle nameStyle = new GUIStyle(GUI.skin.label); //Crear un nuevo estilo para no modificar el estilo general
- nameStyle.wordWrap = true; //Poner texto debajo, para que no se expanda el editor
- nameStyle.alignment = TextAnchor.MiddleCenter;
- nameStyle.fixedWidth = 150;
- nameStyle.margin = new RectOffset(0, 0, 5, 0);
- EditorGUILayout.BeginVertical("Box"); //Crear un cuadro
- EditorGUILayout.BeginHorizontal();
- GUILayout.Label("ID: ");
- GUILayout.Label(item.id.ToString(), valueStyle);
- if (GUILayout.Button("Set ID")) {
- SetID(item);
- }
- EditorGUILayout.EndHorizontal();
- EditorGUILayout.BeginHorizontal();
- GUILayout.Label("Name: ");
- GUILayout.Label(item.name, nameStyle);
- EditorGUILayout.EndHorizontal();
- //EditorGUILayout.BeginHorizontal();
- if (!string.IsNullOrWhiteSpace(item.description)) {
- GUILayout.Label("Description: ");
- if (item.descriptionLenght < 45) {
- item.scrollPos = EditorGUILayout.BeginScrollView(item.scrollPos, GUILayout.MinHeight(1), GUILayout.MinHeight(20));
- } else if (item.descriptionLenght >= 45 && item.descriptionLenght < 90) {
- item.scrollPos = EditorGUILayout.BeginScrollView(item.scrollPos, GUILayout.MinHeight(1), GUILayout.MinHeight(35));
- } else if (item.descriptionLenght >= 90 && item.descriptionLenght < 135) {
- item.scrollPos = EditorGUILayout.BeginScrollView(item.scrollPos, GUILayout.MinHeight(1), GUILayout.MinHeight(50));
- } else if (item.descriptionLenght >= 135 && item.descriptionLenght < 180) {
- item.scrollPos = EditorGUILayout.BeginScrollView(item.scrollPos, GUILayout.MinHeight(1), GUILayout.MinHeight(65));
- } else if (item.descriptionLenght >= 180) {
- item.scrollPos = EditorGUILayout.BeginScrollView(item.scrollPos, GUILayout.MinHeight(1), GUILayout.MinHeight(70));
- }
- GUILayout.Label(item.description, labelStyle);
- EditorGUILayout.EndScrollView();
- } else {
- EditorGUILayout.BeginHorizontal();
- GUILayout.Label("Description: ");
- GUILayout.Label("Sin descripcion");
- EditorGUILayout.EndHorizontal();
- }
- // EditorGUILayout.EndHorizontal();
- EditorGUILayout.BeginHorizontal();
- GUILayout.Label("Cost: ");
- GUILayout.Label(item.cost.ToString(), valueStyle);
- EditorGUILayout.EndHorizontal();
- EditorGUILayout.BeginHorizontal();
- GUILayout.Label("Sell cost: ");
- GUILayout.Label(item.sellCost.ToString(), valueStyle);
- EditorGUILayout.EndHorizontal();
- EditorGUILayout.BeginHorizontal();
- GUILayout.Label("Use level: ");
- GUILayout.Label(item.useLevel.ToString(), valueStyle);
- EditorGUILayout.EndHorizontal();
- EditorGUILayout.BeginHorizontal();
- GUILayout.Label("Damage: ");
- GUILayout.Label(item.stats.damage.ToString(), valueStyle);
- EditorGUILayout.EndHorizontal();
- EditorGUILayout.BeginHorizontal();
- GUILayout.Label("Defense: ");
- GUILayout.Label(item.stats.defense.ToString(), valueStyle);
- EditorGUILayout.EndHorizontal();
- EditorGUILayout.EndVertical(); //Terminar el cuadro
- }
- private void NeedSearchItem() {
- bool isNumeric2 = int.TryParse(searchString2, out int n2);
- bool isNumeric3 = int.TryParse(searchString3, out int n3);
- bool isNumeric4 = int.TryParse(searchString4, out int n4);
- bool isNumerici = int.TryParse(iString, out int pi);
- if (System.String.IsNullOrEmpty(searchString)) { //Si searchString es nulo no buscara nada y pondra todo
- shouldSearch = false;
- } else {
- shouldSearch = true;
- }
- if (System.String.IsNullOrEmpty(searchString2)) { //Si searchString es nulo no buscara nada y pondra todo
- shouldSearch2 = false;
- } else {
- if (isNumeric2) {
- shouldSearch2 = true;
- }
- }
- if (System.String.IsNullOrEmpty(searchString3)) { //Si searchString es nulo no buscara nada y pondra todo
- shouldSearch3 = false;
- } else {
- if (isNumeric3) {
- shouldSearch3 = true;
- }
- }
- if (System.String.IsNullOrEmpty(searchString4)) { //Si searchString es nulo no buscara nada y pondra todo
- shouldSearch4 = false;
- } else {
- if (isNumeric4) {
- shouldSearch4 = true;
- }
- }
- if (System.String.IsNullOrEmpty(iString)) {
- ishouldSet = false;
- } else {
- if (isNumerici) {
- ishouldSet = true;
- }
- }
- }
- private void SearchItem(Item item) {
- if (shouldSearch) {
- if (item.name.Equals(searchString.ToLower()) ||
- item.name.Equals(searchString.ToUpper()) ||
- item.name.Contains(searchString.ToLower()) ||
- item.name.Contains(searchString.ToUpper()) ||
- item.id.ToString() == searchString ||
- item.description.Equals(searchString.ToLower()) ||
- item.description.Equals(searchString.ToUpper()) ||
- item.description.Contains(searchString.ToLower()) ||
- item.description.Contains(searchString.ToUpper())) {
- DisplayItem(item);
- }
- } else if (shouldSearch2) {
- if (item.cost.ToString() == searchString2) {
- DisplayItem(item);
- }
- } else if (shouldSearch3) {
- if (item.sellCost.ToString() == searchString3) {
- DisplayItem(item);
- }
- } else if (shouldSearch4) {
- if (item.useLevel.ToString() == searchString4) {
- DisplayItem(item);
- }
- } else { //Si shouldSearch es false no buscara nada y pondra todo
- DisplayItem(item);
- }
- if (ishouldSet) {
- int.TryParse(iString, out i);
- t0 = false;
- t1 = true;
- p1 = false;
- p2 = false;
- p5 = false;
- p10 = false;
- p20 = false;
- p50 = false;
- p100 = false;
- s1 = false;
- s2 = false;
- s5 = false;
- s10 = false;
- s20 = false;
- s50 = false;
- s100 = false;
- }
- }
- private void SetID(Item item) {
- if (p1) {
- i = i + 1;
- item.id = i;
- } else if (p2) {
- i = i + 2;
- item.id = i;
- } else if (p5) {
- i = i + 5;
- item.id = i;
- } else if (p10) {
- i = i + 10;
- item.id = i;
- } else if (p20) {
- i = i + 20;
- item.id = i;
- } else if (p50) {
- i = i + 50;
- item.id = i;
- } else if (p100) {
- i = i + 100;
- item.id = i;
- } else if (s1) {
- i = i - 1;
- item.id = i;
- } else if (s2) {
- i = i - 2;
- item.id = i;
- } else if (s5) {
- i = i - 5;
- item.id = i;
- } else if (s10) {
- i = i - 10;
- item.id = i;
- } else if (s20) {
- i = i - 20;
- item.id = i;
- } else if (s50) {
- i = i - 50;
- item.id = i;
- } else if (s100) {
- i = i - 100;
- item.id = i;
- } else if (t0) {
- i = 0;
- item.id = 0;
- } else if (t1) {
- item.id = i;
- t2 = true;
- ishouldSet = false;
- iString = "";
- }
- if (i < 0) {
- i = 0;
- item.id = 0;
- }
- }
- private void SetButtons() {
- EditorGUILayout.BeginHorizontal("Box"); //Crear un cuadro
- GUILayout.Label("Pon el id que quieres: "); //Texto
- iString = GUILayout.TextField(iString); //El cuadro para escribir
- EditorGUILayout.EndHorizontal(); //Terminar el cuadro
- if (GUILayout.Button("Set ID = 0")) {
- i = 0;
- t0 = true;
- p1 = false;
- p2 = false;
- p5 = false;
- p10 = false;
- p20 = false;
- p50 = false;
- p100 = false;
- s1 = false;
- s2 = false;
- s5 = false;
- s10 = false;
- s20 = false;
- s50 = false;
- s100 = false;
- } else if (GUILayout.Button("Set ID + 1") || t2) {
- t0 = false;
- t2 = false;
- p1 = true;
- p2 = false;
- p5 = false;
- p10 = false;
- p20 = false;
- p50 = false;
- p100 = false;
- s1 = false;
- s2 = false;
- s5 = false;
- s10 = false;
- s20 = false;
- s50 = false;
- s100 = false;
- } else if (GUILayout.Button("Set ID + 2")) {
- t0 = false;
- p1 = false;
- p2 = true;
- p5 = false;
- p10 = false;
- p20 = false;
- p50 = false;
- p100 = false;
- s1 = false;
- s2 = false;
- s5 = false;
- s10 = false;
- s20 = false;
- s50 = false;
- s100 = false;
- } else if (GUILayout.Button("Set ID + 5")) {
- t0 = false;
- p1 = false;
- p2 = false;
- p5 = true;
- p10 = false;
- p20 = false;
- p50 = false;
- p100 = false;
- s1 = false;
- s2 = false;
- s5 = false;
- s10 = false;
- s20 = false;
- s50 = false;
- s100 = false;
- } else if (GUILayout.Button("Set ID + 10")) {
- t0 = false;
- p1 = false;
- p2 = false;
- p5 = false;
- p10 = true;
- p20 = false;
- p50 = false;
- p100 = false;
- s1 = false;
- s2 = false;
- s5 = false;
- s10 = false;
- s20 = false;
- s50 = false;
- s100 = false;
- } else if (GUILayout.Button("Set ID + 20")) {
- t0 = false;
- p1 = false;
- p2 = false;
- p5 = false;
- p10 = false;
- p20 = true;
- p50 = false;
- p100 = false;
- s1 = false;
- s2 = false;
- s5 = false;
- s10 = false;
- s20 = false;
- s50 = false;
- s100 = false;
- } else if (GUILayout.Button("Set ID + 50")) {
- t0 = false;
- p1 = false;
- p2 = false;
- p5 = false;
- p10 = false;
- p20 = false;
- p50 = true;
- p100 = false;
- s1 = false;
- s2 = false;
- s5 = false;
- s10 = false;
- s20 = false;
- s50 = false;
- s100 = false;
- } else if (GUILayout.Button("Set ID + 100")) {
- t0 = false;
- p1 = false;
- p2 = false;
- p5 = false;
- p10 = false;
- p20 = false;
- p50 = false;
- p100 = true;
- s1 = false;
- s2 = false;
- s5 = false;
- s10 = false;
- s20 = false;
- s50 = false;
- s100 = false;
- } else if (GUILayout.Button("Set ID - 1")) {
- t0 = false;
- p1 = false;
- p2 = false;
- p5 = false;
- p10 = false;
- p20 = false;
- p50 = false;
- p100 = false;
- s1 = true;
- s2 = false;
- s5 = false;
- s10 = false;
- s20 = false;
- s50 = false;
- s100 = false;
- } else if (GUILayout.Button("Set ID - 2")) {
- t0 = false;
- p1 = false;
- p2 = false;
- p5 = false;
- p10 = false;
- p20 = false;
- p50 = false;
- p100 = false;
- s1 = false;
- s2 = true;
- s5 = false;
- s10 = false;
- s20 = false;
- s50 = false;
- s100 = false;
- } else if (GUILayout.Button("Set ID - 5")) {
- t0 = false;
- p1 = false;
- p2 = false;
- p5 = false;
- p10 = false;
- p20 = false;
- p50 = false;
- p100 = false;
- s1 = false;
- s2 = false;
- s5 = true;
- s10 = false;
- s20 = false;
- s50 = false;
- s100 = false;
- } else if (GUILayout.Button("Set ID - 10")) {
- t0 = false;
- p1 = false;
- p2 = false;
- p5 = false;
- p10 = false;
- p20 = false;
- p50 = false;
- p100 = false;
- s1 = false;
- s2 = false;
- s5 = false;
- s10 = true;
- s20 = false;
- s50 = false;
- s100 = false;
- } else if (GUILayout.Button("Set ID - 20")) {
- t0 = false;
- p1 = false;
- p2 = false;
- p5 = false;
- p10 = false;
- p20 = false;
- p50 = false;
- p100 = false;
- s1 = false;
- s2 = false;
- s5 = false;
- s10 = false;
- s20 = true;
- s50 = false;
- s100 = false;
- } else if (GUILayout.Button("Set ID - 50")) {
- t0 = false;
- p1 = false;
- p2 = false;
- p5 = false;
- p10 = false;
- p20 = false;
- p50 = false;
- p100 = false;
- s1 = false;
- s2 = false;
- s5 = false;
- s10 = false;
- s20 = false;
- s50 = true;
- s100 = false;
- } else if (GUILayout.Button("Set ID - 100")) {
- t0 = false;
- p1 = false;
- p2 = false;
- p5 = false;
- p10 = false;
- p20 = false;
- p50 = false;
- p100 = false;
- s1 = false;
- s2 = false;
- s5 = false;
- s10 = false;
- s20 = false;
- s50 = false;
- s100 = true;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement