Example #1
0
 private void OnGameStart(GameStartMessage obj)
 {
     gameOverText.enabled = false;
     instructionText.enabled = false;
     runnerText.enabled = false;
     enabled = false;
 }
Example #2
0
 protected virtual void OnGameStart(GameStartMessage obj)
 {
     Boosts = 0;
     Transform.localPosition = _startPosition;
     RigidBody.isKinematic = false;
     enabled = true;
 }
 private void OnGameStart(GameStartMessage obj)
 {
     foreach (var emitter in emitters)
     {
         emitter.emit = true;
     }
 }
Example #4
0
        private void OnGameStart(NetworkMessage netMsg)
        {
            GameStartMessage gameStartMessage = netMsg.ReadMessage <GameStartMessage>();

            //Convert json strings to objects
            _friendlyMonsterState = JsonConvert.DeserializeObject <Dictionary <int, int> >(gameStartMessage.HostMonsters);
            _enemyMonsterState    = JsonConvert.DeserializeObject <Dictionary <int, int> >(gameStartMessage.GuestMonsters);
        }
Example #5
0
    public void StartGameInSeconds(float seconds)
    {
        RealignPlayersAndSend();
        GameManager.Instance.StartGameInSeconds(seconds);
        GameStartMessage msg = new GameStartMessage(DateTime.UtcNow.Ticks, seconds);

        SendMessageToAllPlayers(msg);
    }
Example #6
0
 private void OnGameStart(GameStartMessage obj)
 {
     Boosts = 0;
     DistanceTraveled = 0f;
     _transform.localPosition = _startPosition;
     renderer.enabled = true;
     _rigidBody.isKinematic = false;
     enabled = true;
 }
    public static Message decipherMessage(byte[] msgBytes)
    {
        if (BitConverter.IsLittleEndian)
        {
            //Array.Reverse(msgBytes);
        }
        Message msg;

        byte[] eventTypeBytes = new byte[2];
        Buffer.BlockCopy(msgBytes, 0, eventTypeBytes, 0, 2);

        ushort       sho       = BitConverter.ToUInt16(eventTypeBytes, 0);
        NetworkEvent eventType = (NetworkEvent)sho;

        switch (eventType)
        {
        case NetworkEvent.StartGame:
            msg = new GameStartMessage(msgBytes);
            break;

        case NetworkEvent.PlayerUpdateInfo:
            msg = new PlayerUpdateMessage(msgBytes);
            break;

        case NetworkEvent.PlayerConnected:
            msg = new PlayerConnectedMessage(msgBytes);
            break;

        case NetworkEvent.PlayerDisconnected:
            msg = new PlayerDisconnectedMessage(msgBytes);
            break;

        case NetworkEvent.ObstacleGenerated:
            msg = new ObstacleGeneratedMessage(msgBytes);
            break;

        case NetworkEvent.PlayerFellBehind:
            msg = new PlayerFellBehindMessage(msgBytes);
            break;

        case NetworkEvent.ObstacleModified:
            msg = new ObstacleModifiedMessage(msgBytes);
            break;

        case NetworkEvent.PlayerWonRace:
            msg = new PlayerWonMessage(msgBytes);
            break;

        case NetworkEvent.PlayerAttackPlayer:
            msg = new PlayerAttackedPlayerMessage(msgBytes);
            break;

        default:
            throw new Exception("oops " + eventType);
        }
        return(msg);
    }
Example #8
0
        public void StartGame(string code, Action onSuccess)
        {
            var req  = new RESTEasyRequest();
            var body = new GameStartMessage();

            body.gameID = code;
            req.Body(JsonUtility.ToJson(body)).Url(State.HTTP_HOST + "/api/v1/lobby/" + code + "/start").OnSuccess(onSuccess).OnFailure((s, i) => handleFailure(req, s, i));
            StartCoroutine(req.Put());
        }
Example #9
0
    protected override void OnGameStart(GameStartMessage obj)
    {
        nextPosition = transform.localPosition;
        for (int i = 0; i < numberOfObjects; i++)
        {
            Recycle();
        }

        base.OnGameStart(obj);
    }
Example #10
0
 public void NotifyGameStarted(GameStartMessage startMessage)
 {
     Observable.ToAsync(
         () =>
     {
         ClientEvents.GameStarted.Publish(new ClientDataEventArgs <GameStartData>(startMessage.Data));
         ClientEvents.TurnStarted.Publish(new GameContextEventArgs(_appContext, _appContext.CurrentGame));
         Channel.Publish(new TurnStartedMessage());
     },
         _scheduler)();
 }
Example #11
0
        /// <summary>
        /// 同步手牌
        /// </summary>
        /// <param name="self"></param>
        private static void SyncGameStart(this GameController self)
        {
            Room             room = self.GetParent <Room>();
            GameStartMessage msg  = new GameStartMessage();

            for (int i = 0; i < room.Players.Length; i++)
            {
                var item = room.Players[i];
                room.SendActor(item, msg);
            }
        }
Example #12
0
 public override void HandleNetworkMessage(Message msg)
 {
     base.HandleNetworkMessage(msg);
     if (msg is GameStartMessage)
     {
         GameStartMessage nMsg  = msg as GameStartMessage;
         ConnectionStatus cStat = new ConnectionStatus();
         m_Server.GetQuickConnectionStatus(m_Connection, cStat);
         uniformTimeOffset = ((nMsg.uniformTime.Ticks / TimeSpan.TicksPerSecond) + (((float)cStat.ping) * 0.01f)) - (DateTime.UtcNow.Ticks / TimeSpan.TicksPerSecond);
         GameManager.Instance.StartGameInSeconds(nMsg.timeAfterToSpawn + uniformTimeOffset);
     }
     if (msg is PlayerConnectedMessage)
     {
         PlayerConnectedMessage nMsg = msg as PlayerConnectedMessage;
         NetworkedPlayer        p    = GameManager.Instance.AddPlayer(nMsg.playerID);
         p.playerID = nMsg.playerID;
     }
     else if (msg is PlayerDisconnectedMessage)
     {
         PlayerDisconnectedMessage nMsg = msg as PlayerDisconnectedMessage;
         GameManager.Instance.RemovePlayer(nMsg.playerID);
     }
     else if (msg is PlayerUpdateMessage)
     {
         PlayerUpdateMessage nMsg = msg as PlayerUpdateMessage;
         GameManager.Instance.UpdatePlayerInformation(ref nMsg.info, nMsg.playerID);
     }
     else if (msg is ObstacleGeneratedMessage)
     {
         ObstacleGeneratedMessage nMsg = msg as ObstacleGeneratedMessage;
         TileManager.Instance.SpawnObstacle(nMsg.itemID, nMsg.itemPos, nMsg.itemType);
     }
     else if (msg is ObstacleModifiedMessage)
     {
         ObstacleModifiedMessage nMsg = msg as ObstacleModifiedMessage;
         (GameManager.Instance.m_AllObstacles[(int)nMsg.obstacleID] as IObstacle).InteractedWith(GameManager.Instance.GetPlayer(nMsg.playerID));
     }
     else if (msg is PlayerFellBehindMessage)
     {
         PlayerFellBehindMessage nMsg = msg as PlayerFellBehindMessage;
         GameManager.Instance.PlayerFellBehind(nMsg.playerID);
     }
     else if (msg is PlayerWonMessage)
     {
         PlayerWonMessage nMsg = msg as PlayerWonMessage;
         GameManager.Instance.PlayerHasWonGame(GameManager.Instance.GetPlayer(nMsg.playerID));
     }
     else if (msg is PlayerAttackedPlayerMessage)
     {
         PlayerAttackedPlayerMessage nMsg = msg as PlayerAttackedPlayerMessage;
         GameManager.Instance.PlayerAttacked(nMsg.attackedPlayerID);
     }
 }
Example #13
0
        private void OnGameStart(NetworkMessage netMsg)
        {
            GameStartMessage gameStartMessage = netMsg.ReadMessage <GameStartMessage>();

            //Convert json strings to objects
            Dictionary <int, int> friendlyMonsterIds = IsHost? JsonConvert.DeserializeObject <Dictionary <int, int> >(gameStartMessage.HostMonsters) : JsonConvert.DeserializeObject <Dictionary <int, int> >(gameStartMessage.GuestMonsters);
            Dictionary <int, int> enemyMonsterIds    = IsHost ? JsonConvert.DeserializeObject <Dictionary <int, int> >(gameStartMessage.GuestMonsters) : JsonConvert.DeserializeObject <Dictionary <int, int> >(gameStartMessage.HostMonsters);

            GameManager gameManager = GameManager.Instance;

            gameManager.FriendlyMonsterInitialNodeIds = friendlyMonsterIds;
            gameManager.EnemyMonsterInitialNodeIds    = enemyMonsterIds;

            StartCoroutine(LoadGameScene());
        }
Example #14
0
        void Start()
        {
            DontDestroyOnLoad(gameObject);

            ActionNumber    = 1;
            SubActionNumber = 1;

            GameGraph        = new BoardGraph();
            HostMonsters     = new List <Monster>();
            GuestMonsters    = new List <Monster>();
            AttackCalculator = new AttackCalculator();
            MoveCalculator   = new MoveCalculator();

            AvailablePushDestinations = new List <Node>();

            GameManager gameManager = GameManager.Instance;

            if (gameManager == null || gameManager.Server == null)
            {
                throw new InvalidOperationException("Server must exist to begin game");
            }

            _hostServer = gameManager.Server;

            if (_hostServer == null || !_hostServer.IsServerStarted)
            {
                throw new InvalidOperationException("Server must be running to begin game");
            }

            if (SceneManager.GetSceneByName("startup").isLoaded)
            {
                SceneManager.UnloadSceneAsync("startup");
            }

            AssignMonstersToPlayers();

            GameStartMessage gameStartMessage = new GameStartMessage
            {
                HostMonsters    = JsonConvert.SerializeObject(HostMonsters.Select(m => new { m.MonsterTypeId, m.CurrentNode.Id }).ToDictionary(k => k.MonsterTypeId, v => v.Id)),
                GuestMonsters   = JsonConvert.SerializeObject(GuestMonsters.Select(m => new { m.MonsterTypeId, m.CurrentNode.Id }).ToDictionary(k => k.MonsterTypeId, v => v.Id)),
                ActionNumber    = 1,
                SubActionNumber = 1
            };

            _hostServer.SendToAll(gameStartMessage.MessageTypeId, gameStartMessage);
        }
Example #15
0
    IEnumerator StartCount()
    {
        Debug.Log("현재 상태 : " + GameManager.instance.gameState);
        StartCountMessage msg = new StartCountMessage(START_COUNT);

        // 카운트 다운
        for (int i = 0; i < START_COUNT + 1; ++i)
        {
            msg.time = START_COUNT - i;
            BackEndMatchManager.instance.SendDataToInGame(msg);
            yield return(new WaitForSeconds(1)); //1초 단위

            Debug.Log("게임 시작 : " + i);
        }

        // 게임 시작 메시지를 전송
        GameStartMessage gameStartMessage = new GameStartMessage();

        BackEndMatchManager.instance.SendDataToInGame(gameStartMessage);
    }
Example #16
0
 protected virtual void OnGameStart(GameStartMessage obj)
 {
     enabled = true;
 }
Example #17
0
    private void StartAudio(GameStartMessage obj)
    {
        var fullMix = audioMixer.FindSnapshot(FullMix);

        fullMix.TransitionTo(1f);
    }
Example #18
0
 private void GameStart(GameStartMessage obj)
 {
     fadeToBlack.Fader(null, 1, 0);
 }
Example #19
0
 protected override void OnGameStart(GameStartMessage obj)
 {
     base.OnGameStart(obj);
     DistanceTraveled = 0f;
 }
Example #20
0
 private void OnGameStart(GameStartMessage obj)
 {
     currentQueue = new List<InputRecord>();
 }