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)); }
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); }