Exemple #1
0
        /// <summary>
        /// <para>Crea un spawn point y lo asigna al index pasado</para>
        /// </summary>
        /// <param name="nombreSpawn">Nombre Spawn</param>
        /// <param name="index">Index de la lista</param>
        public void CrearSpawnPoint(string nombreSpawn, int index)// Crea un spawn point y lo asigna al index pasado
        {
            SAgne      sagn = (SAgne)target;
            GameObject root;
            GameObject nuevoGame = (GameObject)EditorGUIUtility.Load("Moon Pincho/Sistemas/Objeto.prefab");;
            GameObject hijo;

            root = GameObject.FindGameObjectWithTag("SAgne");

            hijo = root.AddChild(nuevoGame);
            hijo.transform.parent = root.transform;
            hijo.name             = sagn.spawnEnemigos[index].nombreSpawn;
            sagn.spawnEnemigos[index].spawnPoint = hijo.transform;
            Selection.activeGameObject           = hijo;
        }
Exemple #2
0
        /// <summary>
        /// <para>Interfaz</para>
        /// </summary>
        public override void OnInspectorGUI()// Interfaz
        {
            SAgne sagn = (SAgne)target;

            #region Header
            EditorGUILayout.BeginVertical("box");
            GUILayout.Space(5);
            EditorGUILayout.BeginHorizontal("box");
            GUILayout.Space(10);
            EditorGUILayout.LabelField("Spawn Activos: " + sagn.spawnEnemigos.Count);
            if (GUILayout.Button("Agregar Spawn"))
            {
                AgregarSpawn();
            }
            EditorGUILayout.EndHorizontal();
            GUILayout.Space(5);

            //EditorGUILayout.BeginVertical("box");

            GUILayout.Space(10);
            #endregion

            for (int i = 0; i < sagn.spawnEnemigos.Count; i++)
            {
                EditorGUILayout.BeginVertical("box");
                EditorGUILayout.BeginHorizontal("box");
                EditorGUILayout.LabelField("Grupo Spawn " + sagn.spawnEnemigos[i].nombreSpawn);
                EditorGUILayout.EndHorizontal();
                #region Generales
                RenderizarHeader("General", "MP_SAgne_Generales", generales);
                if (EditorGUILayout.BeginFadeGroup(generales.faded))
                {
                    EditorGUILayout.BeginHorizontal();
                    sagn.spawnEnemigos[i].nombreSpawn   = EditorGUILayout.TextField(sagn.spawnEnemigos[i].nombreSpawn, GUILayout.Width(100));
                    sagn.spawnEnemigos[i].prefabEnemigo = EditorGUILayout.ObjectField("Enemigo spawn " + sagn.spawnEnemigos[i].nombreSpawn + " :", sagn.spawnEnemigos[i].prefabEnemigo, typeof(GameObject), true) as GameObject;
                    if (GUILayout.Button("X"))
                    {
                        QuitarSpawn(i);
                    }
                    EditorGUILayout.EndHorizontal();
                }
                EditorGUILayout.EndFadeGroup();
                #endregion

                #region Punto
                RenderizarHeader("Spawn", "MP_SAgne_PuntoSpawn", puntoSpawn);
                if (EditorGUILayout.BeginFadeGroup(puntoSpawn.faded))
                {
                    EditorGUILayout.BeginHorizontal();
                    if (sagn.spawnEnemigos[i].spawnPoint == null)
                    {
                        EditorGUILayout.LabelField("Punto de Spawn: ");
                        if (GUILayout.Button("Crear Punto"))
                        {
                            CrearSpawnPoint(sagn.spawnEnemigos[i].nombreSpawn, i);
                        }
                    }
                    else
                    {
                        sagn.spawnEnemigos[i].spawnPoint = EditorGUILayout.ObjectField("Punto de Spawn: ", sagn.spawnEnemigos[i].spawnPoint, typeof(Transform), true) as Transform;
                    }
                    EditorGUILayout.EndHorizontal();
                }
                EditorGUILayout.EndFadeGroup();
                #endregion

                #region Tiempo
                RenderizarHeader("Tiempo Spawn", "MP_SAgne_TiempoSpawn", tiempoSpawn);
                if (EditorGUILayout.BeginFadeGroup(tiempoSpawn.faded))
                {
                    EditorGUILayout.BeginHorizontal();

                    EditorGUILayout.BeginVertical();
                    EditorGUILayout.LabelField("Tiempo Spawn: ");
                    sagn.spawnEnemigos[i].tiempoActualSpawn = EditorGUILayout.Slider(sagn.spawnEnemigos[i].tiempoActualSpawn, 0, sagn.spawnEnemigos[i].tiempoSpawn);

                    EditorGUILayout.LabelField("Tiempo Max Spawn: ");
                    sagn.spawnEnemigos[i].tiempoSpawn = EditorGUILayout.Slider(sagn.spawnEnemigos[i].tiempoSpawn, 0, 200);
                    EditorGUILayout.EndVertical();

                    EditorGUILayout.EndHorizontal();
                }
                EditorGUILayout.EndFadeGroup();
                #endregion

                #region Enemigos
                RenderizarHeader("Enemigo Spawn", "MP_SAgne_EnemigosSpawn", enemigosSpawn);
                if (EditorGUILayout.BeginFadeGroup(enemigosSpawn.faded))
                {
                    EditorGUILayout.BeginHorizontal();

                    EditorGUILayout.BeginVertical();
                    EditorGUILayout.LabelField("Enemigos Spawns: ");
                    sagn.spawnEnemigos[i].actualSpawn = EditorGUILayout.IntField(sagn.spawnEnemigos[i].actualSpawn);

                    EditorGUILayout.LabelField("Maximo Enemigos Spawn: ");
                    sagn.spawnEnemigos[i].maxSpawn = EditorGUILayout.IntField(sagn.spawnEnemigos[i].maxSpawn);
                    EditorGUILayout.EndVertical();

                    EditorGUILayout.EndHorizontal();
                }
                EditorGUILayout.EndFadeGroup();
                #endregion

                EditorGUILayout.EndVertical();
            }

            #region Final Header
            // EditorGUILayout.EndVertical();
            EditorGUILayout.EndVertical();
            #endregion

            Repaint();
        }
Exemple #3
0
        /// <summary>
        /// <para>Quita un Spawn</para>
        /// </summary>
        /// <param name="index">Index de la lista</param>
        public void QuitarSpawn(int index)// Quita un Spawn
        {
            SAgne sagn = (SAgne)target;

            sagn.spawnEnemigos.RemoveAt(index);
        }
Exemple #4
0
        /// <summary>
        /// <para>Agrega un Spawn</para>
        /// </summary>
        public void AgregarSpawn()// Agrega un Spawn
        {
            SAgne sagn = (SAgne)target;

            sagn.spawnEnemigos.Add(new clsSpawnEnemigos());
        }