game2006api/webapp/mt/AchievementsPower.php
hujiabin 47f2046ed6 1
2024-08-08 15:29:53 +08:00

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;
}