Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка в коде в Юнити

Савелий Сотников Ученик (116), закрыт 3 недели назад
Пишу скрипт по туториалу, а тут всё время выскакивает эта ошибка: error CS1022: Type or namespace definition, or end-of-file expected.
Уже 3 раза переписал данную часть кода по туториалу, но ни как не исправяется.
Помогите кто шарит.
Вот код:
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class Game : MonoBehaviour
{
public Text scoreText;
private int score = 0;
private int bonus = 1;
[Header("Магазин")]
public int[] shopCosts;
public int[] shopBonuses;
public GameObject shopPan;

private void Update()
{
scoreText.text = score + " печенек";
}
public void shopPan_ShowAndHide()
{
shopPan.SetActive(!shopPan.activeSelf);
}
ToString(public void shopBttn_addBonus(int index))
{
if (score >= shopCosts[index])
{
bonus *= shopBonuses[index];
score -= shopCosts[index];
}
else
{
Debug.Log("no");
}
}

public void HireFWorker()
{
ToString(StartCoroutine(BonusPerSec));
}

IEnumerator BonusPerSec()
{
while(true)
{
score += 1;
yield return new WaitForSeconds(1);
}
}


public void OnClick ()
{
score += bonus;
scoreText.text = score + " печенек"; scoreText.text = score + " печенек";
}
}
 а туториал - https://dzen.ru/video/watch/60d4b7095167ab5600495e48 
Лучший ответ
дэшо-сан Знаток (310) 3 недели назад
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class Game : MonoBehaviour
{
public Text scoreText;
private int score = 0;
private int bonus = 1;

[Header("Магазин")]
public int[] shopCosts;
public int[] shopBonuses;
public GameObject shopPan;

private void Update()
{
scoreText.text = score + "печенек";
}

public void shopPan_ShowAndHide()
{
shopPan.SetActive(!shopPan.activeSelf);
}

public void shopBttn_addBonus(int index)
{
if (score >= shopCosts[index])
{
bonus *= shopBonuses[index];
score -= shopCosts[index];
}
else
{
Debug.Log("no");
}
}

public void HireFWorker()
{
StartCoroutine(BonusPerSec());
}

IEnumerator BonusPerSec()
{
while (true)
{
score += 1;
yield return new WaitForSeconds(1);
}
}

public void OnClick()
{
score += bonus;
scoreText.text = score + "печенек";
}
}

Я не то чтобы сильно разбираюсь в C#, но попробовала исправить. Вы в некоторых строках использовали ToString, когда это не было нужно. Надеюсь, что у вас всё получилось и удачи в начинаниях!
Савелий СотниковУченик (116) 3 недели назад
Спасибо огромное! Я просто сам прям чистый новичок в C#, и по этому могу допускать такие ошибки :)
Остальные ответы
Sergio 2.1 Оракул (67207) 3 недели назад
 using System.Collections.Generic; 
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class Game : MonoBehaviour
{
public Text scoreText;
private int score = 0;
private int bonus = 1;
[Header("Магазин")]
public int[] shopCosts;
public int[] shopBonuses;
public GameObject shopPan;

private void Update()
{
scoreText.text = score + " печенек";
}

public void shopPan_ShowAndHide()
{
shopPan.SetActive(!shopPan.activeSelf);
}

public void shopBttn_addBonus(int index) // Удалён ToString()
{
if (score >= shopCosts[index])
{
bonus *= shopBonuses[index];
score -= shopCosts[index];
}
else
{
Debug.Log("no");
}
}

public void HireFWorker()
{
StartCoroutine(BonusPerSec()); // Удалён ToString()
}

IEnumerator BonusPerSec()
{
while(true)
{
score += 1;
yield return new WaitForSeconds(1);
}
}

public void OnClick()
{
score += bonus;
scoreText.text = score + " печенек";
}
}
Савелий СотниковУченик (116) 3 недели назад
Спасибо вам огромное!
Похожие вопросы