C#脚本中的命名空间错误

C#脚本中的命名空间错误,c#,unity5,C#,Unity5,我在Private Void Awake()和Private Void Start()中出现错误 关于脚本的部分。如果有人能帮忙,我将非常感激 错误如下: 应为类、委托、枚举、接口或结构。类型 检测到命名空间定义或文件结尾 使用UnityEngine; 使用系统集合; 使用UnityEngine.UI; 公共类GameManager:MonoBehavior { 公共游戏对象[]m_坦克; 私人浮动m_游戏时间=0; 公共浮动游戏时间{get{return m_GameTime;}} 公共枚举博

我在Private Void Awake()和Private Void Start()中出现错误 关于脚本的部分。如果有人能帮忙,我将非常感激

错误如下:

应为类、委托、枚举、接口或结构。类型 检测到命名空间定义或文件结尾

使用UnityEngine;
使用系统集合;
使用UnityEngine.UI;
公共类GameManager:MonoBehavior
{
公共游戏对象[]m_坦克;
私人浮动m_游戏时间=0;
公共浮动游戏时间{get{return m_GameTime;}}
公共枚举博弈状态
{
开始
玩,
游戏结束
};
私有博弈状态m_博弈状态;
公共游戏状态{get{return m_GameState;}}
}
私人空间
{
m_GameState=GameState.Start;
}
私有void Start()
{
对于(int i=0;ireturn numTanksLeft您没有正确关闭文件中的大括号({})

您的类
GameManager
在第18行结束,您的方法
Awake
在任何地方都不会开始,这是不正确的


方法需要放在类中。这是您的问题。

如果缩进正确,将更容易识别大括号不平衡的位置。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class GameManager : MonoBehaviour
{
public GameObject[] m_Tanks;

private float m_gameTime = 0;
public float GameTime { get { return m_gameTime; } }
public enum GameState
{
    Start,
    Playing,
    GameOver
};
private GameState m_GameState;
public GameState State { get { return m_GameState; } }
}

private void Awake()
{
m_GameState = GameState.Start;
}
private void Start()
{
for (int i = 0; i < m_Tanks.Length; i++)
{
    m_Tanks[i].SetActive(false);
}
m_TimerText.gameObject.SetActive(false);
m_Exit.gameObject.SetActive(false);
m_HighScores.LoadScoresFromFile();
}
void Update()
{
switch (m_GameState)
{
case GameState.Start:
    if (Input.GetKeyUp(KeyCode.Return) == true)
    {
        m_GameState = GameState.Playing;
        for (int i = 0; i < m_Tanks.Length; i++)
        {
            m_Tanks[i].SetActive(true);
        }
    }
    break;
case GameState.Playing:
    bool isGameOver = false;
    m_gameTime += Time.deltaTime;
    int seconds = Mathf.RoundToInt(m_gameTime);
    if (OneTankLeft() == true)
    {
        isGameOver = true;
    }
    else if (IsPlayerDead() == true)
    {
        isGameOver = true;
    }
    if (isGameOver == true)
    {
        m_GameState = GameState.GameOver;
    }
    break;
case GameState.GameOver:
    if (Input.GetKeyUp(KeyCode.Return) == true)
    {
        m_gameTime = 0;
        m_GameState = GameState.Playing;
        for (int i = 0; i < m_Tanks.Length; i++)
        {
            m_Tanks[i].SetActive(true);
        }
    }
    break;
}
if (Input.GetKeyUp(KeyCode.Escape))
{
    Application.Quit();
}
}
private bool OneTankLeft()
{
int numTanksLeft = 0;
for (int i = 0; i < m_Tanks.Length; i++)
{
    if (m_Tanks[i].activeSelf == true)
    {
        numTanksLeft++;
    }
}
return numTanksLeft <= 1;
}
private bool IsPlayerDead()
{
for (int i = 0; i < m_Tanks.Length; i++)
{
    if (m_Tanks[i].activeSelf == false)
    {
        if (m_Tanks[i].tag == "Player")
            return true;
    }
}
return false;
}