namespace BrewMonster.Scripts.Task
{
public interface TaskInterface
{
bool Init(byte[] pActiveListBuf, int iActiveListLen, byte[] pFinishedListBuf,
int iFinishedListLen, byte[] pFinishedTimeListBuf, int iFinishedTimeListLen,
byte[] pFinishedCountListBuf, int iFinishedCountListLen, byte[] pStorageTaskListBuf,
int iStorageTaskListLen);
///
/// Get task state info for a task id. 清理并填充任务状态信息 // Clean and fill task state info
///
/// 任务ID // Task ID
/// 输出任务状态 // Output task state
/// 是否在激活列表中查找 // Whether to search in active list
void GetTaskStateInfo(uint ulTaskId, ref Task_State_info pInfo, bool bActiveTask);
bool CheckTaskForbid(uint task_id);
bool IsAtCrossServer();
bool IsDeliverLegal();
int GetCommonItemCount(uint ulCommonItem);
int GetTaskItemCount(uint ulTaskItem);
uint GetPlayerLevel();
uint GetGoldNum();
int GetGlobalValue(int lKey);
byte GetShapeMask();
int GetPos(float[] pos);
bool CheckSimpleTaskFinshConditon(uint task_id);
int GetFactionConsumeContrib();
int GetFactionExpContrib();
bool HasTask(uint ulTaskId);
#if _TASK_CLIENT
void GetTaskAwardPreview(uint ulTaskId,ref Task_Award_Preview p, bool bActiveTask = true);
uint GetTaskCount();
uint GetTaskId(uint ulIndex);
uint CanDeliverTask(uint ulTaskId);
#endif
// bool HasTask(uint taskId);
// bool CheckTaskForbid(uint taskId);
long GetGlobalValue(long key);
// uint GetPlayerLevel();
uint GetMaxHistoryLevel();
uint GetReincarnationCount();
bool IsRealmExpFull();
uint GetReputation();
// uint GetGoldNum();
int GetFactionRole();
bool IsInFaction(uint factionId);
bool IsMale();
uint GetPlayerOccupation();
uint GetCurPeriod();
bool IsGM();
bool IsShieldUser();
bool IsMarried();
// bool IsAtCrossServer();
bool IsWeddingOwner();
uint GetInvEmptySlot();
int GetFactionContrib();
// byte GetShapeMask();
int GetForce();
int GetForceReputation();
int GetForceContribution();
int GetExp();
int GetSP();
int GetForceActivityLevel();
bool IsKing();
bool IsInTeam();
uint GetAccountTotalCash();
}
}