diff --git a/src/Common/MainControl/MainControl.ts b/src/Common/MainControl/MainControl.ts index 0bcdb1d..8f58bea 100644 --- a/src/Common/MainControl/MainControl.ts +++ b/src/Common/MainControl/MainControl.ts @@ -90,7 +90,11 @@ export class MainControl extends BaseSingleton() { // fileUrl = "https://patch.sdegaming.com/slot2/patch/_Release/shared/jsons/" + fileUrl; // fileUrl = "http://patch-dev.online-bj.com/shared/jsons/" + fileUrl; // fileUrl = "http://jianmiau.tk/_BJ_Source/BJ-Internal-Dev/shared/jsons/" + fileUrl; - fileUrl = "./shared/jsons/" + fileUrl; + if (import.meta.env.PROD) { + fileUrl = "https://patch.sdegaming.com/slot2/patch/_Release/shared/jsons/" + fileUrl; + } else { + fileUrl = "./shared/jsons/" + fileUrl; + } fileUrl = fileUrl + "?v=" + Date.now(); let isDownloading: boolean = true; let xhr: XMLHttpRequest = new XMLHttpRequest(); diff --git a/src/Common/Mask/CSMask.ts b/src/Common/Mask/CSMask.ts deleted file mode 100644 index 967a8e3..0000000 --- a/src/Common/Mask/CSMask.ts +++ /dev/null @@ -1,53 +0,0 @@ -import LoadMaskBase from "./Group/LoadMaskBase"; - -export class CSMask { - /** 遮罩Dic */ - private static _dicMask: Map = new Map(); - public static Initialize(masks: LoadMaskBase[]): void { - this._dicMask.clear(); - for (let i = 0; i < masks.length; i++) { - const mask: LoadMaskBase = masks[i]; - this._dicMask.set(mask.MaskType, mask); - } - } - - public static GetMask(type: CSMask.MaskType): LoadMaskBase { - if (this._dicMask.has(type)) { - return this._dicMask.get(type); - } - else { - return null; - } - } - - public static ShowMask(type: CSMask.MaskType, ...param: any[]): void { - let mask = this.GetMask(type); - if (mask != null) { - mask.Show(...param); - } - } - - public static HideMask(type: CSMask.MaskType, ...param: any[]): void { - let mask = this.GetMask(type); - if (mask != null) { - mask.Hide(...param); - } - } - - public static HideAllMask(): void { - this._dicMask.forEach((k, type) => { - let mask: LoadMaskBase = this.GetMask(type); - if (mask != null) { - mask.Reset(); - } - }); - } -} - -export module CSMask { - export enum MaskType { - /** Loading */ - LoadingMask - } -} -export default CSMask; diff --git a/src/Common/Mask/Group/LoadMaskBase.ts b/src/Common/Mask/Group/LoadMaskBase.ts deleted file mode 100644 index 92946aa..0000000 --- a/src/Common/Mask/Group/LoadMaskBase.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { loadingModalObj } from "@/context/LoadingModalContext"; -import CSMask from "../CSMask"; - -export default abstract class LoadMaskBase { - /** 一般遮罩記數 */ - private _count: number = 0; - public get MaskType(): CSMask.MaskType { throw new Error(`請初始化MaskType`); } - - onLoad() { - this._count = 0; - } - - public Show(...param: any[]): void { - if (this._count == 0) { - const { handleOpen } = loadingModalObj; - handleOpen(); - } - this._count++; - } - - public Hide(...param: any[]): void { - this._count--; - if (this._count <= 0) { - const { handleClose } = loadingModalObj; - handleClose(); - this._count = 0; - } - } - - public Reset(): void { - this._count = 0; - const { handleClose } = loadingModalObj; - handleClose(); - } -} diff --git a/src/Common/Mask/Group/LoadingMask.ts b/src/Common/Mask/Group/LoadingMask.ts deleted file mode 100644 index 7eace7f..0000000 --- a/src/Common/Mask/Group/LoadingMask.ts +++ /dev/null @@ -1,6 +0,0 @@ -import CSMask from "../CSMask"; -import LoadMaskBase from "./LoadMaskBase"; - -export default class LoadingMask extends LoadMaskBase { - public get MaskType(): CSMask.MaskType { return CSMask.MaskType.LoadingMask; } -} diff --git a/src/Common/ResourceItem/CSResource.ts b/src/Common/ResourceItem/CSResource.ts deleted file mode 100644 index 94fe9ac..0000000 --- a/src/Common/ResourceItem/CSResource.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { ResourceInfo } from "@/define/resource"; -import { ActionWithType } from "../../Engine/CatanEngine/CSharp/System/ActionWithType"; -import IResourceItem from "./IResourceItem"; -import CardCouponItem from "./Items/CardCouponItem"; -import LpPointItem from "./Items/LpPointItem"; -import MoneyItem from "./Items/MoneyItem"; -import { ResourceItemType } from "./ResourceItemType"; - - -class UpdateResourceEvent extends ActionWithType { -} - -export default class CSResource { - private static _event: UpdateResourceEvent; - - /** 更新資源事件 */ - public static get Event() { - return CSResource._event; - } - - public static Initialize(): void { - CSResource._event = new UpdateResourceEvent(); - // Cocos.VicKing_Bridge.GetCSResourceEvent = () => { return CSResource._event; }; - // Cocos.VicKing_Bridge.AddResourceItemFromServer = (data: JSON) => { return CSResource.AddResourceItemFromServer(data); }; - } - - /** - * 新增一筆資源(資料必須是從Server來的) - * @param data ex [1, 15] --> 新增元寶資源 - */ - public static AddResourceItemFromServer(data: ResourceInfo | JSON): IResourceItem { - let item = this.GetResourceItemFromServer(data); - item.AddToResource(); - return item; - } - - /** - * 新增多筆資源(資料必須是從Server來的) - * @param data ex: [[1, 15], [2, 30], [28, ["0000123", [124, 3, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 0, 1, 1, 0.000, 0.00, 1, 0, 0, 0, 0, 0, 3]]]] --> 新增[元寶, 銀兩, 卡片]等資源 - */ - public static AddResourceItemsFromServer(data: ResourceInfo[] | JSON): IResourceItem[] { - let itemList: IResourceItem[] = []; - for (let i = 0, count = Object.keys(data).length; i < count; i++) { - let itemData: JSON = data[i]; - itemList.push(this.AddResourceItemFromServer(itemData)); - } - return itemList; - } - - /** - * 從Server資料還原對應的資源物件 - * @param data ex: [1, 15] --> 元寶, [2, 30] --> 銀兩 - */ - public static GetResourceItemFromServer(data: ResourceInfo | JSON): IResourceItem { - let type = data[0]; - switch (type) { - case ResourceItemType.Money: - return new MoneyItem(data); - case ResourceItemType.Card_Coupon: - return new CardCouponItem(data); - case ResourceItemType.LpPoint: - return new LpPointItem(data); - default: - throw new Error("沒有對應[" + type + "]類型的Server資源類別"); - } - } - - /** - * 從Server資料還原對應的資源物件 - * @param data ex: [[1, 15], [2, 30], [45, [1, 10], ...] --> [元寶, 銀兩, 節慶貨幣, ...] - */ - public static GetResourceItemsFromServer(data: JSON): IResourceItem[] { - let itemList: IResourceItem[] = []; - for (let i = 0, count = Object.keys(data).length; i < count; i++) { - let itemData: JSON = data[i]; - itemList.push(this.GetResourceItemFromServer(itemData)); - } - return itemList; - } - - /** - * 新增多筆資源(直接拿資料本身) - * @param items - */ - public static AddResourceItems(items: IResourceItem[]): void { - for (let item of items) { - item.AddToResource(); - } - } - - // #endregion -} \ No newline at end of file diff --git a/src/Common/ResourceItem/IResourceItem.ts b/src/Common/ResourceItem/IResourceItem.ts deleted file mode 100644 index 19ebc94..0000000 --- a/src/Common/ResourceItem/IResourceItem.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { ResourceItemType } from "./ResourceItemType"; - -interface IResourceItem { - /** 取得資源名稱 */ - readonly Name: string; - /** 取得資源類型 */ - readonly ResourceType: ResourceItemType; - /** 資源編號 */ - readonly ID: number; - /** 數量 */ - Count: number; - - /** 加入到玩家資源中 */ - AddToResource(): void; -} -export default IResourceItem; \ No newline at end of file diff --git a/src/Common/ResourceItem/Items/CardCouponItem.ts b/src/Common/ResourceItem/Items/CardCouponItem.ts deleted file mode 100644 index 097918e..0000000 --- a/src/Common/ResourceItem/Items/CardCouponItem.ts +++ /dev/null @@ -1,28 +0,0 @@ -import CSSettingsSDV3 from "@/FormTable/CSSettingsV3"; -import { LanguageManager } from "@/FormTableExt/Manage/Language/LanguageManager"; -import { ResourceInfo } from "@/define/resource"; -import { backpackInfo } from "@/utils/setRPCData"; -import CSResource from "../CSResource"; -import IResourceItem from "../IResourceItem"; -import { ResourceItemType } from "../ResourceItemType"; - -export default class CardCouponItem implements IResourceItem { - public get Name(): string { return CSSettingsSDV3.ItemSetting.StringDetail[+CSSettingsSDV3.ItemSetting.CouponSetting[this.ID].CardName][LanguageManager.GetMsgId()]; } - public get ResourceType(): ResourceItemType { return ResourceItemType.Card_Coupon; } - public ID: number; - public Count: number; - - public AddToResource(): void { - backpackInfo([[this.ResourceType, [this.ID, this.Count]]], true); - CSResource.Event.DispatchCallback(ResourceItemType.Card_Coupon, [this.ResourceType, [this.ID, this.Count]]); - } - - /** 從db來的格式建立可數資源物件 */ - public constructor(db: ResourceInfo | JSON) { - if (!db[1]) { - return; - } - this.ID = db[1][0]; - this.Count = db[1][1]; - } -} diff --git a/src/Common/ResourceItem/Items/CollectTokenItem.ts.meta b/src/Common/ResourceItem/Items/CollectTokenItem.ts.meta deleted file mode 100644 index e38c72e..0000000 --- a/src/Common/ResourceItem/Items/CollectTokenItem.ts.meta +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ver": "1.1.0", - "uuid": "0cab7ce7-c8b2-4c65-a80b-502bb8eddc53", - "importer": "typescript", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/src/Common/ResourceItem/Items/LevelItem.ts.meta b/src/Common/ResourceItem/Items/LevelItem.ts.meta deleted file mode 100644 index d360d8b..0000000 --- a/src/Common/ResourceItem/Items/LevelItem.ts.meta +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ver": "1.1.0", - "uuid": "5a6fedda-63d3-4fb7-b8f7-7ca1889cf7db", - "importer": "typescript", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/src/Common/ResourceItem/Items/LpPointItem.ts b/src/Common/ResourceItem/Items/LpPointItem.ts deleted file mode 100644 index 203f142..0000000 --- a/src/Common/ResourceItem/Items/LpPointItem.ts +++ /dev/null @@ -1,28 +0,0 @@ -import CSSettingsSDV3 from "@/FormTable/CSSettingsV3"; -import { Shop } from "@/define/formkey"; -import { ResourceInfo } from "@/define/resource"; -import Player from "@/modules/player"; -import { State } from "@/modules/player/define/data"; -import { NumberEx } from "@/utils/Number/NumberEx"; -import CSResource from "../CSResource"; -import IResourceItem from "../IResourceItem"; -import { ResourceItemType } from "../ResourceItemType"; - -export default class LpPointItem implements IResourceItem { - public get Name(): string { return CSSettingsSDV3.prototype.ShopString(Shop.String.LpPoint); } - public get ResourceType(): ResourceItemType { return ResourceItemType.LpPoint; } - public ID: number; - public Count: number; - - public AddToResource(): void { - const playerData: State = Player.data.getState(); - playerData.account.lpPoint = NumberEx.plus(playerData.account.lpPoint, this.Count); - Player.data.setState(playerData); - CSResource.Event.DispatchCallback(ResourceItemType.LpPoint, [playerData.account.lpPoint, this.Count]); - } - - /** 從db來的格式建立可數資源物件 */ - public constructor(db: ResourceInfo | JSON) { - this.Count = db[1]; - } -} diff --git a/src/Common/ResourceItem/Items/LpPointItem.ts.meta b/src/Common/ResourceItem/Items/LpPointItem.ts.meta deleted file mode 100644 index 6de1ce2..0000000 --- a/src/Common/ResourceItem/Items/LpPointItem.ts.meta +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ver": "1.1.0", - "uuid": "db699d15-9603-4466-8ffd-d34fde6abb5f", - "importer": "typescript", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/src/Common/ResourceItem/Items/MoneyItem.ts b/src/Common/ResourceItem/Items/MoneyItem.ts deleted file mode 100644 index b8b3684..0000000 --- a/src/Common/ResourceItem/Items/MoneyItem.ts +++ /dev/null @@ -1,31 +0,0 @@ -import CSSettingsSDV3 from "@/FormTable/CSSettingsV3"; -import Config from "@/define/Config"; -import { Shop } from "@/define/formkey"; -import { ResourceInfo } from "@/define/resource"; -import Player from "@/modules/player"; -import { NumberEx } from "@/utils/Number/NumberEx"; -import CSResource from "../CSResource"; -import IResourceItem from "../IResourceItem"; -import { ResourceItemType } from "../ResourceItemType"; - -export default class MoneyItem implements IResourceItem { - public get Name(): string { return CSSettingsSDV3.prototype.ShopString(Shop.String.Money); } - public get ResourceType(): ResourceItemType { return ResourceItemType.Money; } - public ID: number; - public Count: number; - - public AddToResource(): void { - const playerData = Player.data.getState(); - playerData.account.money = NumberEx.plus(playerData.account.money, this.Count); - Player.data.setState(playerData); - if (Config.ShowMoneyLog) { - console.debug(String.Format("[{0}], {1}, {2}", "Money_" + ResourceItemType.Money, playerData.account.money, this.Count)); - } - CSResource.Event.DispatchCallback(ResourceItemType.Money, [playerData.account.money, this.Count]); - } - - /** 從db來的格式建立可數資源物件 */ - public constructor(db: ResourceInfo | JSON) { - this.Count = db[1]; - } -} \ No newline at end of file diff --git a/src/Common/ResourceItem/Items/MoneyItem.ts.meta b/src/Common/ResourceItem/Items/MoneyItem.ts.meta deleted file mode 100644 index dfd4a81..0000000 --- a/src/Common/ResourceItem/Items/MoneyItem.ts.meta +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ver": "1.1.0", - "uuid": "e03637c9-24be-42ff-960f-b3377e20efdc", - "importer": "typescript", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/src/Common/ResourceItem/ResourceItemType.ts b/src/Common/ResourceItem/ResourceItemType.ts deleted file mode 100644 index b662a38..0000000 --- a/src/Common/ResourceItem/ResourceItemType.ts +++ /dev/null @@ -1,12 +0,0 @@ -export enum ResourceItemType { - /** 錢 */ - Money = 1, - /** 等級 */ - Level = 2, - /** 卡片 */ - Card = 5, - /** 卡片優惠券 */ - Card_Coupon = 101, - /** 來亨卷 */ - LpPoint = 102, -} diff --git a/src/define/Request/BackpackRequest.ts b/src/define/Request/BackpackRequest.ts deleted file mode 100644 index 0c0c419..0000000 --- a/src/define/Request/BackpackRequest.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { ResourceItemType } from "@/Common/ResourceItem/ResourceItemType"; -import { NetRequest } from "../../Engine/CatanEngine/NetManagerV2/NetRequest"; -import { ItemInfo } from "../backpack/itemInfo"; - -export type ResponseBackpackInfo = [ - ResourceType: ResourceItemType, - itemInfo: ItemInfo, -]; - -/** 背包內容 */ -export class BackpackInfo extends NetRequest { - get Method(): string { - return "backpack.info"; - } - constructor() { - super(); - } -} \ No newline at end of file diff --git a/src/define/Request/DlygoRequest.ts b/src/define/Request/DlygoRequest.ts deleted file mode 100644 index a139ca1..0000000 --- a/src/define/Request/DlygoRequest.ts +++ /dev/null @@ -1,219 +0,0 @@ -import { NetRequest } from "../../Engine/CatanEngine/NetManagerV2/NetRequest"; -import { ResourceInfo } from "../resource"; - -/** - * @link dlygo(得來購) https://docs.google.com/spreadsheets/d/1bm1FwHyY2X7JGkCqSeCUoZAgaMcT7fUB7K4SiDtkyig - */ - -// #region Request - -export type RpcDlygoListRequest = { t: DlygoMainType } -export type RpcDlygoListResponse = TDlygoList[] - -/** 商品清單 */ -export class DlygoListRequest extends NetRequest { - get Method(): string { - return "dlygo.list"; - } - constructor(type: DlygoMainType) { - super(); - this.Data = { - t: type - }; - } -} - -export type RpcDlygoSNRequest = { i: number; } -export type RpcDlygoSNResponse = TDlygoSN - -/** 商品明細 */ -export class DlygoSNRequest extends NetRequest { - get Method(): string { - return "dlygo.sn"; - } - constructor(id: number) { - super(); - this.Data = { - i: id - }; - } -} - -export type RpcDlygoRedeemRequest = { i: number; p: number; } -export type RpcDlygoRedeemResponse = TDlygoRedeem - -/** 商品兌換 */ -export class DlygoRedeemRequest extends NetRequest { - get Method(): string { - return "dlygo.redeem"; - } - constructor(id: number, p: number) { - super(); - this.Data = { - i: id, - p: p - }; - } -} - -export type RpcDlygoExchangeRequest = RpcDlygoSNRequest -export type RpcDlygoExchangeResponse = TDlygoExchange - -/** 金幣兌換 */ -export class DlygoExchangeRequest extends NetRequest { - get Method(): string { - return "dlygo.exchange"; - } - constructor(id: number) { - super(); - this.Data = { - i: id - }; - } -} - -export type RpcDlygoLogRequest = { - /** - * @param u true: 使用時間, - * @param u false: 領獎時間, - */ - u: boolean; -} -export type RpcDlygoLogResponse = TDlygoLog[] - -/** 商品記錄 */ -export class DlygoLogRequest extends NetRequest { - get Method(): string { - return "dlygo.log"; - } - constructor(u: boolean) { - super(); - this.Data = { - u: u - }; - } -} - -export type RpcDlygoUsedRequest = [productId: number, productSerialNumber: string] -export type RpcDlygoUsedResponse = TDlygoUsed - -/** 商品使用 */ -export class DlygoUsedRequest extends NetRequest { - get Method(): string { - return "dlygo.used"; - } - constructor(arg: RpcDlygoUsedRequest[]) { - super(); - this.Data = arg; - } -} - -// #endregion - -// #region Type - -export type TDlygoItem = [ - dataType: DlygoDataType, - productId: number, - productName: string, - productDisplayName: string, - productSerialNumber: string, - expiryDate: number, - prizeRedemptionTime: number, -] - -export type TDlygoList = [ - id: number, - name: string, - price: number, - discountPrice: number, - tag: DlygoTag, - remainQuantity: number, - dayLimitAmount: number, -]; - -export type TDlygoSN = { - /** 本日已兌換數量 */ - q: number, - - /** 說明1 */ - c1: string, - - /** 說明2 */ - c2: string, -} - -export type TDlygoRedeem = [TDlygoItem, ResourceInfo[]] - -export type TDlygoExchange = [TDlygoItem, ResourceInfo[]] - -export type TDlygoLog = [ - dataType: DlygoDataType, - productId: number, - productName: string, - productDisplayName: string, - productSerialNumber: string, - expiryDate: number, - time: number, -] - -export type TDlygoUsed = { - /** 使用時間 */ - t: number, -} - -// #endregion - -// #region Server Error Enum - -export enum DlygoRedeemStatus { - NotEnough = 11, - NoMoney = 12, - ExceededDailyLimit = 13, - DBError = 14, - PriceUpdated = 15, -} - -export enum DlygoExchangeStatus { - NoMoney = 11, - DBError = 12, -} - -export enum DlygoUsedStatus { - DBError = 11, -} - -// #endregion - -// #region Enum - -export enum DlygoMainType { - /** 點子點數 */ - Point = 1, - /** 精緻餐飲 */ - Food = 2, - /** 超商禮券 */ - Seven = 3, - /** 生活百貨 */ - Shop = 4, - /** 其他品項 */ - Other = 5, - /** Coin */ - Coin = 99 -} - -export enum DlygoDataType { - /** 商品 */ - Product = 1, - /** 金幣 */ - Coin = 2, -} - -export enum DlygoTag { - None, - New, - Popular, - SpecialOffer, -} - -// #endregion \ No newline at end of file diff --git a/src/define/Request/GameRequest.ts b/src/define/Request/GameRequest.ts index 80a3e68..1f102f8 100644 --- a/src/define/Request/GameRequest.ts +++ b/src/define/Request/GameRequest.ts @@ -1,4 +1,3 @@ -import { ResourceItemType } from "@/Common/ResourceItem/ResourceItemType"; import { NetRequest } from "@/Engine/CatanEngine/NetManagerV2/NetRequest"; // #region Request @@ -41,22 +40,4 @@ export class GameLeaveRequest extends NetRequest { - get Method(): string { - return "game.share_reward"; - } - - constructor() { - super(); - } -} - -// #endregion - -// #region Type - -export type TGameShareReward = [ResourceType: ResourceItemType, Count: number] - // #endregion \ No newline at end of file diff --git a/src/define/Request/TaskRequest.ts b/src/define/Request/TaskRequest.ts deleted file mode 100644 index 1392bf4..0000000 --- a/src/define/Request/TaskRequest.ts +++ /dev/null @@ -1,90 +0,0 @@ -import { ResourceInfo } from "@/define/resource"; -import { NetRequest } from "@/Engine/CatanEngine/NetManagerV2/NetRequest"; - -// #region Request - -export type RpcTaskInfoRequest = null -export type RpcTaskInfoResponse = TaskInfo[] -export class TaskInfoRequest extends NetRequest { - constructor() { - super(); - } - - get Method(): string { - return "task.info"; - } -} - -export type RpcTaskLogRequest = null -export type RpcTaskLogResponse = TaskInfo[] -export class TaskLogRequest extends NetRequest { - constructor() { - super(); - } - - get Method(): string { - return "task.log"; - } -} - -export type RpcTaskProcessRequest = { - act: number; - id: TaskAction; -}; -export type RpcTaskProcessResponse = TaskInfo | null | ResourceInfo[] -export class TaskProcessRequest extends NetRequest { - constructor(act: TaskAction, id: number) { - super(); - this.Data = { - act, - id - }; - } - - get Method(): string { - return "task.process"; - } -} - -// #endregion - -// #region Type - -export type TaskInfo = [ - taskType: TaskType, - taskID: number, - taskProgress: number[], - dailyTaskStatus: DailyTaskStatus[], - receiveTaskTime: number, - taskStatus: TaskStatus | undefined -]; - -// #endregion - -// #region Enum - -export enum TaskType { - Normal = 1, - Advance -} - -export enum DailyTaskStatus { - NotYetStarted, - Success, - Failure, - InProgress -} - -export enum TaskStatus { - Completed = 1, - Failure, - GiveUp, - InProgress -} -export enum TaskAction { - TakeTask, - GiveUp, - Complete -} - -// #endregion diff --git a/src/define/Request/TxnRequest.ts b/src/define/Request/TxnRequest.ts deleted file mode 100644 index 5478764..0000000 --- a/src/define/Request/TxnRequest.ts +++ /dev/null @@ -1,413 +0,0 @@ -import { ResourceItemType } from "@/Common/ResourceItem/ResourceItemType"; -import { NetRequest } from "../../Engine/CatanEngine/NetManagerV2/NetRequest"; - -export namespace TxnRequest { - /**贈禮資訊 */ - export type TxnInfo = [ - serialNum: number, - time: number, - giver: [aId: number, nickName: string], - receiver: [aId: number, nickName: string], - status: string, - fee: number, - goodsInfo: GoodsInfo[], - ]; - /**物品資訊 */ - export type GoodsInfo = [ - itemType: ResourceItemType, - id: number, - count: number - ]; - /**凍結資訊 */ - export type FrozenInfo = [ - time: number, - type: StoredValueType, - amount: number, - ]; - /**儲值類型(凍結類別) */ - export enum StoredValueType { - StoredValue = 1, // wait for notifications on web functions - StoredValueBonus, - RewardsSharing, - PackageSerialNumber, - BindingRewards, - InitialGoldCoins, - FortuneGold, - Family, - Backpack, - LineFriend - } - /**贈禮狀態 */ - export enum Status { - Applying = 0, - GiverGift = 1, - Authentication = 2, - Receive = 3, - Cancel = 11, - Reject = 12, - Timeout = 13, - Done = 21, - CancelComplete = 22, - RefuseComplete = 23, - TimeoutComplete = 24, - Unknown = 25, - } - /**常用名單玩家資訊 */ - export type PlayerInfo = [ - aId: number, - nickName: string, - vip: number, - /**上線狀態(0: 離線, 1: 在線) */ - onlineStatus: 0 | 1, - ]; - /**個人贈禮可使用額度 */ - export interface UsageQuotaSelf { - /**可送數量 */ - msm: number; - /**可送額度 */ - sm: number; - /**可送次數 */ - sc: number; - /**凍結總額 */ - fm: number; - } - // ======================================================================================= - /**贈禮中心 */ - export class Center extends NetRequest { - get Method(): string { - return "txn.center"; - } - constructor() { - super(); - } - } - // ======================================================================================= - /**個人贈禮資訊 */ - export class GetInfoSelf extends NetRequest { - get Method(): string { - return "txn.info"; - } - constructor() { - super(); - } - } - // ======================================================================================= - enum GetFrozenInfoError { - PhoneNotBound = 11, - GiftGivingPunishment, - GettingGiftInfoError, - StatusError, - OTPRequestTimeTooShort, - OTPSendingFailed, - } - /**凍結資訊 */ - export class GetFrozenInfo extends NetRequest { - get Method(): string { - return "txn.frozen"; - } - constructor() { - super(); - } - } - // ======================================================================================= - enum CreateNewError { - giftGivingPunishment = 11, - UnboundMobilePhone, - Unloaded, - TargetNotExist, - OnTargetGiftPenalty, - TargetVIPLevel, - TargetAIDError, - AimIsPlayerItsSelf, - ExceededNumbersOfGifts, - GiftItems_resource, - GiftItems_json_resource, - MoneyMistakes, - InsufficientAmount, - ExceedingAvailableGiftAmount, - BuildFailed, - FailedGettingTargetCache, - } - interface CreateNewRequest { - a?: number; - n?: string; - i: GoodsInfo[]; - f?: CreateNewFlagType; - } - export enum CreateNewFlagType { - /**新增常用名單 */ - AddFrequentlyUsedList, - } - /**建立贈禮 */ - export class CreateNew extends NetRequest { - get Method(): string { - return "txn.new"; - } - constructor(name: string, i: GoodsInfo[], flag?: CreateNewFlagType) { - super(); - this.Data = { - n: name, - i: i, - f: flag - }; - } - } - // ======================================================================================= - interface TradeRequest { - /**流水號 */ - id: number; - /**操作類型 */ - t: TradeOperationType; - /**密碼 */ - c?: string; - } - /**贈禮操作類型 */ - export enum TradeOperationType { - /**同意(收禮方) */ - Agree_Receiver = 1, - /**認證(贈禮方) */ - Authentication_Giver, - /**取得(收禮方) */ - Obtain_Receiver, - /**取回(贈禮方) */ - Retrieve_Giver, - /**取消(贈禮方) */ - Cancellation_Giver, - /**拒絕(收禮方) */ - Reject_Receiver, - } - export interface TradeResponse { - id: number; - s: Status; - p: GoodsInfo[]; - } - export enum TradeError { - TargetGiftInPenalty = 11, - GiftInPenalty, - GiftNotExist, - OperationError, - WrongPassword, - } - /**贈禮操作 */ - export class Trade extends NetRequest { - get Method(): string { - return "txn.trade"; - } - constructor(txn: number, type: TradeOperationType, c?: string) { - super(); - this.Data = { - id: txn, - t: type, - c: c, - }; - } - } - // ======================================================================================= - /**贈禮常用名單 */ - export class GetUserList extends NetRequest { - get Method(): string { - return "txn.user_list"; - } - constructor() { - super(); - } - } - // ======================================================================================= - export type UserAddResponse = { - u: PlayerInfo; - /* - * 移除的玩家AID - * */ - r?: number; - }; - export enum UserAddError { - TargetIsUserItsSelf = 11, - TargetHasAlreadyBeenExist, - VIPLevel, - TargetNotExist, - } - /**增加常用名單 */ - export class UserAdd extends NetRequest<{ n: string }, UserAddResponse> { - get Method(): string { - return "txn.user_add"; - } - constructor(nickName: string) { - super(); - this.Data = { - n: nickName - }; - } - } - // ======================================================================================= - export enum UserDelError { - TargetIsUserItsSelf = 11, - TargetHasNotExist, - } - /**移除常用名單 */ - export class UserDel extends NetRequest<{ a: number }, null> { - get Method(): string { - return "txn.user_del"; - } - constructor(aid: number) { - super(); - this.Data = { - a: aid - }; - } - } - // ======================================================================================= - interface AuthCodeResquest { - id: number - } - export interface AuthCodeResponse { - t: number; - c: string; - } - export enum CodeError { - PhoneNotBound = 11, - GiftGivingPunishment, - GettingGiftInfoError, - StatusError, - OTPRequestTimeTooShort, - OTPSendingFailed, - } - /**請SERVER發送贈禮的簡訊OPT認證碼(未設定贈禮密碼) */ - export class AuthCode extends NetRequest { - get Method(): string { - return "txn.code"; - } - constructor(txn: number) { - super(); - this.Data = { - id: txn, - }; - } - } - // ======================================================================================= - export enum SetPassWordError { - PasswordHasBeenSet = 11, - PhoneNotBound, - OTPError, - } - /**設定贈禮密碼(簡訊OTP驗證建立新密碼) */ - export class SetPassWord extends NetRequest<{ pw: string; c: string; }, null> { - get Method(): string { - return "txn.pw"; - } - constructor(pw: string, c: string) { - super(); - this.Data = { - pw: pw, - c: c - }; - } - } - // ======================================================================================= - enum ChangePassWordError { - PasswordNotSet = 11, - PhoneNotBound, - WrongPasswordFormat, - PasswordAuthenticationFailed, - } - /**變更贈禮密碼 */ - export class ChangePassWord extends NetRequest<{ opw: string; pw: string; }, null> { - get Method(): string { - return "txn.pw_change"; - } - constructor(opw: string, pw: string) { - super(); - this.Data = { - opw: opw, - pw: pw - }; - } - } - // ======================================================================================= - export enum GiftForgotError { - PasswordHasNotBeenSetYet = 11, - PhoneNotBound, - OTPError, - } - /**忘記密碼(簡訊OTP驗證建立新密碼) */ - export class GiftForgot extends NetRequest<{ pw: string; c: string; }, null> { - get Method(): string { - return "txn.pw_fg"; - } - constructor(pw: string, c: string) { - super(); - this.Data = { - pw: pw, - c: c - }; - } - } - - // ======================================================================================= - interface GetPassWordResponse { - t: number; - c: string; - } - export enum GetPassWordError { - PasswordHasBeenSet = 11, - PhoneNotBound, - OTPRequestTimeTooShort, - OTPSendingFailed, - } - /**取得贈禮密碼OTP */ - export class GetPassWord extends NetRequest { - get Method(): string { - return "txn.pw_code"; - } - constructor() { - super(); - } - } - // ======================================================================================= - interface GetForgotPassWordResponse { - t: number; - c: string; - } - export enum GetForgotPassWordError { - PasswordHasNotBeenSetYet = 11, - PhoneNotBound, - OTPRequestTimeTooShort, - OTPSendingFailed, - } - /**取得贈禮忘記密碼OTP */ - export class GetForgotPassWord extends NetRequest { - get Method(): string { - return "txn.pw_fg_code"; - } - constructor() { - super(); - } - } - // ======================================================================================= - /**贈禮紀錄 */ - export class Record extends NetRequest { - get Method(): string { - return "txn.record"; - } - constructor() { - super(); - } - } - // ======================================================================================= - enum GetListError { - NotExist = 11, - } - /**取得贈禮品項 */ - export class GetTxnList extends NetRequest<{ t: number[] }, TxnInfo[]> { - get Method(): string { - return "txn.get"; - } - constructor(txn: number[]) { - super(); - this.Data = { - t: txn, - }; - } - } - - // ======================================================================================= -} \ No newline at end of file diff --git a/src/utils/catan.ts b/src/utils/catan.ts index 1d51471..ab74332 100644 --- a/src/utils/catan.ts +++ b/src/utils/catan.ts @@ -45,4 +45,5 @@ namespace cc { export function error(msg: string | any, ...subst: any[]): void { console.error(msg, ...subst); } -} \ No newline at end of file +} +// export {}; \ No newline at end of file diff --git a/src/utils/iframeUtils.ts b/src/utils/iframeUtils.ts deleted file mode 100644 index 3809ce7..0000000 --- a/src/utils/iframeUtils.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { CSSProperties } from "react"; -import { sleep } from "."; - -/** - * 動態創建iframe - * @param parent 容器節點 - * @param url 遊戲網址 - * @param style CSSProperties - */ -export function createIframe(parent: string, url: string, style?: CSSProperties): HTMLIFrameElement { - const iframe: HTMLIFrameElement = document.createElement("iframe"); - iframe.src = url; - iframe.frameBorder = "0"; - iframe.scrolling = "0"; - for (let i: number = 0, keys: string[] = Object.keys(style); i < keys.length; i++) { - const key: string = keys[i]; - iframe.style[key] = style[key]; - } - document.getElementById(parent).appendChild(iframe); - return iframe; -} - -/** - * 銷毀 iframe - * @param parent 容器節點 - */ -export async function destroyIframe(parent: string) { - const iframeContent: HTMLElement = document.getElementById(parent); - for (let i = 0; i < iframeContent.children.length; i++) { - const iframeNode: HTMLIFrameElement = iframeContent.children[i] as HTMLIFrameElement; - try { - iframeNode.src = "about:blank"; - await sleep(10); - const iframeWindow = iframeNode.contentWindow; - iframeWindow.document.open(); - iframeWindow.document.write(""); - iframeWindow.document.clear && iframeWindow.document.clear(); - iframeWindow.document.close(); - } catch (error) { - console.warn(error); - } - iframeNode.remove(); - iframeNode.parentNode && iframeContent.removeChild(iframeNode); - // Cocos.CocosEventListener.RemoveAllCallbacks(); - // await sleep(2000); - } -} \ No newline at end of file