예제 #1
0
 void Start()
 {
     gameManager = FindObjectOfType <GameManager>();
     beerPrefab.SetActive(false);
     scoreText.text     = "";
     animatorController = GetComponent <Animator>();
     body          = GetComponent <Rigidbody>();
     qteController = GetComponent <QTEController>();
 }
예제 #2
0
    // Use this for initialization
    void Start()
    {
        qteController = FindObjectOfType <QTEController>();
        for (int i = 0; i < customers.Length; i++)
        {
            states[i] = State.DRINKING;
        }

        skeletonAnimation = dotPrefab.GetComponent <SkeletonAnimation>();
        dotPrefab.SetActive(false);
        StartCoroutine(GoesInWC());
    }
 public void SetDependencies(GameState gameState, ProjectileFactory projectileFactory,
                             IInputSystem inputSystem, ProjectileDataContainer projectileDataContainer, QTEController qteController, AudioManager audioManager)
 {
     _spriteRenderer      = GetComponent <SpriteRenderer>();
     _gameState           = gameState;
     _qteController       = qteController;
     _rigidBody2d         = GetComponent <Rigidbody2D>();
     _animationController = new AnimationController(_animator);
     _movementController  = new MovementController(_rigidBody2d, _data, gameState, transform, _animationController);
     _shootingController  = new ShootingController(projectileFactory, _shootingPivot, gameState, inputSystem,
                                                   projectileDataContainer, _data, transform, _arm, audioManager);
 }
예제 #4
0
    public bool checkAvailablePos(Vector2 pos)
    {
        QTEController qte = FindObjectOfType <QTEController>();

        if (!qte)
        {
            Debug.LogError("ERROR: QTEController not in the scene.");
            return(true);
        }

        foreach (GameObject go in qte.activeQTEs)
        {
            QTEMother qtemom = go.GetComponent <QTEMother>();
            if (qtemom is QTEClick click)
            {
                if (!checkProperDistance(click.transform.position, pos))
                {
                    return(false);
                }
            }

            else if (qtemom is QTETouch touch)
            {
                if (!checkProperDistance(touch.transform.position, pos))
                {
                    return(false);
                }
            }

            else if (qtemom is QTESlider slide)
            {
                BezierCurve curve = qtemom.gameObject.GetComponent <BezierCurve>();
                foreach (Vector2 v2 in curve.positions)
                {
                    if (!checkProperDistance(pos, v2))
                    {
                        return(false);
                    }
                }
            }
        }
        return(true);
    }
예제 #5
0
 void Update()
 {
     if (QTECanvas.transform.GetChild(0).gameObject.active)
     {
         QTEController qteController = QTECanvas.transform.GetChild(0).gameObject.GetComponent <QTEController>();
         if (qteController.allpass == 1)
         {
             QTECanvas.transform.GetChild(0).gameObject.SetActive(false);
             Destroy(gameObject);
             player.GetComponent <OpenDoors>().enabled           = true;
             player.GetComponent <FirstPersonMovement>().enabled = true;
             player.GetComponent <Crouch>().enabled = true;
             player.transform.Find("camera").GetComponent <FirstPersonLook>().enabled = true;
         }
         else if (qteController.allpass == 2)
         {
             SceneManager.LoadScene("end");
         }
     }
 }
예제 #6
0
    public void SetUp()
    {
        QTEController qtec = FindObjectOfType <QTEController>();

        Score.text       = qtec.score.ToString();
        CadeauScore.text = "x " + qtec.giftvalidated.ToString() + " = " + getGiftScore();
        finalScore.text  = "Total = " + qtec.computeTotalScore();

        if (qtec.computeTotalScore() > GameController.activeGC.maxScore)
        {
            GameController.activeGC.maxScore = qtec.computeTotalScore();
            record.enabled = true;
        }
        try
        {
            SaveMonitor.Save();
        }
        catch (Exception e)
        {
            Debug.LogError("Could not save : " + e.StackTrace);
        }
    }
    IEnumerator timer()
    {
        // count down by one second
        yield return(new WaitForSeconds(1.0f));

        time--;
        // reflect this change
        if (time < 11)
        {
            updateTime();
        }
        // when time runs out,
        if (time == 0)
        {
            // alert the player
            timesUpText.text = "Time's Up!";
            // end the game
            QTEController instance = gameObject.GetComponent <QTEController>();
            instance.gameOver();
            yield break;
        }
        // call this function to count down another second
        StartCoroutine(timer());
    }
예제 #8
0
    private IEnumerator MoveAndGo()
    {
        QTEController qte = FindObjectOfType <QTEController>();

        if (GameController.activeGC.selectedDifficulty != GameController.Gametype.TRAINING)
        {
            if (GameController.activeGC.selectedDifficulty == GameController.Gametype.NORMAL)
            {
                GameController.activeGC.giftsToGive.Add(qte.normalGifts[Random.Range(0, qte.normalGifts.Count)]);
            }

            else
            {
                GameController.activeGC.giftsToGive.Add(qte.hardGifts[Random.Range(0, qte.hardGifts.Count)]);
            }
        }

        qte.giftvalidated += 1;
        transform.DOMove(qte.endPos.transform.position, 0.6f);
        yield return(new WaitForSeconds(0.6f));

        qte.ChangeGift();
        Destroy(gameObject);
    }
예제 #9
0
 private void Start()
 {
     qtec = FindObjectOfType <QTEController>();
 }
예제 #10
0
    private string getGiftScore()
    {
        QTEController qtec = FindObjectOfType <QTEController>();

        return((qtec.awardByGift * qtec.giftvalidated).ToString());
    }