예제 #1
0
 private void ShowPowerUpInfo()
 {
     powerUpImage.SetActive(true);
     powerUpImage.GetComponent <SpriteRenderer>().sprite = currentPowerUp.GetComponent <SpriteRenderer>().sprite;
     if (PowerUpTimer > -1)
     {
         powerUpInfoText.gameObject.SetActive(true);
         powerUpInfoText.text = PowerUpTimer.ToString();
     }
 }
예제 #2
0
    private const float radiusSpace           = 0.15f; // distance between every next timer

    public void AddTimer(float duration)
    {
        PowerUpTimer timer = Instantiate(powerUpTimerPrefab, transform).GetComponent <PowerUpTimer>();

        timer.duration  = duration;
        timer.radius    = head.Radius + powerUpTimers.Count * radiusSpace + 0.05f;
        timer.controler = this;
        powerUpTimers.Add(timer);
        UpdatePositions();
    }
예제 #3
0
    private void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else
        {
            Destroy(this);
        }

        gameObject.SetActive(false);
    }
예제 #4
0
    // Update is called once per frame
    void Update()
    {
        if (PowerUpTimer > -1)
        {
            timer -= Time.deltaTime;
            powerUpInfoText.text = PowerUpTimer.ToString();
        }
        else
        {
            PowerUpTimer = -1;
        }

        if (PowerUpTimer < 0)
        {
            powerUpInfoText.gameObject.SetActive(false);
            powerUpImage.SetActive(false);
        }
    }
예제 #5
0
        public RaceSubScene()
            : base(Definitions.IsWideScreen ? Wide_Buffer_Width : Standard_Buffer_Width, Buffer_Height)
        {
            StatusDisplay = new RaceDataDisplay();
            Communicator  = null;

            _countdownPopup = new CountdownPopup();
            _powerUpButton  = new PowerUpButton();
            _playerEventPopup.AnimationCompletionHandler = HandlePlayerEventAnimationComplete;

            _powerUpDisplayTimer = new PowerUpTimer();
            _powerUpDisplayTimer.TickCallback = _timerController.RegisterUpdateCallback;
            _powerUpHelper         = new PowerUpHelper();
            _blackout              = new Blackout();
            _blackout.TickCallback = _timerController.RegisterUpdateCallback;

            _positionStatusPopup = new RaceInfoPopup();
            _raceEventPopup      = new RaceInfoPopup();

            _exitTimer = new Timer("", HandleExitTimerActionComplete);
            GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_exitTimer.Tick);
        }
예제 #6
0
        public RaceGameplayScene()
            : base("race-gameplay")
        {
            StatusDisplay = new RaceDataDisplay();

            _countdownPopup = new CountdownPopup();
            _quitRaceButton = new QuitRaceButton();
            _powerUpButton  = new PowerUpButton();
            _playerEventPopup.AnimationCompletionHandler = HandlePlayerEventAnimationComplete;

            _powerUpDisplayTimer = new PowerUpTimer();
            _powerUpDisplayTimer.TickCallback = _timerController.RegisterUpdateCallback;
            _powerUpHelper         = new PowerUpHelper();
            _blackout              = new Blackout();
            _blackout.TickCallback = _timerController.RegisterUpdateCallback;

            _positionStatusPopup = new RaceInfoPopup();
            _raceEventPopup      = new RaceInfoPopup();
            _waitingMessage      = new WaitingMessage();

            _exitTimer = new Timer("", HandleExitTimerActionComplete);
            GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_exitTimer.Tick);

            _startSequenceTimer = new Timer("", HandleStartCountdownStep);
            GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_startSequenceTimer.Tick);

            _quitTimer = new Timer("", HandleQuitTimerActionComplete);
            GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_quitTimer.Tick);

            _quitRaceDialog = new QuitRaceDialog();
            _quitRaceDialog.CancellationTimer = _quitTimer;
            _quitRaceDialog.InputSources.Add(_inputProcessor);

            _disconnectedDialog = new DisconnectedDialog();
            _disconnectedDialog.SelectionCallback = HandleDisconnectAcknowledge;
            _disconnectedDialog.InputSources.Add(_inputProcessor);
        }
예제 #7
0
        public RaceGameplayScene()
            : base("race-gameplay")
        {
            StatusDisplay = new RaceDataDisplay();

            _countdownPopup = new CountdownPopup();
            _quitRaceButton = new QuitRaceButton();
            _powerUpButton = new PowerUpButton();
            _playerEventPopup.AnimationCompletionHandler = HandlePlayerEventAnimationComplete;

            _powerUpDisplayTimer = new PowerUpTimer();
            _powerUpDisplayTimer.TickCallback = _timerController.RegisterUpdateCallback;
            _powerUpHelper = new PowerUpHelper();
            _blackout = new Blackout();
            _blackout.TickCallback = _timerController.RegisterUpdateCallback;

            _positionStatusPopup = new RaceInfoPopup();
            _raceEventPopup = new RaceInfoPopup();
            _waitingMessage = new WaitingMessage();

            _exitTimer = new Timer("", HandleExitTimerActionComplete);
            GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_exitTimer.Tick);

            _startSequenceTimer = new Timer("", HandleStartCountdownStep);
            GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_startSequenceTimer.Tick);

            _quitTimer = new Timer("", HandleQuitTimerActionComplete);
            GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_quitTimer.Tick);

            _quitRaceDialog = new QuitRaceDialog();
            _quitRaceDialog.CancellationTimer = _quitTimer;
            _quitRaceDialog.InputSources.Add(_inputProcessor);

            _disconnectedDialog = new DisconnectedDialog();
            _disconnectedDialog.SelectionCallback = HandleDisconnectAcknowledge;
            _disconnectedDialog.InputSources.Add(_inputProcessor);
        }
예제 #8
0
 public void RemoveTimer(PowerUpTimer timer)
 {
     powerUpTimers.Remove(timer);
     Destroy(timer);
     UpdateRadius();
 }
예제 #9
0
 // Start is called before the first frame update
 void Start()
 {
     timer = FindObjectOfType <PowerUpTimer>(); //connect the object to the outside timer
     //whatami = Random.Range(0, 4); //Gives the object a random type of boost: health, speed, attack, or jump.
     type = 0;                                  //for testing purposes right now, I'm only allowing it to be a health boost
 }
예제 #10
0
 // Start is called before the first frame update
 void Start()
 {
     timer = FindObjectOfType <PowerUpTimer>(); //connect the object to the outside timer
     type  = 0;
 }