96 lines
3.2 KiB
PHP
96 lines
3.2 KiB
PHP
<?php
|
|
|
|
namespace mt;
|
|
|
|
use phpcommon;
|
|
|
|
class AchievementsPower {
|
|
const TOTAL_WINS_TIMES = 1; //获得胜利
|
|
const TOTAL_KILL_TIMES= 2; //击杀人数
|
|
const USE_ITEM_TIMES = 3; //使用X道具
|
|
const NOMINAL_TIME_BATTLE_END = 4; //X分钟内结算比赛
|
|
const IN_BATTLE_UP_LV= 5; //在局内升级最快次数
|
|
const TOTAL_BATTLE_TIMES = 6; //游戏场次
|
|
const TOTAL_LAST_RUNNER = 7; //最后一名次数
|
|
const RESCUE_TEAMMATE_TIMES = 8; //救援队友数
|
|
const WALKING_DISTANCE = 9; //累计行走距离(米)
|
|
const HERO_UP_QUALITY = 10; //指定英雄升阶数
|
|
const OWN_HERO_NFT_NUM = 11; //拥有英雄nft数
|
|
const OWN_CHIP_NFT_NUM = 12; //拥有芯片nft数
|
|
const OWN_GOLD_NUM = 13; //拥有金币数
|
|
const TOP_UP_DIAMOND = 14; //充值钻石
|
|
const SPEND_DIAMOND = 15; //花费钻石
|
|
const SPEND_GOLD = 16; //消耗金币
|
|
const SYN_HERO = 17; //合成英雄
|
|
const SYN_CHIP = 18; //合成芯片
|
|
const SYN_SKIN = 19; //合成皮肤
|
|
const UP_HERO = 20; //升阶英雄
|
|
const UP_CHIP = 21; //升阶芯片
|
|
const SYN_GOLD_CARD = 22; //合成金币卡
|
|
const TOTAL_COMPLETE_NUM = 23; //累计完成任务数
|
|
const TOTAL_HERO_BATTLE_TIMES = 24; //指定英雄进行游戏局数
|
|
|
|
const MOBA_SCENE = 1;
|
|
const PVP_SCENE = 2;
|
|
const All_SCENE = 5;
|
|
|
|
const TYPE1 = 1;
|
|
const TYPE2 = 2;
|
|
const TYPE3 = 3;
|
|
const TYPE4 = 4;
|
|
const TYPE5 = 5;
|
|
|
|
const REFRESH_STATE = 1;
|
|
const NOT_REFRESH_STATE = 0;
|
|
|
|
public static function find($id){
|
|
return getXVal(self::getMetaList(), $id, null);
|
|
}
|
|
|
|
public static function getCustomTypeMetaList($type, $hashRateService){
|
|
$metaList = array();
|
|
foreach ($hashRateService->getHashRateTasks($type) as $task){
|
|
$meta = self::find($task['task_id']);
|
|
if ($meta) {
|
|
array_push($metaList, $meta);
|
|
}
|
|
}
|
|
return $metaList;
|
|
}
|
|
|
|
public static function getListByType($type){
|
|
$mateList = array();
|
|
foreach (self::getMetaList() as $mate){
|
|
if ($mate['task_type'] == $type){
|
|
array_push($mateList,$mate);
|
|
}
|
|
}
|
|
return $mateList;
|
|
}
|
|
|
|
public static function getAvailableTasks($type,$excludeMetas){
|
|
$metas = array();
|
|
foreach (self::getListByType($type) as $meta) {
|
|
if (!array_find($excludeMetas, function($val) use($meta) {
|
|
return $val['task_id'] == $meta['id'];
|
|
})) {
|
|
array_push($metas, $meta);
|
|
}
|
|
}
|
|
return $metas;
|
|
}
|
|
|
|
|
|
|
|
public static function getMetaList()
|
|
{
|
|
if (!self::$metaList) {
|
|
self::$metaList = getMetaTable('AchievementsPower@AchievementsPower.php');
|
|
}
|
|
return self::$metaList;
|
|
}
|
|
|
|
protected static $metaList;
|
|
|
|
}
|