#pragma once /* 占领前拍卖类:拍卖信息及拍卖处理器 */ #ifndef DOMINATION_AUCTION_H #define DOMINATION_AUCTION_H #ifdef _NA001385_20090924_DOMINATION #include "SystemMemo.h" typedef STLX_MAP AuctionInfoMap; typedef AuctionInfoMap::iterator AuctionInfoIterator; typedef AuctionInfoMap::const_iterator ConstAuctionInfoIterator; class DominationAuction { public: DominationAuction(MAPCODE map_code); ~DominationAuction(); //拍卖信息设置 void SetInfo(const DominationAuctionInfo* auction_info, int data_count); //获取拍卖区域地图代码 MAPCODE GetMapCode()const; //拍卖信息是否已加载 bool IsLoaded()const; //请求拍卖信息 void RequestData()const; //拍卖数据输入:分别返回新出价和重复出价。 eDOMINATION_TENDER_TYPE EntryAuction(const DominationAuctionInfo& auction_info); //公会拍卖金额 MONEY GetTenderCost(GUILDGUID guild_guid)const; //该地区最高拍卖价 MONEY GetBestTenderCost()const; //选择公会 const DominationAuctionInfo* SelectAttackGuild()const; //请求拍卖清单 BYTE GetAuctionList(DOMINATION_ACTION_INFO* OUT auction_list, BYTE max_count)const; //删除拍卖数据 void DeleteAuctionInfo(GUILDGUID guild_guid); //拍卖数据初始化 void ClearAuctionInfo(); //发送拍卖奖励备忘录 void SendRewardMemo(SLOTCODE item_code, eSYSTEM_MEMO_TYPE memo_type)const; //拍卖次数 BYTE CountAuctionList()const; //GUILDGUID的公会是否出价:返回true(出价历史存在)/false(出价历史不存在) bool IsApplyToGuild(GUILDGUID guild_guid)const; private: //输入拍卖信息 void _InsertData(); //is_load_auction_info_ bool _IsLoadData()const; void _IsLoadData(bool set_value); //拍卖数据控制(输入/更改) void _InsertData(const DominationAuctionInfo& auction_info); void _ChangeData(const DominationAuctionInfo& auction_info); //查找/访问拍卖信息 const DominationAuctionInfo* _GetInfo(GUILDGUID guild_guid)const; DominationAuctionInfo* _AccessInfo(GUILDGUID guild_guid); //比较拍卖出价(如果 true:first 大于或等于,false:first 小于) bool _Comp(const DominationAuctionInfo* first_data, const DominationAuctionInfo* second_data)const; //查找最高出价金额数据 const DominationAuctionInfo* _FindBestCostGuild()const; //根据投标项目数量随机选择 const DominationAuctionInfo* _ProbabilityFindGuild()const; private: MAPCODE map_code_;//拍卖区地图代码 AuctionInfoMap auction_info_map_;//拍卖地图 bool is_load_data_;//已加载占用前拍卖信息 SystemMemo system_memo_;//系统说明 }; inline bool DominationAuction::_IsLoadData()const { return is_load_data_; } inline void DominationAuction::_IsLoadData(bool set_value) { is_load_data_ = set_value; } inline MAPCODE DominationAuction::GetMapCode()const { return map_code_; } inline bool DominationAuction::IsLoaded()const { return _IsLoadData(); } #endif//_NA001385_20090924_DOMINATION #endif//DOMINATION_AUCTION_H