コード例 #1
0
ファイル: RPG.Tests.cs プロジェクト: Tilkeii/RPG
        public void testLogger()
        {
            AbstractLogger logger = Init.Log();

            logger.LogMessage(AbstractLogger.Error, "SAlut");
            logger.LogMessage(AbstractLogger.Info, "yo");
        }
コード例 #2
0
        public bool AddPlayer(string connectionId)
        {
            bool added = false;

            for (int i = 0; i < GameUtils.PLAYER_COUNT; i++)
            {
                if (_game.players[i] == null)
                {
                    _game.players[i] = new Player(connectionId, _game);
                    logger.LogMessage(LogLevel.INFO, "Player " + (i + 1) + " has joined, id: " + connectionId);
                    added = true;
                    break;
                }
            }

            if (!added)
            {
                return(false);
            }
            if (ReadyToStart())
            {
                StartGame();
            }
            return(true);
        }
コード例 #3
0
    public void Main()
    {
        AbstractLogger loggerChian = GetChainOfLoggers();

        loggerChian.LogMessage(AbstractLogger.Debug, "debug");
        loggerChian.LogMessage(AbstractLogger.Warning, "warning");
        loggerChian.LogMessage(AbstractLogger.Error, "error");
    }
コード例 #4
0
 public void LogMessage(int level, string message)
 {
     if (Level <= level)
     {
         Write(message);
     }
     NextLogger?.LogMessage(level, message);
 }
コード例 #5
0
        public void LogMessage(int level, string message, string elem0 = null, string elem1 = null)
        {
            if (Level == level)
            {
                Write(message, elem0, elem1);
            }

            _nextLogger?.LogMessage(level, message, elem0, elem1);
        }
コード例 #6
0
 public void LogMessage(int level, string message)
 {
     if (Level <= level)
     {
         Write(message);
     }
     if (_nextLogger != null)
     {
         _nextLogger.LogMessage(level, message);
     }
 }
コード例 #7
0
ファイル: Game.cs プロジェクト: Naidze/TowerDefence
        public void ChangeName(string connectionId, string name)
        {
            Debug.WriteLine("Changing name " + connectionId + " to: " + name);

            for (int i = 0; i < GameUtils.PLAYER_COUNT; i++)
            {
                if (players[i] != null && players[i].Id == connectionId)
                {
                    players[i].Name = name;
                    logger.LogMessage(LogLevel.DEBUG, "Set player " + (i + 1) + " name to: " + name);
                    break;
                }
            }
        }
コード例 #8
0
ファイル: GameStopper.cs プロジェクト: Naidze/TowerDefence
 public void RemovePlayer(string connectionId)
 {
     if (_game.gameStarted)
     {
         StopGame();
     }
     for (int i = 0; i < GameUtils.PLAYER_COUNT; i++)
     {
         if (_game.players[i] != null && _game.players[i].Id == connectionId)
         {
             _game.players[i] = null;
             logger.LogMessage(LogLevel.FILE, "Player " + (i + 1) + " has left, id: " + connectionId);
             break;
         }
     }
 }
コード例 #9
0
        // ========================================================================
        // =========================== MAIN ENTRY POINT ===========================
        // ========================================================================

        public void Run()
        {
            // set up loggers using chain of responsibility pattern
            Console.ForegroundColor = ConsoleColor.White;
            defaultLogger.SetNext(importantLogger);
            importantLogger.SetNext(fileLogger);
            fileLogger.SetNext(criticalLogger);
            criticalLogger.SetNext(null);
            defaultLogger.LogMessage(60, "Loggers setup!");

            // Create render window
            GameWindow = CreateRenderWindow(Styles.Close);
            Vector2f winSize = GameWindow.GetView().Size;

            // Load resources
            CreateSprites();

            GameState.InitRandom(5);
            builder = new MapBuilder();
            builder.LoadSprites();
            director = new Director(builder);
            director.Construct();
            GameState.TileMap = builder.GetResult();

            // Portal creation
            PortalProspect portal = new PortalProspect();
            Caretaker      m1     = new Caretaker();
            Caretaker      m2     = new Caretaker();

            portal.Pos = new Vector2f(3 * 64f, 45 * 64f);
            portal.Tex = TextureHolder.GetInstance().Get(TextureIdentifier.Portal);
            m1.Memento = portal.CreateMemento();
            portal.Pos = new Vector2f(60 * 64f, 3 * 64f);
            portal.Tex = TextureHolder.GetInstance().Get(TextureIdentifier.PortalRed);
            m2.Memento = portal.CreateMemento();

            GameState.NonCollidableRep.GetIterator().Add(portal);

            // Generate additional objects (destructibles, indestructibles, pickupables)
            SpawningManager(20, 15, 60, 20);

            // View
            MainView   = GameWindow.DefaultView;
            ZoomedView = new View(MainView);
            GameWindow.SetView(ZoomedView);


            // weapon prototype
            weaponProtoype = new Pistol(mediator);


            // Player init
            CreateMainPlayer();

            mediator.GetPlayerText(MainPlayer.PlayerBar);

            ConnectionManager connectionManager = new ConnectionManager("http://underpoweredserver.tplinkdns.com:51230/sd-server");

            GameState.ConnectionManagerProxy = new Managers.Proxy.ConnectionManagerProxy(connectionManager);

            bool isPlayerSpawned = ForceSpawnObject(MainPlayer);

            if (isPlayerSpawned)
            {
                GameState.PlayerRep.GetIterator().Add(MainPlayer);
                GameState.PlayerRep.GetIterator().Add(SpawnFakePlayer(4000, 2000));
                GameState.PlayerRep.GetIterator().Add(SpawnFakePlayer(4000, 2200));
                GameState.PlayerRep.GetIterator().Add(SpawnFakePlayer(4000, 2400));
            }

            PlayerEventManager.Subscribe(PlayerEventType.KilledPlayer, GameplayUI.KillNotifier);
            PlayerEventManager.Subscribe(PlayerEventType.KilledPlayer, GameplayUI.Scoreboard);

            var mPos = GameWindow.MapPixelToCoords(Mouse.GetPosition(GameWindow));



            while (GameWindow.IsOpen)
            {
                GameWindow.Clear();
                GameWindow.DispatchEvents();
                if (this.HasFocus)
                {
                    this.ProccesKeyboardInput();
                    mPos = GameWindow.MapPixelToCoords(Mouse.GetPosition(GameWindow));
                }

                Time deltaTime = FrameClock.Restart();
                if (GameState.ConnectionManagerProxy.ActivityClock.ElapsedTime.AsSeconds() > (1f / multiplayerSendRate) &&
                    GameState.ConnectionManagerProxy.IsConnected())
                {
                    GameState.ConnectionManagerProxy.ActivityClock.Restart();
                    SendPos(GameState.ConnectionManagerProxy.Connection);
                }

                var middlePoint = VectorUtils.GetMiddlePoint(MainPlayer.Position, mPos);

                MainPlayer.Heading        = VectorUtils.GetAngleBetweenVectors(MainPlayer.Position, mPos);
                MainPlayer.LookingAtPoint = mPos;

                SpawnPortal(portal, m1, m2);
                UpdateLoop(deltaTime, mPos);

                lock (SFMLLock)
                {
                    DrawLoop();
                    GameWindow.SetView(MainView);
                    GameWindow.Draw(GameplayUI.Scoreboard);
                    GameWindow.Draw(GameplayUI.RespawnMesage);
                    GameWindow.Draw(GameplayUI.KillNotifier);
                    GameWindow.Draw(GameplayUI.InGameLog);
                    if (container.Show)
                    {
                        GameWindow.Draw(container.composite);
                    }
                    ZoomedView.Center = middlePoint;

                    ZoomedView.Zoom(zoomView);
                    zoomView = 1.0f;
                    GameWindow.SetView(ZoomedView);

                    GameWindow.Display();
                }
            }
        }