Esempio n. 1
0
    void TickUpdate()
    {
        ComSat.Trace(this, "TickUpdate");

        if (fireCycle != FireCycle.READY)
        {
            fireDelayTime -= ComSat.tickRate;
            if (fireDelayTime <= 0)
            {
                if (fireCycle == FireCycle.FIREDLEFT)
                {
                    // Fire right.
                    fireCycle = FireCycle.FIREDRIGHT;
                    FireOneBarrel(-1);
                    // This is enough time for the left barrel to recycle.
                    fireDelayTime = barrelRecycleTime - barrelDelay;
                }
                else if (fireCycle == FireCycle.FIREDRIGHT)
                {
                    // cycle complete.
                    fireCycle = FireCycle.READY;
                }
            }
        }
    }
Esempio n. 2
0
 void Fire()
 {
     if (fireCycle != FireCycle.READY)
     {
         return;
     }
     // Fire left.
     fireCycle     = FireCycle.FIREDLEFT;
     fireDelayTime = barrelDelay;
     FireOneBarrel(+1);
 }