コード例 #1
0
    public override void Initialize(int progressNumber)
    {
        instance = this; //half sad singleton
        uiLinks  = GameObject.FindObjectOfType <UIGameLinks>();
        if (!ButtonInteractions.firstPlay)
        {
            uiLinks.replayButton.SetActive(false);
        }

        gameManager = GameObject.FindObjectOfType <GameManager>();
        gameManager.Initialize();

        currentLevelFunction = QuestionBank.Instance.Initialize();
        UIManager.Instance.Initialize(currentLevelFunction);

        numberOfStacksSolved    = 0;
        numberOfStacksNotSolved = 0;
        UIManager.Instance.ChangeScienceAmt(amtOfScience);
        winningStreak = 0;
        base.Initialize(progressNumber);

        if (ChildBot.childBotActive)
        {
            childBot = new ChildBot();
        }
        //LoadLevelPkg(LevelPkg.GenerateLevelPackage(currentDifficulty), currentDifficulty);
    }
コード例 #2
0
ファイル: UIManager.cs プロジェクト: mattstg/Malfunction
    public void Initialize(LoLFunction firstLolFunction)
    {
        uiLinks = GameFlow.uiLinks;
        SetPlaceholderContainerActive(!answerFocused);
        Rect rect = uiLinks.graph.rect;

        graphAspect = (rect.width > 0) ? rect.height / rect.width : 0f;
        timer       = 0f;
        SetIncomingWaveAlpha(0f);
        ChangeLolFunction(firstLolFunction);
    }
コード例 #3
0
 public LoLFunction Initialize()
 {
     //Initialize the question bank
     questionBank = new Stack <LoLFunction>();
     for (int i = questionBankInitialSize; i > 0; --i)
     {
         LoLFunction lf;
         if (i % 5 == 0 && i <= 25)
         {
             lf = LoLFunction.GenerateLoLFunction(i, true);
         }
         else
         {
             lf = LoLFunction.GenerateLoLFunction(i, false);
         }
         questionBank.Push(lf);
     }
     return(questionBank.Pop());
 }
コード例 #4
0
ファイル: UIManager.cs プロジェクト: mattstg/Malfunction
    public void ChangeLolFunction(LoLFunction newLolFunction)
    {
        if (!newLolFunction.isDumbGraphFunction)
        {
            uiLinks.questionText.text    = newLolFunction.ToString();
            uiLinks.sampleInputText.text = GV.OutputSampleInput(newLolFunction.inputVars);
            uiLinks.graphFunctionObject.SetActive(false);
            uiLinks.questionText.gameObject.SetActive(true);
        }
        else
        {
            //uiLinks.questionText.text = newLolFunction.ToString();
            uiLinks.sampleInputText.text = GV.OutputSampleInput(newLolFunction.inputVars);
            uiLinks.graphFunctionObject.SetActive(true);
            uiLinks.questionText.gameObject.SetActive(false);

            float slope = newLolFunction.coefficents[0];
            if (newLolFunction.isGraphCoefficientInverse)
            {
                slope = 1f / slope;
            }
            int offset = newLolFunction.coefficents[3];
            //int output = newLolFunction.Solve();

            int scale = 1;
            //while (output > (scale * 8))
            //    scale *= 2;

            for (int i = 0; i < 5; i++)
            {
                uiLinks.graphTextX[i].text = uiLinks.graphTextY[i].text = (i * scale * 2).ToString();
            }

            float curveOffset = 0.1111f * offset / scale;
            uiLinks.graphCurve.anchorMin = new Vector2(uiLinks.graphCurve.anchorMin.x, curveOffset);
            uiLinks.graphCurve.anchorMax = new Vector2(uiLinks.graphCurve.anchorMax.x, curveOffset);

            float curveAngle = Mathf.Atan(slope * graphAspect) * 180f / Mathf.PI;
            uiLinks.graphCurve.localEulerAngles = new Vector3(uiLinks.graphCurve.localEulerAngles.x, uiLinks.graphCurve.localEulerAngles.y, curveAngle);
        }
    }
コード例 #5
0
    private void SolvedLevelPackage()
    {
        numberOfStacksSolved++;
        ProgressTracker.Instance.ModScore(1);
        int pts = Mathf.Max(currentLevelFunction.currentLevel / 15, 1);

        currentLevelFunction = QuestionBank.Instance.Pop();
        //LoadLevelPkg(LevelPkg.GenerateLevelPackage(currentDifficulty), currentDifficulty);
        ProgressTracker.Instance.SetScore(numberOfStacksSolved);
        ProgressTracker.Instance.SubmitProgress(2);
        //LOLAudio.Instance.PlayAudio("PositiveFeedback");
        UIManager.Instance.ChangeLolFunction(currentLevelFunction);
        amtOfScience += pts;
        UIManager.Instance.ChangeScienceAmt(amtOfScience);

        winningStreak++;
        //gameManager.SetStreak(winningStreak);

        uiLinks.scienceAmt.color = Color.green;
        lerpTimeRemaining        = colorLerpTotalTime;
        lerping   = true;
        fromColor = Color.green;
    }