Пример #1
0
    public void Init(SpeedrunManager _speedRun)
    {
        if (initialCheckpoint == null)
        {
            Debug.LogError("An initial checkpoint should always be setted", initialCheckpoint);
            return;
        }

        if (_speedRun.GetIsActive())
        {
            for (int i = 0; i < checkpointContainer.childCount; i++)
            {
                checkpointContainer.GetChild(i).gameObject.SetActive(false);
            }

            activeCheckpoint = initialCheckpoint;
        }
        else
        {
            for (int i = 0; i < checkpointContainer.childCount; i++)
            {
                CheckpointBase _current = checkpointContainer.GetChild(i).GetComponent <CheckpointBase>();
                checkpoints.Add(_current);
                _current.Init();
                _current.ActivateCheckpoint += HandleActivateCheckpoint;
            }

            activeCheckpoint = initialCheckpoint;
            activeCheckpoint.Enable();
        }
    }
Пример #2
0
 /// <summary>
 /// Call on start of CheckpointBase, register all of them to the game manager
 /// </summary>
 public void AddCheckpointToList(CheckpointBase checkpoint)
 {
     m_listOfCheckpoint.Add(checkpoint);
     if (checkpoint is Barrack)
     {
         m_barracks.Add(checkpoint.gameObject.tag, (Barrack)checkpoint);
     }
 }
Пример #3
0
    public void InitReleaseButton(CheckpointBase checkpointBase, GameObject unit, int unitStockID)
    {
        m_checkpointBase = checkpointBase;
        m_unitStock      = unit;
        m_unitStockID    = unitStockID;
        m_shortcutText   = transform.GetComponentInChildren <Text>();
        CombatUnit     combatUnit     = unit.GetComponent <CombatUnit>();
        UnitController unitController = unit.GetComponent <UnitController>();

        switch (combatUnit.GetUnitType())
        {
        case CombatUnit.UnitType.Warrior:
            if (unitController.GetPlayerNumber() == PlayerEntity.Player.Player1)
            {
                m_unitIcon.sprite = m_warriorSycaIcon;
            }
            else
            {
                m_unitIcon.sprite = m_warriorArcaIcon;
            }
            break;

        case CombatUnit.UnitType.Range:
            if (unitController.GetPlayerNumber() == PlayerEntity.Player.Player1)
            {
                m_unitIcon.sprite = m_rangeSycaIcon;
            }
            else
            {
                m_unitIcon.sprite = m_rangeArcaIcon;
            }
            break;

        case CombatUnit.UnitType.Tank:
            if (unitController.GetPlayerNumber() == PlayerEntity.Player.Player1)
            {
                m_unitIcon.sprite = m_tankSycaIcon;
            }
            else
            {
                m_unitIcon.sprite = m_tankArcaIcon;
            }
            break;

        case CombatUnit.UnitType.Scout:
            if (unitController.GetPlayerNumber() == PlayerEntity.Player.Player1)
            {
                m_unitIcon.sprite = m_scoutSycaIcon;
            }
            else
            {
                m_unitIcon.sprite = m_scoutArcaIcon;
            }
            break;
        }

        m_shortcutText.text = unitStockID.ToString();
    }
Пример #4
0
 private void HandleActivateCheckpoint(CheckpointBase _checkpoint)
 {
     if (!LevelManager.instance.GetSpeedrunManager().GetIsActive() && activeCheckpoint != _checkpoint)
     {
         activeCheckpoint.Disable();
         activeCheckpoint = _checkpoint;
         activeCheckpoint.Enable();
     }
 }
Пример #5
0
    private void Start()
    {
        rb                  = GetComponent <Rigidbody2D>();
        anim                = transform.Find("PlayerVisuals").GetComponent <Animator>();
        playerStats         = GetComponent <PlayerStats>();
        playerRaycastsScr   = GetComponent <PlayerRaycasts>();
        playerJumpScr       = GetComponent <PlayerJump>();
        playerDashScr       = GetComponent <PlayerDash>();
        checkpointBaseScr   = GameObject.Find("Manager_Checkpoints").GetComponent <CheckpointBase>();
        playerState         = GameObject.Find("Manager_PlayerState").GetComponent <PlayerState>();
        fadeBlackScreenScr  = GameObject.Find("HUD_BlackScreen").GetComponent <FadeBlackScreen>();
        cameraControllerScr = GameObject.Find("Main Camera").GetComponent <CameraController2>();

        StartCoroutine(FadeBlackScreenOut());
        StartCoroutine(SetPlayerStartValues());
    }
Пример #6
0
    private void OnTriggerStay(Collider other)
    {
        CheckpointBase checkpoint = other.GetComponent<CheckpointBase>();

        if (checkpoint != null)
        {
            if (checkpoint.ValidCheckpoint == true)
            {
                if (m_LastCheckpoint == null)
                {
                    m_LastCheckpoint = checkpoint;
                    AudioManager.PlaySFX(AudioManager.SFXClip.Checkpoint);
                }
                else if (checkpoint.CheckpointNumber > m_LastCheckpoint.CheckpointNumber)
                {
                    m_LastCheckpoint = checkpoint;
                    AudioManager.PlaySFX(AudioManager.SFXClip.Checkpoint);
                }
            }
        }
    }
Пример #7
0
 private void Start()
 {
     m_checkpointBase = transform.parent.GetComponent <CheckpointBase>();
     m_soundManager   = SoundManager.Instance;
 }
Пример #8
0
 private void Start()
 {
     m_checkpointBase = GetComponentInParent <CheckpointBase>();
     UpdateStockCounter();
 }
Пример #9
0
 private void HandlePlayerDeath()
 {
     activeCheckpoint = initialCheckpoint;
 }
Пример #10
0
 public void SetCheckpointBase(CheckpointBase ckArea)
 {
     m_CheckpointBase = ckArea;
 }
Пример #11
0
 private void Start()
 {
     checkpointBaseScr = GameObject.Find("Manager_Checkpoints").GetComponent <CheckpointBase>();
 }