Пример #1
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            Application.Quit();
        }
        if (Input.GetKeyDown(KeyCode.Backspace))
        {
            SceneManager.LoadScene(SceneManager.GetActiveScene().name);
        }

        AiScoreText.text     = "" + AIScore;
        PlayerScoreText.text = "" + PlayerScore;
        RoundNumText.text    = "" + CurrentRound;
        if (AiNum != 0 && RoundNum != 0)
        {
            if (AiTemp1 == null && AiTemp2 == null && PlayerTemp == null)
            {
                CurrentRound++;
                if (CurrentRound <= RoundNum)
                {
                    if (AiNum == 1)
                    {
                        AiTemp1 = Instantiate(AIPrefab, AISpawn1);
                    }
                    else
                    {
                        AiTemp1 = Instantiate(AIPrefab, AISpawn2);
                        AiTemp2 = Instantiate(AIPrefab, AISpawn3);
                    }
                    AiLeft     = AiNum;
                    PlayerTemp = Instantiate(PlayerPrefab, PlayerSpawn);
                    AiRef      = Instantiate(AIRefPrefab, AIRefSpawn);
                }
                else
                {
                    if (PlayerScore > AIScore)
                    {
                        VictorText.gameObject.SetActive(true);
                    }
                    else if (PlayerScore < AIScore)
                    {
                        VictorText.gameObject.SetActive(true);
                        VictorText.text = "AI Wins";
                    }
                    AiNum    = 0;
                    RoundNum = 0;
                }

                if (CurrentRound == 1)
                {
                    foreach (PointScoring PS in PointList)
                    {
                        if (AiNum == 1)
                        {
                            PS.SetWeighting(0.4f, 0.4f, 0.2f);
                            PS.SetTargets(PlayerTemp, AiTemp1, AiRef);
                        }
                        else
                        {
                            PS.SetWeighting(0.5f, 0.3f, 0.3f, 0.1f);
                            PS.SetTargets(PlayerTemp, AiTemp1, AiTemp2, AiRef);
                        }
                    }
                }
                else
                {
                    foreach (PointScoring PS in PointList)
                    {
                        if (AiNum == 1)
                        {
                            PS.SetTargets(PlayerTemp, AiTemp1, AiRef);
                        }
                        else
                        {
                            PS.SetTargets(PlayerTemp, AiTemp1, AiTemp2, AiRef);
                        }
                    }
                }
            }
        }
    }