- Home /
Calling functions with Invoke
I was writing a program to execute the Runge-Kutta algorithm on several equations. Since I would have liked the equations that needed to be called to be "loaded" in at runtime, instead of using flags I decided to make a List with all the Function names (they have similar names so it is easy) and then loop the list with an Invoke to call the functions. The problem is, Invoke, even though I passed as the Time parameter 0.0f, will not call the functions immediately, and that is a problem.
Is there a way to implement something similar?
This is the code, to maybe make it a bit clearer:
public List<float> evaluateStateDot(List<float> newState, float newInput)
{
stateDot = new List<float>();
for (int i = 0; i < state.Count; i++) { stateDot.Add(0.0f); }
input = newInput;
state = newState;
//Functions I need to call
Assign_2();
F2_1();
F2_2();
F2_3();
F2_4();
F2_5();
F2_6();
/*for (int i = 0; i <= numVariables; i++)
{ //Calls both the assign function and the stateDot functions
Invoke(functionNames[i], 0.0f);//Call the function in 0.0 seconds (right now)
}*/
return stateDot;
}
Keep in mind: Runge Kutta will need to call the "evaluateStateDot" four times each frame, each time with different parameters
Thank you for your time
Your answer
Follow this Question
Related Questions
Tips for having proper function structure 2 Answers
Saving the Overview part of the profiler 0 Answers
What is the difference between InvokeRepeating & Invoke and how can they be used? 1 Answer
How to use a function from another script inside of the Invoke () class? 2 Answers
Get other GameObject's script name 2 Answers