必须有一个正文,因为它没有标记为abstract,extern或partial

时间:2016-11-09 07:44:28

标签: c# unity3d

不完全确定我为什么会收到此错误。查看代码几个小时,但我认为这是一个简单的修复。有些代码是从视频中复制过来的,而且他的作品非常好,所以我不知道为什么它会给我带来任何问题:

using UnityEngine;
using System.Collections;

public class GoldPerSec : MonoBehaviour {


    public UnityEngine.UI.Text gpsDisplay();
    public Click click;
    public ItemManager[] items;


    void Start() {
        StartCoroutine(AutoTick());
    }

    void Update() {
        gpsDisplay.text = GetGoldPerSec() + " gold/sec";
    }

    public int GetGoldPerSec(){
        int tick = 0;
        foreach (ItemManager item in items) {
            tick += item.count * item.tickValue;

        }
        return tick;
    }

    public void AutoGoldPerSec() {
        click.gold += GetGoldPerSec();
    }

    IEnumerator AutoTick() {
        while (true) {
            AutoGoldPerSec();
            yield return new WaitForSeconds(1);
        }
    }
}

2 个答案:

答案 0 :(得分:4)

问题在于

public UnityEngine.UI.Text gpsDisplay();

这是一个方法声明,但方法中没有代码。

从背景中不清楚究竟应该是什么。如果它是一种方法,你可以在这个类中实现它,比如

public UnityEngine.UI.Text gpsDisplay()
{
     return <something useful>;
}

也许它应该是一个方法,你想在子类中实现它,然后将该类标记为抽象:

public abstract class GoldPerSec : MonoBehaviour

也许应该是一个领域,然后使用

public UnityEngine.UI.Text gpsDisplay;

没有括号。

答案 1 :(得分:-1)

当我在方法正文之前错误地添加; 时,出现此错误。去除;停止编译器错误。 ==我的代码。在第一行= <=

上查看;
      public string ReadPopMessage(String identifierOfElement, String elementKey);
        {

        //string elementID;
        elementID = ConfigurationManager.AppSettings.Get(elementKey);
        Console.WriteLine("The value of" + elementKey + "is " + elementID);
        //MessageBox.Show(elementID);

        string strPopupText = oWD.FindElement(By.CssSelector(elementID)).Text;
        return elementID;

        }