Esempio n. 1
0
    // Use this for initialization
    private void Start()
    {
        _rigidbody = GetComponent <Rigidbody2D>();
        _transform = GetComponent <Transform>();

        _audioSource = GetComponent <AudioSource>();

        _logger    = Game.Container?.Resolve <Core.Loggers.ILoggerFactory>()?.Create(this);
        _messenger = Game.Container?.Resolve <Core.Mediators.IMessenger>();

        _landerLandedSuccessfullyMessageToken = _messenger.Subscribe((LanderLandedSuccessfullyMessage landerLandedSuccessfullyMessage) =>
        {
            _isLanded = true;
        });
    }
    private void Start()
    {
        _hasControlsMenuBeenShow = Game.HasControlsMenuBeenShow;

        _eventSystem = GameObject.FindObjectOfType <EventSystem>();
        _audioSource = GetComponent <AudioSource>();
        _messenger   = Game.Container.Resolve <Core.Mediators.IMessenger>();
        _fadeService = Game.Container.Resolve <Fading.IFadeService>();

        _victoryMessageSubscriptionToken = _messenger.Subscribe <VictoryMessage>(vm => {
            StartCoroutine(nameof(HandleVictory), vm.VictoriousPlayerController);
        });

        _fadeService.DoFade(FadeDirection.FromBlack, 1f);

        StartCoroutine(nameof(InitializeGame));
    }
    private void Start()
    {
        _logger    = Game.Container?.Resolve <Core.Loggers.ILoggerFactory>()?.Create(this);
        _messenger = Game.Container?.Resolve <Core.Mediators.IMessenger>();

        _landerEnteredLandingAreaMessageToken = _messenger.Subscribe((LanderEnteredLandingAreaMessage LanderEnteredLandingAreaMessage) =>
        {
            _logger?.Log("LanderEnteredLandingAreaMessage");
            CheckVictoryConditions();
        });

        _landerExitedLandingAreaMessageToken = _messenger.Subscribe((LanderExitedLandingAreaMessage LanderEnteredLandingAreaMessage) =>
        {
            _logger?.Log("LanderExitedLandingAreaMessage");
        });

        _landerCrashedMessageToken = _messenger.Subscribe((LanderCrashedMessage landerCrashedMessage) =>
        {
            if (!_hasLanded)
            {
                ShowMenu(_crashedMenu);
                _logger?.Log("LanderCrashedMessage");
            }
        });

        _landerLeftBoundsMessageToken = _messenger.Subscribe((LanderLeftBoundsMessage landerLeftBoundsMessage) =>
        {
            if (!_hasLanded)
            {
                ShowMenu(_outOfBoundsMenu);
                _logger?.Log("LanderLeftBoundsMessage");
            }
        });

        StartCoroutine(StartIntroTextFadeOut());
    }
Esempio n. 4
0
    // Use this for initialization
    private void Start()
    {
        _pipeTiles = new List <PipeTileScript>();

        _logger    = Game.Container?.Resolve <Core.Loggers.ILoggerFactory>()?.Create(this);
        _messenger = Game.Container?.Resolve <Core.Mediators.IMessenger>();

        _pipeTiles.AddRange(GetComponentsInChildren <PipeTileScript>());
        _pipeTiles = _pipeTiles.OrderBy(pt => pt.GetPosition().y).ThenBy(pt => pt.GetPosition().x).ToList();


        StringBuilder sb = new StringBuilder();

        sb.AppendLine($"Found {_pipeTiles.Count} tiles");

        _startTile = _pipeTiles.First();
        _endTile   = _pipeTiles.Last();

        sb.AppendLine("    Start tile " + _startTile.ToString());
        sb.AppendLine("    End tile " + _endTile.ToString());
        sb.AppendLine("");

        foreach (PipeTileScript pipeTileScript in _pipeTiles)
        {
            sb.AppendLine("    " + pipeTileScript.ToString());
        }

        _logger?.Log(sb.ToString());
        _pipeTileRotatedMessageToken = _messenger?.Subscribe((PipeTileRotatedMessage pipeTileRotatedMessage) =>
        {
            _logger?.Log("Rotated " + pipeTileRotatedMessage.PipeTile.ToString());
            CheckForGameCompletion();
        });

        CheckForGameCompletion();
    }