Cannot convert method group expression to IEnumerator
I want my game to wait for seconds before spawning a new enemy. I am receiving two errors which i do not understand why I am receiving them Please help me if you can.
First Error
The best overloaded method match for 'StartCoroutine(IEnumerator) has some invalid arguments. (on line 3)
But from what I can see it does not have invalid arguments
My Spawner class
void Start()
{
StartCoroutine(WaitBeforeSpawning);
}
public IEnumerator WaitBeforeSpawning()
{
yield return StartCoroutine(MyCoroutine.WaitForRealSeconds(1.3f));
RepositionEnemy();
}
Static Coroutine Class Note that the method takes a float as an arg
public static class MyCoroutine
{
public static IEnumerator WaitForRealSeconds(float time)
{
float start = Time.realtimeSinceStartup;
while(Time.realtimeSinceStartup < (start + time))
{
yield return null;
}
}
}
Second Error
Argument `#1' cannot convert method group expression to type System.Collections.IEnumerator'
...I am not trying to convert anything here i am just calling a method from another class, why does it say this?
Collector class error comes from
public EnemySpawner enemySpawnerScript;
void Awake(){
enemySpawnerScript = GameObject.FindObjectOfType (typeof(EnemySpawner)) as EnemySpawner;
}
public void SpawnEnemy()
{
StartCoroutine(enemySpawnerScript.WaitBeforeSpawning());
}
Answer by cdm89 · Feb 09, 2016 at 05:10 PM
I forgot the () inside the Start() { StartCoroutine(WaitBeforeSpawning*()*);
Got the exact same error, for the exact same mistake. Thanks for posting when you found the answer!
Your answer
Follow this Question
Related Questions
IENumerator does not work 0 Answers
Why is IEnumerator causing my game to crash immediately? 1 Answer
Any Way to Improve These Scripts or Increase Game Performance? 0 Answers
LoadScene not working in IEnumerator? 0 Answers
Trying to make my code pause using coroutines, what am i doing wrong? 2 Answers