My function gets called when the bool is true or false, and it should only be called when booln=true. Here is the code:
public int int1;
public int int2;
private Vector3 dir;
public bool booln;
void Start()
{
dir.z=transform.position.z;
}
void OnCollisionEnter (Collision col)
{
if(!(col.gameObject.name=="road")){
Destroy(col.gameObject);
int1=(int2+100);
}
}
void func2(){
if(Input.GetKeyDown(KeyCode.D)&&(dir.x<6)){
dir.z=transform.position.z;
dir.x+=3;
transform.position=dir;
}
if(Input.GetKeyDown(KeyCode.A)&&(dir.x>(-6))){
dir.z=transform.position.z;
dir.x-=3;
transform.position=dir;
}
}
void func1()
{
int2++;
if(int2>=int1){booln=true;}
if(int2<int1){booln=false;}
if(booln==true){func2();}
}
void LateUpdate()
{
func1();
}
P.S. any unnecessary code is there because I am frustrated.