private static void ProcessPlayerThrowBombMessage(PlayerThrowBombMessage playerThrowBombMessage)
        {
            var targetPlayer = GameObject.Find(playerThrowBombMessage.PlayerName);

            if (targetPlayer == null)
            {
                return;
            }

            var bombGameObjectPrefab = Resources.Load <GameObject>("Prefabs/Bomb");

            var targetPlayerTransform = targetPlayer.GetComponent <Transform>();

            var targetPlayerTransformPosition = targetPlayerTransform.position;

            var instantiatedBomb = Object.Instantiate(bombGameObjectPrefab,
                                                      playerThrowBombMessage.Direction == Direction.Right
                    ? new Vector2(targetPlayerTransformPosition.x + 1, targetPlayerTransformPosition.y)
                    : new Vector2(targetPlayerTransformPosition.x - 1, targetPlayerTransformPosition.y),
                                                      Quaternion.identity);

            instantiatedBomb.name = playerThrowBombMessage.BombName;

            var bombRigidbody = instantiatedBomb.GetComponent <Rigidbody2D>();

            bombRigidbody.AddForce(playerThrowBombMessage.Direction == Direction.Right ? new Vector2(100, 300) : new Vector2(-100, 300));
        }
Пример #2
0
    public void SendPlayerThrowBomb(string bombName)
    {
        var messageWrapper          = new MessageWrapper();
        var isWatchToRightDirection = _mainHeroController.IsWatchToRightDirection;
        var directionMode           = isWatchToRightDirection ? Direction.Right : Direction.Left;

        var playerThrowBombMessage = new PlayerThrowBombMessage {
            PlayerName = name, Direction = directionMode, BombName = bombName
        };

        var playerThrowBombMessagePayload = JsonConvert.SerializeObject(playerThrowBombMessage);

        messageWrapper.Payload     = playerThrowBombMessagePayload;
        messageWrapper.MessageType = MessageType.PlayerThrowBomb;

        var messageWrapperString = JsonConvert.SerializeObject(messageWrapper);

        SendMessageToServer(messageWrapperString);
    }