Advertisement
GuerreroCraft61

Untitled

Apr 15th, 2019
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 17.95 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEditor;
  4. using UnityEngine;
  5.  
  6. [CustomEditor(typeof(DataBase))]
  7. public class DatabaseEditor : Editor {
  8.  
  9.     private DataBase database;
  10.  
  11.     private string searchString;
  12.     private string searchString2;
  13.     private string searchString3;
  14.     private string searchString4;
  15.     private string iString;
  16.     private bool shouldSearch;
  17.     private bool shouldSearch2;
  18.     private bool shouldSearch3;
  19.     private bool shouldSearch4;
  20.     private bool ishouldSet;
  21.     private int i;
  22.     private bool t0, t1, t2, p1, p2, p5, p10, p20, p50, p100, s1, s2, s5, s10, s20, s50, s100;
  23.  
  24.     private void OnEnable() {
  25.         database = (DataBase) target;
  26.     }
  27.  
  28.     public override void OnInspectorGUI() {
  29.         base.DrawDefaultInspector();
  30.         if (database) {
  31.             EditorGUILayout.BeginHorizontal("Box"); //Crear un cuadro
  32.             GUILayout.Label("Items in Database: " + database.items.Count); //Cantidad de objetos que hay en el base de datos
  33.             EditorGUILayout.EndHorizontal(); //Terminar el cuadro
  34.  
  35.             EditorGUILayout.BeginHorizontal("Box"); //Crear un cuadro
  36.             GUILayout.Label("Search (ID/Name/Desc.): "); //Texto de que Search
  37.             searchString = GUILayout.TextField(searchString); //El cuadro para escribir
  38.             EditorGUILayout.EndHorizontal(); //Terminar el cuadro
  39.  
  40.             EditorGUILayout.BeginHorizontal("Box"); //Crear un cuadro
  41.             GUILayout.Label("Search (Cost) (int): "); //Texto de que Search
  42.             searchString2 = GUILayout.TextField(searchString2); //El cuadro para escribir
  43.             EditorGUILayout.EndHorizontal(); //Terminar el cuadro
  44.  
  45.             EditorGUILayout.BeginHorizontal("Box"); //Crear un cuadro
  46.             GUILayout.Label("Search (SellCost) (int): "); //Texto de que Search
  47.             searchString3 = GUILayout.TextField(searchString3); //El cuadro para escribir
  48.             EditorGUILayout.EndHorizontal(); //Terminar el cuadro
  49.  
  50.             EditorGUILayout.BeginHorizontal("Box"); //Crear un cuadro
  51.             GUILayout.Label("Search (UseLevel) (int): "); //Texto de que Search
  52.             searchString4 = GUILayout.TextField(searchString4); //El cuadro para escribir
  53.             EditorGUILayout.EndHorizontal(); //Terminar el cuadro
  54.  
  55.             NeedSearchItem();
  56.  
  57.             foreach (Item item in database.items) {
  58.                 SearchItem(item);
  59.                 item.descriptionLenght = item.description.Length; //Definir cuantas letras tiene la descripcion
  60.             }
  61.             SetButtons();
  62.         }
  63.     }
  64.  
  65.     private void DisplayItem(Item item) {
  66.         GUIStyle labelStyle = new GUIStyle(GUI.skin.label); //Crear un nuevo estilo para no modificar el estilo general
  67.         labelStyle.wordWrap = true; //Poner texto debajo, para que no se expanda el editor
  68.  
  69.         GUIStyle valueStyle = new GUIStyle(GUI.skin.label); //Crear un nuevo estilo para no modificar el estilo general
  70.         valueStyle.wordWrap = true; //Poner texto debajo, para que no se expanda el editor
  71.         valueStyle.alignment = TextAnchor.MiddleCenter;
  72.         valueStyle.fixedWidth = 50;
  73.         valueStyle.margin = new RectOffset(0, 50, 0, 0);
  74.  
  75.         GUIStyle nameStyle = new GUIStyle(GUI.skin.label); //Crear un nuevo estilo para no modificar el estilo general
  76.         nameStyle.wordWrap = true; //Poner texto debajo, para que no se expanda el editor
  77.         nameStyle.alignment = TextAnchor.MiddleCenter;
  78.         nameStyle.fixedWidth = 150;
  79.         nameStyle.margin = new RectOffset(0, 0, 5, 0);
  80.  
  81.         EditorGUILayout.BeginVertical("Box"); //Crear un cuadro
  82.  
  83.         EditorGUILayout.BeginHorizontal();
  84.         GUILayout.Label("ID: ");
  85.         GUILayout.Label(item.id.ToString(), valueStyle);
  86.         if (GUILayout.Button("Set ID")) {
  87.             SetID(item);
  88.         }
  89.         EditorGUILayout.EndHorizontal();
  90.  
  91.         EditorGUILayout.BeginHorizontal();
  92.         GUILayout.Label("Name: ");
  93.         GUILayout.Label(item.name, nameStyle);
  94.         EditorGUILayout.EndHorizontal();
  95.  
  96.         //EditorGUILayout.BeginHorizontal();
  97.         if (!string.IsNullOrWhiteSpace(item.description)) {
  98.             GUILayout.Label("Description: ");
  99.             if (item.descriptionLenght < 45) {
  100.                 item.scrollPos = EditorGUILayout.BeginScrollView(item.scrollPos, GUILayout.MinHeight(1), GUILayout.MinHeight(20));
  101.             } else if (item.descriptionLenght >= 45 && item.descriptionLenght < 90) {
  102.                 item.scrollPos = EditorGUILayout.BeginScrollView(item.scrollPos, GUILayout.MinHeight(1), GUILayout.MinHeight(35));
  103.             } else if (item.descriptionLenght >= 90 && item.descriptionLenght < 135) {
  104.                 item.scrollPos = EditorGUILayout.BeginScrollView(item.scrollPos, GUILayout.MinHeight(1), GUILayout.MinHeight(50));
  105.             } else if (item.descriptionLenght >= 135 && item.descriptionLenght < 180) {
  106.                 item.scrollPos = EditorGUILayout.BeginScrollView(item.scrollPos, GUILayout.MinHeight(1), GUILayout.MinHeight(65));
  107.             } else if (item.descriptionLenght >= 180) {
  108.                 item.scrollPos = EditorGUILayout.BeginScrollView(item.scrollPos, GUILayout.MinHeight(1), GUILayout.MinHeight(70));
  109.             }
  110.             GUILayout.Label(item.description, labelStyle);
  111.             EditorGUILayout.EndScrollView();
  112.         } else {
  113.             EditorGUILayout.BeginHorizontal();
  114.             GUILayout.Label("Description: ");
  115.             GUILayout.Label("Sin descripcion");
  116.             EditorGUILayout.EndHorizontal();
  117.         }
  118.         //  EditorGUILayout.EndHorizontal();
  119.  
  120.         EditorGUILayout.BeginHorizontal();
  121.         GUILayout.Label("Cost: ");
  122.         GUILayout.Label(item.cost.ToString(), valueStyle);
  123.         EditorGUILayout.EndHorizontal();
  124.  
  125.         EditorGUILayout.BeginHorizontal();
  126.         GUILayout.Label("Sell cost: ");
  127.         GUILayout.Label(item.sellCost.ToString(), valueStyle);
  128.         EditorGUILayout.EndHorizontal();
  129.  
  130.         EditorGUILayout.BeginHorizontal();
  131.         GUILayout.Label("Use level: ");
  132.         GUILayout.Label(item.useLevel.ToString(), valueStyle);
  133.         EditorGUILayout.EndHorizontal();
  134.  
  135.         EditorGUILayout.BeginHorizontal();
  136.         GUILayout.Label("Damage: ");
  137.         GUILayout.Label(item.stats.damage.ToString(), valueStyle);
  138.         EditorGUILayout.EndHorizontal();
  139.  
  140.         EditorGUILayout.BeginHorizontal();
  141.         GUILayout.Label("Defense: ");
  142.         GUILayout.Label(item.stats.defense.ToString(), valueStyle);
  143.         EditorGUILayout.EndHorizontal();
  144.  
  145.         EditorGUILayout.EndVertical(); //Terminar el cuadro
  146.     }
  147.     private void NeedSearchItem() {
  148.         bool isNumeric2 = int.TryParse(searchString2, out int n2);
  149.         bool isNumeric3 = int.TryParse(searchString3, out int n3);
  150.         bool isNumeric4 = int.TryParse(searchString4, out int n4);
  151.         bool isNumerici = int.TryParse(iString, out int pi);
  152.  
  153.         if (System.String.IsNullOrEmpty(searchString)) { //Si searchString es nulo no buscara nada y pondra todo
  154.             shouldSearch = false;
  155.         } else {
  156.             shouldSearch = true;
  157.         }
  158.         if (System.String.IsNullOrEmpty(searchString2)) { //Si searchString es nulo no buscara nada y pondra todo
  159.             shouldSearch2 = false;
  160.         } else {
  161.             if (isNumeric2) {
  162.                 shouldSearch2 = true;
  163.             }
  164.         }
  165.         if (System.String.IsNullOrEmpty(searchString3)) { //Si searchString es nulo no buscara nada y pondra todo
  166.             shouldSearch3 = false;
  167.         } else {
  168.             if (isNumeric3) {
  169.                 shouldSearch3 = true;
  170.             }
  171.         }
  172.         if (System.String.IsNullOrEmpty(searchString4)) { //Si searchString es nulo no buscara nada y pondra todo
  173.             shouldSearch4 = false;
  174.         } else {
  175.             if (isNumeric4) {
  176.                 shouldSearch4 = true;
  177.             }
  178.         }
  179.         if (System.String.IsNullOrEmpty(iString)) {
  180.             ishouldSet = false;
  181.         } else {
  182.             if (isNumerici) {
  183.                 ishouldSet = true;
  184.             }
  185.         }
  186.     }
  187.     private void SearchItem(Item item) {
  188.         if (shouldSearch) {
  189.             if (item.name.Equals(searchString.ToLower()) ||
  190.                 item.name.Equals(searchString.ToUpper()) ||
  191.                 item.name.Contains(searchString.ToLower()) ||
  192.                 item.name.Contains(searchString.ToUpper()) ||
  193.                 item.id.ToString() == searchString ||
  194.                 item.description.Equals(searchString.ToLower()) ||
  195.                 item.description.Equals(searchString.ToUpper()) ||
  196.                 item.description.Contains(searchString.ToLower()) ||
  197.                 item.description.Contains(searchString.ToUpper())) {
  198.                 DisplayItem(item);
  199.             }
  200.         } else if (shouldSearch2) {
  201.             if (item.cost.ToString() == searchString2) {
  202.                 DisplayItem(item);
  203.             }
  204.         } else if (shouldSearch3) {
  205.             if (item.sellCost.ToString() == searchString3) {
  206.                 DisplayItem(item);
  207.             }
  208.         } else if (shouldSearch4) {
  209.             if (item.useLevel.ToString() == searchString4) {
  210.                 DisplayItem(item);
  211.             }
  212.         } else { //Si shouldSearch es false no buscara nada y pondra todo
  213.             DisplayItem(item);
  214.         }
  215.         if (ishouldSet) {
  216.             int.TryParse(iString, out i);
  217.             t0 = false;
  218.             t1 = true;
  219.             p1 = false;
  220.             p2 = false;
  221.             p5 = false;
  222.             p10 = false;
  223.             p20 = false;
  224.             p50 = false;
  225.             p100 = false;
  226.             s1 = false;
  227.             s2 = false;
  228.             s5 = false;
  229.             s10 = false;
  230.             s20 = false;
  231.             s50 = false;
  232.             s100 = false;
  233.         }
  234.     }
  235.     private void SetID(Item item) {
  236.         if (p1) {
  237.             i = i + 1;
  238.             item.id = i;
  239.         } else if (p2) {
  240.             i = i + 2;
  241.             item.id = i;
  242.         } else if (p5) {
  243.             i = i + 5;
  244.             item.id = i;
  245.         } else if (p10) {
  246.             i = i + 10;
  247.             item.id = i;
  248.         } else if (p20) {
  249.             i = i + 20;
  250.             item.id = i;
  251.         } else if (p50) {
  252.             i = i + 50;
  253.             item.id = i;
  254.         } else if (p100) {
  255.             i = i + 100;
  256.             item.id = i;
  257.         } else if (s1) {
  258.             i = i - 1;
  259.             item.id = i;
  260.         } else if (s2) {
  261.             i = i - 2;
  262.             item.id = i;
  263.         } else if (s5) {
  264.             i = i - 5;
  265.             item.id = i;
  266.         } else if (s10) {
  267.             i = i - 10;
  268.             item.id = i;
  269.         } else if (s20) {
  270.             i = i - 20;
  271.             item.id = i;
  272.         } else if (s50) {
  273.             i = i - 50;
  274.             item.id = i;
  275.         } else if (s100) {
  276.             i = i - 100;
  277.             item.id = i;
  278.         } else if (t0) {
  279.             i = 0;
  280.             item.id = 0;
  281.         } else if (t1) {
  282.             item.id = i;
  283.             t2 = true;
  284.             ishouldSet = false;
  285.             iString = "";
  286.         }
  287.         if (i < 0) {
  288.             i = 0;
  289.             item.id = 0;
  290.         }
  291.     }
  292.     private void SetButtons() {
  293.         EditorGUILayout.BeginHorizontal("Box"); //Crear un cuadro
  294.         GUILayout.Label("Pon el id que quieres: "); //Texto
  295.         iString = GUILayout.TextField(iString); //El cuadro para escribir
  296.         EditorGUILayout.EndHorizontal(); //Terminar el cuadro
  297.         if (GUILayout.Button("Set ID = 0")) {
  298.             i = 0;
  299.             t0 = true;
  300.             p1 = false;
  301.             p2 = false;
  302.             p5 = false;
  303.             p10 = false;
  304.             p20 = false;
  305.             p50 = false;
  306.             p100 = false;
  307.             s1 = false;
  308.             s2 = false;
  309.             s5 = false;
  310.             s10 = false;
  311.             s20 = false;
  312.             s50 = false;
  313.             s100 = false;
  314.         } else if (GUILayout.Button("Set ID + 1") || t2) {
  315.             t0 = false;
  316.             t2 = false;
  317.             p1 = true;
  318.             p2 = false;
  319.             p5 = false;
  320.             p10 = false;
  321.             p20 = false;
  322.             p50 = false;
  323.             p100 = false;
  324.             s1 = false;
  325.             s2 = false;
  326.             s5 = false;
  327.             s10 = false;
  328.             s20 = false;
  329.             s50 = false;
  330.             s100 = false;
  331.         } else if (GUILayout.Button("Set ID + 2")) {
  332.             t0 = false;
  333.             p1 = false;
  334.             p2 = true;
  335.             p5 = false;
  336.             p10 = false;
  337.             p20 = false;
  338.             p50 = false;
  339.             p100 = false;
  340.             s1 = false;
  341.             s2 = false;
  342.             s5 = false;
  343.             s10 = false;
  344.             s20 = false;
  345.             s50 = false;
  346.             s100 = false;
  347.         } else if (GUILayout.Button("Set ID + 5")) {
  348.             t0 = false;
  349.             p1 = false;
  350.             p2 = false;
  351.             p5 = true;
  352.             p10 = false;
  353.             p20 = false;
  354.             p50 = false;
  355.             p100 = false;
  356.             s1 = false;
  357.             s2 = false;
  358.             s5 = false;
  359.             s10 = false;
  360.             s20 = false;
  361.             s50 = false;
  362.             s100 = false;
  363.         } else if (GUILayout.Button("Set ID + 10")) {
  364.             t0 = false;
  365.             p1 = false;
  366.             p2 = false;
  367.             p5 = false;
  368.             p10 = true;
  369.             p20 = false;
  370.             p50 = false;
  371.             p100 = false;
  372.             s1 = false;
  373.             s2 = false;
  374.             s5 = false;
  375.             s10 = false;
  376.             s20 = false;
  377.             s50 = false;
  378.             s100 = false;
  379.         } else if (GUILayout.Button("Set ID + 20")) {
  380.             t0 = false;
  381.             p1 = false;
  382.             p2 = false;
  383.             p5 = false;
  384.             p10 = false;
  385.             p20 = true;
  386.             p50 = false;
  387.             p100 = false;
  388.             s1 = false;
  389.             s2 = false;
  390.             s5 = false;
  391.             s10 = false;
  392.             s20 = false;
  393.             s50 = false;
  394.             s100 = false;
  395.         } else if (GUILayout.Button("Set ID + 50")) {
  396.             t0 = false;
  397.             p1 = false;
  398.             p2 = false;
  399.             p5 = false;
  400.             p10 = false;
  401.             p20 = false;
  402.             p50 = true;
  403.             p100 = false;
  404.             s1 = false;
  405.             s2 = false;
  406.             s5 = false;
  407.             s10 = false;
  408.             s20 = false;
  409.             s50 = false;
  410.             s100 = false;
  411.         } else if (GUILayout.Button("Set ID + 100")) {
  412.             t0 = false;
  413.             p1 = false;
  414.             p2 = false;
  415.             p5 = false;
  416.             p10 = false;
  417.             p20 = false;
  418.             p50 = false;
  419.             p100 = true;
  420.             s1 = false;
  421.             s2 = false;
  422.             s5 = false;
  423.             s10 = false;
  424.             s20 = false;
  425.             s50 = false;
  426.             s100 = false;
  427.         } else if (GUILayout.Button("Set ID - 1")) {
  428.             t0 = false;
  429.             p1 = false;
  430.             p2 = false;
  431.             p5 = false;
  432.             p10 = false;
  433.             p20 = false;
  434.             p50 = false;
  435.             p100 = false;
  436.             s1 = true;
  437.             s2 = false;
  438.             s5 = false;
  439.             s10 = false;
  440.             s20 = false;
  441.             s50 = false;
  442.             s100 = false;
  443.         } else if (GUILayout.Button("Set ID - 2")) {
  444.             t0 = false;
  445.             p1 = false;
  446.             p2 = false;
  447.             p5 = false;
  448.             p10 = false;
  449.             p20 = false;
  450.             p50 = false;
  451.             p100 = false;
  452.             s1 = false;
  453.             s2 = true;
  454.             s5 = false;
  455.             s10 = false;
  456.             s20 = false;
  457.             s50 = false;
  458.             s100 = false;
  459.         } else if (GUILayout.Button("Set ID - 5")) {
  460.             t0 = false;
  461.             p1 = false;
  462.             p2 = false;
  463.             p5 = false;
  464.             p10 = false;
  465.             p20 = false;
  466.             p50 = false;
  467.             p100 = false;
  468.             s1 = false;
  469.             s2 = false;
  470.             s5 = true;
  471.             s10 = false;
  472.             s20 = false;
  473.             s50 = false;
  474.             s100 = false;
  475.         } else if (GUILayout.Button("Set ID - 10")) {
  476.             t0 = false;
  477.             p1 = false;
  478.             p2 = false;
  479.             p5 = false;
  480.             p10 = false;
  481.             p20 = false;
  482.             p50 = false;
  483.             p100 = false;
  484.             s1 = false;
  485.             s2 = false;
  486.             s5 = false;
  487.             s10 = true;
  488.             s20 = false;
  489.             s50 = false;
  490.             s100 = false;
  491.         } else if (GUILayout.Button("Set ID - 20")) {
  492.             t0 = false;
  493.             p1 = false;
  494.             p2 = false;
  495.             p5 = false;
  496.             p10 = false;
  497.             p20 = false;
  498.             p50 = false;
  499.             p100 = false;
  500.             s1 = false;
  501.             s2 = false;
  502.             s5 = false;
  503.             s10 = false;
  504.             s20 = true;
  505.             s50 = false;
  506.             s100 = false;
  507.         } else if (GUILayout.Button("Set ID - 50")) {
  508.             t0 = false;
  509.             p1 = false;
  510.             p2 = false;
  511.             p5 = false;
  512.             p10 = false;
  513.             p20 = false;
  514.             p50 = false;
  515.             p100 = false;
  516.             s1 = false;
  517.             s2 = false;
  518.             s5 = false;
  519.             s10 = false;
  520.             s20 = false;
  521.             s50 = true;
  522.             s100 = false;
  523.         } else if (GUILayout.Button("Set ID - 100")) {
  524.             t0 = false;
  525.             p1 = false;
  526.             p2 = false;
  527.             p5 = false;
  528.             p10 = false;
  529.             p20 = false;
  530.             p50 = false;
  531.             p100 = false;
  532.             s1 = false;
  533.             s2 = false;
  534.             s5 = false;
  535.             s10 = false;
  536.             s20 = false;
  537.             s50 = false;
  538.             s100 = true;
  539.         }
  540.     }
  541. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement