float sp = 0; //current speed value
float speed = 0.7f; //acceleration factor
float speedDec = 1.5f; //Decceleration factor
int stat = 0; // 0: stopped, 1: advance, 2: reverse
public void Init()
{
IOManager.SetOutputDesc(0, "Advance Tray");
IOManager.SetOutputDesc(1, "Reverse Tray");
}
public void Main()
{
if(IOManager.GetOutput(0))
{
if(stat != 1)
{
stat = 1;
sp = 0;
CB0.Reverse(false);
CB1.Reverse(false);
CB2.Reverse(false);
CB0.Advance(true);
CB1.Advance(true);
CB2.Advance(true);
}
sp += speed * Time.deltaTime;
if(sp > 1)
sp = 1;
CB0.Speed = sp;
CB1.Speed = sp;
CB2.Speed = sp;
}
else if(IOManager.GetOutput(1))
{
if(stat != 2)
{
stat = 2;
sp = 0;
CB0.Advance(false);
CB1.Advance(false);
CB2.Advance(false);
CB0.Reverse(true);
CB1.Reverse(true);
CB2.Reverse(true);
}
sp += speed * Time.deltaTime;
if(sp > 1)
sp = 1;
CB0.Speed = sp;
CB1.Speed = sp;
CB2.Speed = sp;
}
else
{
if(sp != 0)
{
sp -= speedDec * Time.deltaTime;
if(sp < 0)
{
sp = 0;
stat = 0;
CB0.Advance(false);
CB1.Advance(false);
CB2.Advance(false);
CB0.Reverse(false);
CB1.Reverse(false);
CB2.Reverse(false);
}
CB0.Speed = sp;
CB1.Speed = sp;
CB2.Speed = sp;
}
}
}
public void Physics()
{
}
public void Finish()
{
}