// Update is called once per frame
    void Update()
    {
        if (PlayerEventManager.isClicked())
        {
            holdingDown = true;

            //this.transform.position += MainCamera.transform.forward * MovmentSpeed * Time.deltaTime;
            if (!m_AudioManager.Sounds[0].source.isPlaying)
            {
                //m_AudioManager.Play("JetPack");
                m_AudioManager.Sounds[0].source.Play();
                //m_AudioManager.Sounds[0].source.loop = true;
            }

            m_RigidBody.AddForce(MainCamera.transform.forward * MovmentSpeed * Time.deltaTime, ForceMode.Impulse);
            // m_RigidBody.velocity = MainCamera.transform.forward * MovmentSpeed;
            Indicator_ZY.position = new Vector3(40f,
                                                this.transform.position.y,
                                                this.transform.position.z);
            Indicator_XY.position = new Vector3(this.transform.position.x,
                                                this.transform.position.y,
                                                -40f);
        }
        if (!Input.anyKey && holdingDown)
        {
            holdingDown = false;
            m_AudioManager.Sounds[0].source.Stop();
        }
    }
Exemple #2
0
 // Update is called once per frame
 void Update()
 {
     if (Input.GetKey(KeyCode.P))
     {
         PlayerEventManager.DoDamage(1);
     }
 }
Exemple #3
0
    void ResetPlayerPosition()
    {
        PlayerEventManager EM = PlayerGlobal.Instance.GetComponent <PlayerEventManager>();

        EM.Respawn();
        PlayerGlobal.Instance.transform.position = PlayerGlobal.Instance.StartPosition;
    }
Exemple #4
0
        public void EventManagerSubNotify()
        {
            LoadTextures();
            LoadFonts();
            var shooter = new Mock <Player>().Object;
            var victim  = new Mock <Player>().Object;

            var scoreboard = new Scoreboard();
            var killnotif  = new KillNotifier();

            var evtManager = PlayerEventManager.GetInstance();

            var evtData = new PlayerEventData();

            evtData.Shooter = shooter;
            evtData.Victim  = victim;

            evtManager.Subscribe(PlayerEventType.PlayerDead, killnotif);
            evtManager.Subscribe(PlayerEventType.KilledPlayer, scoreboard);

            evtManager.Notify(PlayerEventType.KilledPlayer, evtData);
            evtManager.Notify(PlayerEventType.PlayerDead, evtData);

            Assert.True(evtManager._listeners[PlayerEventType.PlayerDead].Count == 1 && evtManager._listeners[PlayerEventType.KilledPlayer].Count == 1);
        }
Exemple #5
0
 // Update is called once per frame
 void Update()
 {
     if (PlayerEventManager.isKeyDown())
     {
         handleRaycast();
     }
 }
Exemple #6
0
        public Player(string nickname)
        {
            Nickname = nickname;

            EventManager    = new PlayerEventManager(this);
            RequestManager  = new PlayerRequestManager(this);
            ResponseManager = new PlayerResponseManager(this);
        }
Exemple #7
0
 void Start()
 {
     rb               = GetComponent <Rigidbody>();
     characters       = new BaseCharacter[maxPartySize];
     movePosition     = transform.position;
     characterManager = FindObjectOfType <CharacterManager>();
     eventManager     = GetComponent <PlayerEventManager>();
 }
Exemple #8
0
 void Start()
 {
     spawnTimer       = GlobalGameVariables.Instance.variables.EnemySpawnInterval;
     enemySpawnConfig = GlobalGameVariables.Instance.variables.enemySpawnConfiguration;
     timer            = spawnTimer;
     totalChance      = enemySpawnConfig.Sum(q => q.chance);
     playerEvent      = FindObjectOfType <PlayerEventManager>();
 }
Exemple #9
0
 void Start()
 {
     spawnedItems    = new GameObject[transform.childCount];
     spawnTimer      = GlobalGameVariables.Instance.variables.ItemSpawnInterval;
     itemSpawnConfig = GlobalGameVariables.Instance.variables.itemSpawnConfiguration;
     timer           = spawnTimer;
     totalChance     = itemSpawnConfig.Sum(q => q.chance);
     playerEvent     = FindObjectOfType <PlayerEventManager>();
 }
Exemple #10
0
    // Use this for initialization
    void Start()
    {
        m_EventManager = GetComponent <PlayerEventManager>();

        directions.Add("Forward", button_Forward);
        directions.Add("Right", button_Right);
        directions.Add("Left", button_Left);
        directions.Add("Back", button_Back);
        directions.Add("Jump", button_Jump);
    }
Exemple #11
0
 public void Setup()
 {
     playerEventManager = new PlayerEventManager();
     game    = new Game(new BasicGamemode(), playerEventManager);
     players = new List <Player>();
     for (int i = 0; i < 5; i++)
     {
         players.Add(new Player());
     }
 }
Exemple #12
0
 public GameManager(Server server, Game game,
                    IServerMessageFactory messageFactory, PlayerEventManager pem)
 {
     _server         = server;
     _game           = game;
     _messageFactory = messageFactory;
     _pem            = pem;
     _readyUserIDs   = new List <Guid>();
     _game.CurrentState.PropertyChanged += OnGameStateUpdate;
 }
Exemple #13
0
        public Player(int playerID, IPAddress lastConnectedIPAddress, string account, string nickname)
        {
            PlayerID = playerID;
            LastConnectedIPAddress = lastConnectedIPAddress;
            Account  = account;
            Nickname = nickname;

            EventManager     = new PlayerEventManager(this);
            OperationManager = new PlayerOperationManager(this);
            ResponseManager  = new PlayerResponseManager(this);
        }
 void Awake()
 {
     if (_instance != null && _instance != this)
     {
         Destroy(this.gameObject);
     }
     else
     {
         _instance = this;
     }
 }
Exemple #15
0
 private void Awake()
 {
     if (_instance != this && _instance != null)
     {
         Destroy(gameObject);
     }
     else
     {
         _instance = this;
     }
 }
Exemple #16
0
    void InitializeParty()
    {
        rb       = GetComponent <Rigidbody>();
        monsters = new BaseMonster[Random.Range(minPartySize, maxPartySize)];

        foreach (BaseMonster monster in monsters)
        {
            //monsters = new BaseMonster[monster];
        }

        movePosition = transform.position;
        eventManager = FindObjectOfType <PlayerEventManager>();
        //eventManager.OnPlayerMove += RandomizeMoveInput;
    }
Exemple #17
0
        public void StartGame()
        {
            if (IsDedicated)
            {
                var joinMessage = _messageFactory.MakeJoinGameMessage();
                Broadcast(joinMessage);
            }

            PlayerEventManager playerEventManager = new PlayerEventManager();

            Game        = new Game(new BasicGamemode(), playerEventManager);
            GameManager = new GameManager(this, Game, _messageFactory, playerEventManager);
            GameManager.Start(UserList);
            _inGame = true;
        }
Exemple #18
0
        public void EventManagerEmptyCrash()
        {
            LoadTextures();
            LoadFonts();

            var shooter = new Mock <Player>().Object;
            var victim  = new Mock <Player>().Object;


            var evtManager = PlayerEventManager.GetInstance();
            var evtData    = new PlayerEventData()
            {
                Shooter = shooter, Victim = victim
            };

            evtManager.Notify(PlayerEventType.KilledPlayer, evtData);

            Assert.True(true);
        }
Exemple #19
0
        public void EventManagerUnsub()
        {
            LoadTextures();
            LoadFonts();
            var shooter = new Mock <Player>().Object;
            var victim  = new Mock <Player>().Object;

            var scoreboard = new Scoreboard();
            var killnotif  = new KillNotifier();

            var evtManager = PlayerEventManager.GetInstance();

            evtManager.Subscribe(PlayerEventType.PlayerDead, killnotif);
            evtManager.Subscribe(PlayerEventType.KilledPlayer, scoreboard);

            evtManager.Unsubscribe(PlayerEventType.PlayerDead, killnotif);
            evtManager.Unsubscribe(PlayerEventType.KilledPlayer, scoreboard);



            Assert.True(evtManager._listeners[PlayerEventType.PlayerDead].Count == 0 && evtManager._listeners[PlayerEventType.KilledPlayer].Count == 0);
        }
Exemple #20
0
 public override void PlayerCollected(PlayerEventManager playerEvent)
 {
     playerEvent.AddLife();
     Destroy(gameObject);
 }
 private void EnemyDeathHandler(EnemyController obj)
 {
     PlayerEventManager.CallSwitchState();
     Destroy(obj.gameObject);
 }
Exemple #22
0
 public override void PlayerCollected(PlayerEventManager playerEvent)
 {
     playerEvent.PlayerScore(10);
     Destroy(gameObject);
 }
Exemple #23
0
 void Awake()
 {
     playerEventManager = GetComponent <PlayerEventManager> ();
     playerHealth       = GetComponent <Health> ();
 }
        // ========================================================================
        // ============================  EVENTS AND INPUTS ========================
        // ========================================================================

        public void BindEvents()
        {
            GameState.ConnectionManagerProxy.Connection.On <ServerGameState>("UpdateGameStateClient", (stateDto) =>
            {
                UpdatePlayers(stateDto);
            });
            //GameState.ConnectionManager.Connection.On<ServerGameState>("UpdateGameStateClient", (stateDto) =>
            //{
            //    UpdatePlayers(stateDto);
            //});
            GameState.ConnectionManagerProxy.Connection.On <ShootEventData>("ShootEventClient", (shootData) =>
            {
                Player player = PlayerRepository.Players.Find(p => p.Name.Equals(shootData.Shooter.Name));
                if (player != null)
                {
                    player.Weapon.Shoot(shootData.Target, shootData.Orgin, shootData.Rotation, player, false);
                }
                defaultLogger.LogMessage(10, shootData.ToString());
                //OurLogger.Log(shootData.ToString());
            });
            //GameState.ConnectionManager.Connection.On<ShootEventData>("ShootEventClient", (shootData) =>
            //{
            //    Player player = GameState.Players.Find(p => p.Name.Equals(shootData.Shooter.Name));
            //    if(player != null)
            //    {
            //        player.Weapon.Shoot(shootData.Target, shootData.Orgin, shootData.Rotation, player, false);
            //    }
            //    defaultLogger.LogMessage(10, shootData.ToString());
            //    //OurLogger.Log(shootData.ToString());

            //});
            GameState.ConnectionManagerProxy.Connection.On <ServerPlayer, ServerPlayer>("UpdateScoresClient", (killerServ, victimServ) =>
            {
                Player killer = PlayerRepository.Players.Find(p => p.Name.Equals(killerServ.Name));
                Player victim = PlayerRepository.Players.Find(p => p.Name.Equals(victimServ.Name));

                //OurLogger.Log($"{victimServ.Name} got shot. Before {victim.Health} after {victimServ.Health} ");
                defaultLogger.LogMessage(15, $"{victimServ.Name} got shot. Before {victim.Health} after {victimServ.Health} ");

                victim.Health = victimServ.Health;

                if (victim.IsDead)
                {
                    //OurLogger.Log($"{killerServ.Name} killed ---> {victimServ.Name}");
                    defaultLogger.LogMessage(30, $"{killerServ.Name} killed ---> {victimServ.Name}");

                    killer.Kills  = killerServ.Kills;
                    victim.Deaths = victimServ.Deaths;

                    var evtData = new PlayerEventData()
                    {
                        Shooter = killer,
                        Victim  = victim
                    };
                    PlayerEventManager.Notify(PlayerEventType.KilledPlayer, evtData);
                }
                else
                {
                    defaultLogger.LogMessage(15, $"{victimServ.Name} got shot. Befor ");
                    //OurLogger.Log($"{victimServ.Name} got shot. Befor ");
                }
            });
            //GameState.ConnectionManager.Connection.On<ServerPlayer, ServerPlayer>("UpdateScoresClient", (killerServ, victimServ) =>
            //{
            //    Player killer = GameState.Players.Find(p => p.Name.Equals(killerServ.Name));
            //    Player victim = GameState.Players.Find(p => p.Name.Equals(victimServ.Name));

            //    //OurLogger.Log($"{victimServ.Name} got shot. Before {victim.Health} after {victimServ.Health} ");
            //    defaultLogger.LogMessage(15, $"{victimServ.Name} got shot. Before {victim.Health} after {victimServ.Health} ");

            //    victim.Health = victimServ.Health;

            //    if (victim.IsDead)
            //    {
            //        //OurLogger.Log($"{killerServ.Name} killed ---> {victimServ.Name}");
            //        defaultLogger.LogMessage(30, $"{killerServ.Name} killed ---> {victimServ.Name}");

            //       killer.Kills = killerServ.Kills;
            //        victim.Deaths = victimServ.Deaths;

            //        var evtData = new PlayerEventData()
            //        {
            //            Shooter = killer,
            //            Victim = victim
            //        };
            //        PlayerEventManager.Notify(PlayerEventType.KilledPlayer, evtData);
            //    }
            //    else
            //    {
            //        defaultLogger.LogMessage(15, $"{victimServ.Name} got shot. Befor ");
            //        //OurLogger.Log($"{victimServ.Name} got shot. Befor ");
            //    }
            //});
        }
        // ========================================================================
        // =========================== 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();
                }
            }
        }
Exemple #26
0
 public abstract void PlayerCollected(PlayerEventManager playerEvent);
Exemple #27
0
 private void UseConsole(Transform i_Console)
 {
     PlayerEventManager.WinGame();
 }