Esempio n. 1
0
        /// <summary>
        /// Läd das Ingame-Spiel
        /// </summary>
        public void LoadIngame(bool hard)
        {
            //Erstellen des Dungeons
            d = new Dungeon(new DungeonGenArgs()
            {
                CorridorWidth             = 6,
                Rooms                     = hard ? 15 : 10,
                LeaveConnectionPercentage = 0.25f,
                EnemiesPerRoom            = hard ? 6 : 3
            });

            //Resize der Rectangle für Performanz
            foreach (Rectangle r in d.Bounds)
            {
                r.Pos       *= 15;
                r.Size      *= 15;
                r.CenterPos *= 15;
            }
            thePlayer = new EntityPlayer(d.Bounds);

            rnd                = new CRandom(d.Args.Seed);
            thePlayer          = new EntityPlayer(d.Bounds);
            thePlayer.Position = d.StartRoom.CenterPos *= 15;
            player             = thePlayer;
            Entities.Add(thePlayer);
            path = new Path(thePlayer.GridPosition, d.StartRoom.CenterPos / 15f, d);

            SpawnEnemies();

            ingameGui = new GuiIngame(this);
            isIngame  = true;
        }
Esempio n. 2
0
    /*public override void OnEvent(JugadorEvent evnt)
     * {
     *  Jugadores.Add(new JugadorM(evnt.Alias, evnt.Posicion, numeroJugadores++));
     *  alias1 = evnt.Alias;
     * }*/

    /// <summary>
    /// si no es el servidor recupera los jugadores que han sido guardados en el state, ya sean del servidor o de otro cliente
    /// busca el jugador propio para añadirlo
    /// </summary>
    private void RecuperarJugadores()
    {
        numeroJugadores = state.NumeroJugadores;
        Debug.LogFormat("He recuperado {0} jugadores", numeroJugadores);
        for (int i = 0; i < 4; i++)
        {
            Jugadores.Add(new JugadorM(state.AliasJugadores[i], state.PosicionJugadores[i], i));
            Debug.LogFormat("Jugador {0} en la posicion {1}, con el numero {2}", state.AliasJugadores[i], state.PosicionJugadores[i], i);
        }

        //si soy el cliente busco el jugador si he recuperado los otros jugadores y todavía no he recuperado el mío
        if (BoltNetwork.IsClient && numeroJugadores > 0 && miJugador == null)
        {
            BuscarMiJugador();
        }
        if (BoltNetwork.IsServer && miJugador == null)
        {
            BuscarMiJugador();
        }

        GuiIngame guiIngame = FindObjectOfType <GuiIngame>();

        if (guiIngame == null || guiIngame.estado == GuiIngame.Estado.ClienteEsperandoEmpezar ||
            guiIngame.estado == GuiIngame.Estado.ServidorEsperandoEmpezar)
        {
            Debug.LogFormat(
                "GuiIngame == null es {0}, guiIngame.estado == GuiIngame.Estado.ClienteEsperandoEmpezar es {1}, guiIngame.estado == GuiIngame.Estado.ServidorEsperandoEmpezar es {2}",
                guiIngame == null, guiIngame.estado == GuiIngame.Estado.ClienteEsperandoEmpezar,
                guiIngame.estado == GuiIngame.Estado.ServidorEsperandoEmpezar);
            Invoke("RecuperarJugadores", tiempoBuscarJugador);
        }
    }
Esempio n. 3
0
        public void openGui(Gui gui)
        {
            if (gui == null)
            {
                gui = new GuiIngame(GameData.MainPlayer);
            }

            if (this.CurrentGui != null)
            {
                this.CurrentGui.onClosed();
            }

            this.RenderManager.openGui(gui.getRenderer());

            this.CurrentGui = gui;
            this.CurrentGui.onOpened();
        }
Esempio n. 4
0
 public override GuiSelection onSelected(GuiIngame gui)
 {
     return(new GuiSelectionCow(gui.CurrentPlayer, this));
 }
Esempio n. 5
0
 public virtual GuiSelection onSelected(GuiIngame gui)
 {
     return(null);
 }