Esempio n. 1
0
    private static void CollectCollectable(IGolfBallState collector, ICollectable collectable)
    {
        collector.Score++;
        var spot = SystemUtils.Find <ICollectableSpot>(collectable.CollectableSpot);

        collectable.Enabled    = false;
        spot.Enabled           = true;
        spot.CooldownTimestamp = Time.time;
        CollectableEffectBoltEvent.Post(GlobalTargets.Everyone, ReliabilityModes.Unreliable);
    }
Esempio n. 2
0
 private void UpdateCooldownTimestamp(IGolfBallState golfBall)
 {
     if (golfBall.Velocity > 0)
     {
         golfBall.CooldownTimestamp = float.PositiveInfinity;
     }
     else if (golfBall.CooldownTimestamp > BoltNetwork.Time)
     {
         golfBall.CooldownTimestamp = BoltNetwork.Time;
     }
 }
Esempio n. 3
0
 private void UpdateCooldownRatio(IGolfBallState golfBall)
 => golfBall.CooldownRatio =
     1 - Mathf.Clamp01((BoltNetwork.Time - golfBall.CooldownTimestamp)
                       / GlobalSettings.GolfBallCooldown);
Esempio n. 4
0
 private void UpdateReadyToMove(IGolfBallState golfBall)
 => golfBall.ReadyToMove =
     BoltNetwork.Time > golfBall.CooldownTimestamp + GlobalSettings.GolfBallCooldown;