/**
 * 矿洞open接口
 */

import { OptionalId, UpdateFilter } from "mongodb";
import { CollectionPlayerInfo, playerInfoType } from "../../../module/collection_palyerInfo";
import { prizeType } from "../type";

export type ReqOpen = {

};

export type ResOpen = {
    mydata: KuangDongCiShuInfo
    kdList?: {
        [hdid: string]: KuangDongKaiCaiList;
    }
    prize: prizeType[]
};


export type KuangDongCiShuInfo = {
    /**区域key 值挑战次数num 分别计数*/
    eara: { [id: string]: number };
    /**区域key 值挑战次数num 分别计数*/
    buynum: { [id: string]: number };
    time: number;
};


export type KuangDongKuang = {
    /**uid */
    uid: string
    /**矿洞占领开始时间 */
    ctime: number
    /**矿洞结束时间 */
    etime: number
    /**延时多少秒 */
    yanshi: number
    /**那个矿洞 */
    hdid: number
    /**矿洞类型 */
    kdtype: number
    ttl: Date
    _id?: string
    userinfo?: KuangDongKaiCaiListTmp
};


/**矿洞的详细信息 */
export type KuangDongKaiCaiList = {
    /**占领矿的用户信息 */
    userinfo?: KuangDongKaiCaiListTmp
} & KuangDongKuang


/**占领矿洞的个人信息 */
export type KuangDongKaiCaiListTmp = {
    headFrame: { id: string; time: number; }|undefined
    head: { id: string; time: number; }|undefined
    ghId: string|undefined
    ghName: string|undefined
    name: string
    lv: number
    power: number
    fight?: {}
}

/**矿洞的日志格式 */
export type KuangDongKaiCailog = {
    /**被占领的玩家uid(之前矿是我的) */
    uid: string
    /**唯一街道 */
    hdid: number
    /**被占领的玩家名字 */
    name: string
    /**占领的玩家uid */
    touid?: string
    /**占领的玩家的名字 */
    toname?: string
    /**日志时间 */
    ctime: number
    /**消息类型 1:时间到自动结算 2：占领建筑被人抢，被迫结算 3：占领建筑被人抢，对方没打赢 4：主动放弃*/
    msgtype: 1 | 2 | 3 | 4
    /**收益 */
    prize?: prizeType[]
    /**战令时长 */
    longtime: number


}

