Methods with Arguments (Noob Problem)

public string skills;
public float s1cooldowntime;

void Start ()  {
   setCooldown(skills[1],s1cooldowntime);
}

public void setCooldown(string skillString, float skillTime){
   switch(skillString){
     case "1":skillTime=4.0f;break;
     case "2":skillTime=4.5f;break;
   }
}

it doesn’t work, plesae help…

Floats are by value, so you doing:

 skillTime = 4.0f;

…is only changing the local copy. You can fix the problem by using the ‘out’ keyword:

public void setCooldown(string skillString, out float skillTime){

…but it would be better to treat this as a function:

public string[] skills;
public float s1cooldowntime;
 
void Start ()  {
   s1cooldowntime = setCooldown(skills[1]);
}
 
public float setCooldown(string skillString){
   switch(skillString){
     case "1": return 4.0f; break;
     case "2": return 4.5f; break;
   }
}