75 lines
1.4 KiB
PHP
75 lines
1.4 KiB
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: zn
|
|
* Date: 2017/6/23
|
|
* Time: 16:09
|
|
*/
|
|
|
|
namespace common\models;
|
|
|
|
|
|
use common\services\GameConfigServices;
|
|
|
|
/**
|
|
* 交易内容
|
|
* Class DealData
|
|
* @package common\models
|
|
*/
|
|
class DealData
|
|
{
|
|
public $gold = 0;
|
|
|
|
/**
|
|
* @var DealDataItem[]
|
|
*/
|
|
public $item_list = [];
|
|
|
|
/**
|
|
* @param $itemID
|
|
* @param $num
|
|
* @return DealDataItem
|
|
*/
|
|
public function addItem($itemID, $num)
|
|
{
|
|
$item = new DealDataItem();
|
|
$item->item_id = $itemID;
|
|
$item->num = $num;
|
|
|
|
$itemConfig = GameConfigServices::getParamByPath('item_list.' . $itemID);
|
|
$item->name = $itemConfig['name'];
|
|
|
|
array_push($this->item_list, $item);
|
|
|
|
return $item;
|
|
}
|
|
|
|
public function toReadString()
|
|
{
|
|
if ($this->gold > 0) {
|
|
return '金币:' . $this->gold;
|
|
} else {
|
|
$str = '';
|
|
foreach ($this->item_list as $item) {
|
|
$str .= sprintf('%sX%s;', $item->name, $item->num);
|
|
}
|
|
|
|
return $str;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param $json
|
|
* @return DealData
|
|
*/
|
|
public static function loadJson($json)
|
|
{
|
|
$jsonObj = json_decode($json );
|
|
$data = new DealData();
|
|
$data->gold = $jsonObj->gold;
|
|
$data->item_list = $jsonObj->item_list;
|
|
return $data;
|
|
}
|
|
}
|
|
|