Skip to content

Commit

Permalink
Adding a new AwardClass for Flight Time (#869)
Browse files Browse the repository at this point in the history
Adding a new AwardClass for Flight Time
  • Loading branch information
Da-Geek committed Oct 13, 2020
1 parent 5371989 commit d001704
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions modules/Awards/Awards/PilotHoursAwards.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<?php

namespace Modules\Awards\Awards;

use App\Contracts\Award;
use Log;

/**
* All award classes need to extend Award and implement the check() method
* This award is based on the original PilotFlightAwards.php file but
* checks the Pilots Flight Time (In Minutes).
* This award means you can create an award for a pilot that completes any
* amount of flight time (In Minutes).
*
* See: https://docs.phpvms.net/developers/awards
*/
class PilotHoursAwards extends Award
{
/**
* Set the name of this award class to make it easier to see when
* assigning to a specific award
*
* @var string
*/
public $name = 'Pilot Flight Time';

/**
* The description to show under the parameters field, so the admin knows
* what the parameter actually controls. You can leave this blank if there
* isn't a parameter.
*
* @var string
*/
public $param_description = 'Amount of flight time in Minutes at which to give this award';

/**
* If the user has over N minutes of flights, then we can give them this award.
*
* @param int|null $flight_minutes The parameters passed in from the UI
*
* @return bool
*/
public function check($flight_minutes = null): bool
{
if (!is_int($flight_minutes)) {
Log::error('PilotHourAwards: Flight time "'.$flight_minutes.'" is not a valid flight time');
return false;
}

return $this->user->flight_time >= (int) $flight_minutes;
}
}

0 comments on commit d001704

Please sign in to comment.