跨类传递数值

struct MapItemData
{
	std::string textureName; //图片名字
	std::string title;		 //标题
	int hitValue;			//战斗力
	bool isLock;			//是否上锁
};

class MapListModel : public Ref
{
public:

	MapListModel();

	~MapListModel();

	bool init();

	CREATE_FUNC(MapListModel);


	std::vector<MapItemData>& getItemDatas()
	{
		return itemDatas;
	}
private:

	std::vector<MapItemData> itemDatas;
};

//.cpp文件

MapListModel::MapListModel():itemDatas(8)
{
	
}

MapListModel::~MapListModel()
{

}

bool MapListModel::init()
{

	//模拟数据
	for (int i = 1; i <= 8 ; i++)
	{
		if(i < 4)
			itemDatas[i-1].isLock = false;
		else
			itemDatas[i-1].isLock = true;

		itemDatas[i-1].hitValue = 10*i;
		itemDatas[i-1].textureName = StringUtils::format("bingyuan_s_%d.jpg",i);
	}
	itemDatas[0].isLock = false;

	return true;
}


//调用类 导入头文件 "MapListModel.h"

class MapItemUpdator :
{

public:

	void setItemDatas(std::vector<MapItemData>& vt)
	{
		itemDatas = &vt;
	}

private:
	std::vector<MapItemData>* itemDatas;
	int selectItemIdx;					//当前选中子项
};

class MapListModule :
{
public:

	MapListModule();

	~MapListModule();

        MapItemUpdator* updator;
	MapListModel* mapModel;
};

.cpp传入对象

updator->setItemDatas(mapModel->getItemDatas());

猜你喜欢

转载自blog.csdn.net/piyixia/article/details/88676168