0a3cee0e-d616-496c-ac8f-17c583b5ee07.js.map 13.3 KB
{"version":3,"sources":["assets/script/game/model/GameRoleDataModel.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { DeepReadonlyObject } from \"simba-utils\";\r\nimport { IRole } from \"../../config/Role\";\r\nimport { GameRecord } from \"../../avg/game-data/GameRecord\";\r\nimport { GameModelManager } from \"./GameModelManager\";\r\nimport { ConfigManager } from \"../../common/gameplay/managers/ConfigManager\";\r\nimport { itemConfig } from \"../../config/ItemConfig\";\r\nimport { relationLevelConfig } from \"../../config/RelationLevelConfig\";\r\nimport { FaceType } from \"../../avg/EditorEnums\";\r\n\r\nexport default class GameRoleDataModel {\r\n    private _cfg: DeepReadonlyObject<IRole> = undefined as unknown as DeepReadonlyObject<IRole>;\r\n    private _goldcoin: number = 0;//金币\r\n    private _clothcoin: number = 0;//服装币\r\n    private _skins: number[] = [];\r\n    private _curSkin: number = -1;\r\n    private _skinMaps: Set<number> = new Set<number>();\r\n    private _roleName: string = \"\";\r\n    private _energyValue: number = 0;//灵力值\r\n\r\n    private _itemMaps: Map<number, number> = new Map<number, number>();\r\n\r\n    public setConfig(cfg: DeepReadonlyObject<IRole>) {\r\n        this._cfg = cfg;\r\n        this.initDate();\r\n    }\r\n\r\n    public getConfig() {\r\n        return this._cfg;\r\n    }\r\n\r\n    initDate() {\r\n        this.initSkin();\r\n        this.initCoin();\r\n        this.initData();\r\n    }\r\n\r\n    hasSkin(id: number) {\r\n        return this._skinMaps.has(id);\r\n    }\r\n\r\n    getRoleLike() {\r\n        return GameRecord.globalVariables[\"like\" + this._cfg.id] + GameRecord.recordVariables[\"like\" + this._cfg.id];\r\n    }\r\n\r\n    getPortrait(face = FaceType.Normal, skin?: number) { // TODO 默认皮肤更改?\r\n        if (skin === undefined && this._curSkin > 0) skin = this._curSkin;\r\n        return \"textures/portrait/\" + this._cfg.id + \"/\" + (skin !== undefined ? skin + \"/\" : \"\") + face;\r\n    }\r\n\r\n    getBust(skin?: number) {\r\n        if (skin === undefined && this._curSkin > 0) skin = this._curSkin;\r\n        let ret = \"textures/bust/\" + this._cfg.id;\r\n        if (skin) {\r\n            ret += skin;\r\n        }\r\n        return ret;\r\n    }\r\n\r\n    getHeadIcon(small = false) {\r\n        let ret = \"textures/head_icon/\" + (small ? \"small/\" : \"large/\") + this._cfg.id;\r\n        if (this._curSkin > 0) {\r\n            ret += \"_\" + this._curSkin;\r\n        }\r\n        return ret;\r\n    }\r\n\r\n    getRoleLikeLevel() {\r\n        let configs = ConfigManager.getAllConfig(relationLevelConfig);\r\n        let level = 0;\r\n        let like = this.getRoleLike();\r\n        const maxLevel = Object.keys(configs).length;\r\n        let levelValue = 0;\r\n        for (let id = 1; id <= maxLevel; id++) {\r\n            levelValue = configs[id].relation_value;\r\n            if (like >= levelValue) {\r\n                like -= levelValue;\r\n                level = id;\r\n            } else {\r\n                break;\r\n            }\r\n        }\r\n        return { level, currLike: like, nextLevelLike: levelValue, maxLevel };\r\n    }\r\n\r\n    addSkin(id: number) {\r\n        this._skinMaps.add(id);\r\n        let skinsstr = \"\";\r\n        let index = 0;\r\n        for (let value of this._skinMaps) {\r\n            skinsstr += value;\r\n            if (index != this._skinMaps.size - 1) {\r\n                skinsstr += \",\";\r\n            }\r\n            ++index;\r\n        }\r\n\r\n        GameRecord.globalVariables[\"skins_\" + this._cfg.id + \"_skins\"] = skinsstr;\r\n        GameRecord.autoSave();\r\n    }\r\n\r\n    initSkin() {\r\n        let curSkin = GameRecord.globalVariables[\"curskin_\" + this._cfg.id + \"_skin\"];\r\n        this._curSkin = curSkin === undefined ? this._cfg['drawing'] : curSkin;\r\n\r\n        let skins = GameRecord.globalVariables[\"skins_\" + this._cfg.id + \"_skins\"] as string;\r\n        skins = skins === undefined ? \"\" : skins;\r\n        let skinSpilt = skins.split(\",\");\r\n        for (let index = 0; index < skinSpilt.length; ++index) {\r\n            this._skinMaps.add(parseInt(skinSpilt[index]));\r\n        }\r\n    }\r\n\r\n    initCoin() {\r\n        let goldcoin = GameRecord.globalVariables[\"goldcoin_\" + this._cfg.id + \"_num\"] as number;\r\n        this._goldcoin = goldcoin === undefined ? 0 : goldcoin;\r\n        let clothcoin = GameRecord.globalVariables[\"clothcoin_\" + this._cfg.id + \"_num\"] as number;\r\n        this._clothcoin = clothcoin === undefined ? 0 : clothcoin;\r\n    }\r\n\r\n    initData() {\r\n        this._itemMaps.clear();\r\n        let props = GameModelManager.getItemConfigs();\r\n        for (let key in props) {\r\n            let value = props[key];\r\n            let recordNum = GameRecord.globalVariables[\"prop_\" + this._cfg.id + value.id + \"_num\"] as number;\r\n            recordNum = recordNum === undefined ? 0 : recordNum;\r\n            this._itemMaps.set(value.id, recordNum);\r\n        }\r\n\r\n        this._energyValue = GameRecord.globalVariables[\"energy_\" + this._cfg.id];\r\n        this._energyValue = this._energyValue === undefined ? 0 : this._energyValue;\r\n    }\r\n\r\n    public getProps(id: number) {\r\n        return this._itemMaps.get(id);\r\n    }\r\n\r\n    public addProps(id: number, num: number) {\r\n        let value = this._itemMaps.get(id) as number;\r\n        value += num;\r\n        value = Math.max(0, value);\r\n        this._itemMaps.set(id, value);\r\n        GameRecord.globalVariables[\"prop_\" + this._cfg.id + \"\" + id + \"_num\"] = value;\r\n        GameRecord.autoSave();\r\n    }\r\n\r\n    public getEnergy(isceil: boolean = true): number {\r\n        if (isceil) {\r\n            return Math.ceil(this._energyValue);\r\n        }\r\n        return this._energyValue;\r\n    }\r\n\r\n    public addEnergy(value: number) {\r\n        let max = 100;\r\n        let min = 0;\r\n        this._energyValue += value;\r\n        this._energyValue = Math.max(min, this._energyValue);\r\n        this._energyValue = Math.min(max, this._energyValue);\r\n        GameRecord.globalVariables[\"energy_\" + this._cfg.id] = this._energyValue;\r\n        GameRecord.autoSave();\r\n    }\r\n\r\n    public getGoldCoin(): number {\r\n        return this._goldcoin;\r\n    }\r\n\r\n    public addGoldCoin(addvalue: number) {\r\n        this._goldcoin += addvalue;\r\n        GameRecord.globalVariables[\"goldcoin_\" + this._cfg.id + \"_num\"] = this._goldcoin;\r\n        GameRecord.autoSave();\r\n    }\r\n\r\n    public getClothCoin() {\r\n        return this._clothcoin;\r\n        //return 10000;\r\n    }\r\n\r\n    public addClothCoin(addvalue: number) {\r\n        this._clothcoin += addvalue;\r\n\r\n        GameRecord.globalVariables[\"clothcoin_\" + this._cfg.id + \"_num\"] = this._clothcoin;\r\n        GameRecord.autoSave();\r\n    }\r\n\r\n    public getRoleName() {\r\n        if (!this._roleName || this._roleName === \"\") {\r\n            return this._cfg.name;\r\n        } else {\r\n            return this._roleName;\r\n        }\r\n    }\r\n\r\n    public setRoleName(name: string) {\r\n        this._roleName = name;\r\n    }\r\n\r\n}"]}