game2005api/webapp/mt/Item.php
aozhiwei a2aebe000f 1
2021-12-01 12:02:26 +08:00

128 lines
3.2 KiB
PHP

<?php
namespace mt;
use phpcommon;
class Item {
/*
0 无功能
1 金币
2 钻石
3 角色账号经验
4 权限类
5 英雄
6 皮肤
7 头像
8 头像框
9 枪械
10 材料
11 改名卡
12 喇叭
13 礼包
14 碎片
15 日活跃
16 周活跃
17 手册经验
18 工会经验
19 工会改名卡
20 英雄熟练度(预留)
*/
const NONE_TYPE = 0;
const GOLD_TYPE = 1;
const DIAMOND_TYPE = 2;
const EXP_TYPE = 3;
const PERMISSION_TYPE = 4;
const HERO_TYPE = 5;
const HERO_SKIN_TYPE = 6;
const HEAD_TYPE = 7;
const HEAD_FRAME_TYPE = 8;
const GUN_TYPE = 9;
const GUN_SKIN_TYPE = 10;
const MATERIAL_TYPE = 11;
const HORN_TYPE = 12;
const RENAME_CARD_TYPE = 13;
const GIFT_PACKAGE_TYPE = 14;
const FRAGMENT_TYPE = 15;
const DAILY_ACTIVE_TYPE = 16;
const WEAKLY_ACTIVE_TYPE = 17;
const HANDBOOK_EXP_TYPE = 18;
const GUILD_EXP_TYPE = 19;
const GUILD_RENAME_CARD_TYPE = 20;
const HERO_EXP_TYPE = 21;
const DAILY_BUY_LIMIT = 1;
const WEEKLY_BUY_LIMIT = 2;
const TOTAL_BUY_LIMIT = 3;
public static function get($id)
{
return getXVal(self::getMetaList(), $id, null);
}
public static function isType($meta, $type)
{
return $meta['type'] == $type;
}
public static function inTypes($meta, $types)
{
return in_array($meta['type'], $types);
}
public static function filter($cb)
{
foreach (self::getMetaList() as $meta) {
if (!$cb($meta)) {
return;
}
}
}
public static function getPriceInfo($meta)
{
$info = array(
'item_id' => $meta['id'],
'price_info' => array(
'cost_list' => array(),
'discount_begin_time' => phpcommon\datetimeToTimestamp($meta['discount_begin']),
'discount_end_time' => phpcommon\datetimeToTimestamp($meta['discount_end'])
)
);
$discount = splitStr1($meta['discount']);
if ($meta['gold'] > 0) {
array_push($info['price_info']['cost_list'],
array(
array(
'item_id' => V_ITEM_GOLD,
'item_num' => $meta['gold'],
'discount' => count($discount) > 0 ? (int)$discount[0] : 0
)));
}
if ($meta['diamond_price'] > 0) {
array_push($info['price_info']['cost_list'],
array(
array(
'item_id' => V_ITEM_DIAMOND,
'item_num' => $meta['diamond_price'],
'discount' => count($discount) > 1 ? (int)$discount[1] : 0
)
));
}
return $info;
}
protected static function getMetaList()
{
if (!self::$metaList) {
self::$metaList = getMetaTable('item@item.php');
}
return self::$metaList;
}
protected static $metaList;
}