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

В unity возникает ошибка error CS0106: The modifier 'public' is not valid for this item

Demiurg Ученик (147), на голосовании 10 месяцев назад
Есть простой скрипт:
 using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public void GenerateMessage()
{
messageText.text = messages[Random.Range(0, messages.Length)];
}

public class RandomGenerate : MonoBehaviour
{
[SerializeField] private string[] messages;
[SerializeField] private Text messageText;
}

при запуске в unity возникает озвученная в теме ошибка по строке "public void GenerateMessage"
Подскажите пожалуйста, как исправить?
Голосование за лучший ответ
Chromatic Scale Просветленный (21896) 11 месяцев назад
Ошибка "error CS0106: The modifier 'public' is not valid for this item" возникает, потому что метод GenerateMessage() не может быть определен как public вне класса.

Чтобы исправить эту ошибку, нужно переместить метод GenerateMessage() внутрь класса RandomGenerate. Вот исправленный код:
 using System.Collections; 
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class RandomGenerate : MonoBehaviour
{
[SerializeField] private string[] messages;
[SerializeField] private Text messageText;

public void GenerateMessage()
{
messageText.text = messages[Random.Range(0, messages.Length)];
}
}

Теперь метод GenerateMessage() определен внутри класса RandomGenerate и может быть использован как public.
Похожие вопросы