Compare commits
2 Commits
3dd72c13b4
...
bcef8fbc64
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bcef8fbc64 | ||
|
|
336d7d03db |
File diff suppressed because it is too large
Load Diff
@@ -286,7 +286,7 @@
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 666.634,
|
||||
"y": 706.696,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
@@ -356,7 +356,7 @@
|
||||
"_target": null,
|
||||
"_left": 0,
|
||||
"_right": 0,
|
||||
"_top": -27.134000000000015,
|
||||
"_top": -67.19600000000003,
|
||||
"_bottom": 0,
|
||||
"_horizontalCenter": 0,
|
||||
"_verticalCenter": 0,
|
||||
@@ -426,7 +426,7 @@
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 5,
|
||||
"y": 15,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
@@ -844,7 +844,7 @@
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": -255,
|
||||
"y": -245,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
@@ -945,7 +945,7 @@
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 720,
|
||||
"height": 990
|
||||
"height": 1010
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
@@ -1159,12 +1159,12 @@
|
||||
"height": 40
|
||||
},
|
||||
"_startAxis": 0,
|
||||
"_paddingLeft": 39.9,
|
||||
"_paddingRight": 40,
|
||||
"_paddingTop": 50,
|
||||
"_paddingLeft": 10,
|
||||
"_paddingRight": 10,
|
||||
"_paddingTop": 0,
|
||||
"_paddingBottom": 0,
|
||||
"_spacingX": 30,
|
||||
"_spacingY": 30,
|
||||
"_spacingX": 20,
|
||||
"_spacingY": 20,
|
||||
"_verticalDirection": 1,
|
||||
"_horizontalDirection": 0,
|
||||
"_constraint": 2,
|
||||
@@ -1218,7 +1218,7 @@
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 720,
|
||||
"height": 990
|
||||
"height": 1010
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
@@ -1292,7 +1292,7 @@
|
||||
"_target": null,
|
||||
"_left": 0,
|
||||
"_right": 0,
|
||||
"_top": 140,
|
||||
"_top": 120,
|
||||
"_bottom": 150,
|
||||
"_horizontalCenter": 0,
|
||||
"_verticalCenter": 0,
|
||||
@@ -1371,7 +1371,7 @@
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 540,
|
||||
"y": 632.047,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
@@ -1542,7 +1542,7 @@
|
||||
"__id__": 60
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_active": false,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 68
|
||||
@@ -1701,7 +1701,7 @@
|
||||
"__id__": 60
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_active": false,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 74
|
||||
@@ -1870,7 +1870,7 @@
|
||||
"__id__": 94
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_active": false,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 102
|
||||
@@ -2546,7 +2546,7 @@
|
||||
"__id__": 60
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_active": false,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 110
|
||||
@@ -2705,7 +2705,7 @@
|
||||
"__id__": 60
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_active": false,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 116
|
||||
@@ -2868,7 +2868,7 @@
|
||||
"__id__": 122
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_active": false,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 128
|
||||
@@ -3274,7 +3274,7 @@
|
||||
"_target": null,
|
||||
"_left": 0,
|
||||
"_right": 0,
|
||||
"_top": 0,
|
||||
"_top": -92.04700000000003,
|
||||
"_bottom": 0,
|
||||
"_horizontalCenter": 0,
|
||||
"_verticalCenter": 0,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { sys } from "cc";
|
||||
import { sys, resources, SpriteAtlas } from "cc";
|
||||
import { VM } from "../../../../extensions/oops-plugin-framework/assets/libs/model-view/ViewModel";
|
||||
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
||||
import { Initialize } from "../initialize/Initialize";
|
||||
@@ -39,6 +39,10 @@ export class SingletonModuleComp extends ecs.Comp {
|
||||
initialize: Initialize = null!;
|
||||
/** 游戏地图 */
|
||||
map: GameMap = null!;
|
||||
|
||||
/** 全局缓存的通用图集 */
|
||||
uiconsAtlas: SpriteAtlas | null = null;
|
||||
|
||||
openid:string=''
|
||||
mission:any={
|
||||
status:0, //0:未开始 1:进行中 2:胜利 3:失败
|
||||
@@ -282,6 +286,19 @@ export class SingletonModuleComp extends ecs.Comp {
|
||||
oops.message.dispatchEvent(GameEvent.GOLD_UPDATE)
|
||||
return true
|
||||
}
|
||||
|
||||
/**
|
||||
* 在游戏载入早期调用,预加载常用图集
|
||||
*/
|
||||
preloadCommonAssets() {
|
||||
resources.load("gui/uicons", SpriteAtlas, (err, atlas) => {
|
||||
if (!err && atlas) {
|
||||
this.uiconsAtlas = atlas;
|
||||
} else {
|
||||
mLogger.error(this.debugMode, 'SMC', "预加载 gui/uicons 图集失败:", err);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export var smc: SingletonModuleComp = ecs.getSingleton(SingletonModuleComp);
|
||||
|
||||
@@ -83,6 +83,8 @@ export class Initialize extends ecs.Entity {
|
||||
/** 加载公共资源(必备) */
|
||||
private loadCommon(queue: AsyncQueue) {
|
||||
queue.push((next: NextFunction, params: any, args: any) => {
|
||||
// 顺便在这里预加载 SMC 需要的公共图集
|
||||
smc.preloadCommonAssets();
|
||||
oops.res.loadDir("common", next);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -42,6 +42,8 @@ export class TalentItemComp extends CCComp {
|
||||
private _onClickCallback: ((talentId: TalentType, currentLevel: number) => void) | null = null;
|
||||
private _currentLevel: number = 0;
|
||||
|
||||
private _talentInfo: TalentInfo | null = null;
|
||||
|
||||
protected onLoad(): void {
|
||||
if (this.btn_upgrade && this.btn_upgrade.node) {
|
||||
this.btn_upgrade.node.on(Button.EventType.CLICK, this.onUpgradeClicked, this);
|
||||
@@ -55,6 +57,7 @@ export class TalentItemComp extends CCComp {
|
||||
* @param onClickCallback 点击升级按钮的回调
|
||||
*/
|
||||
public updateItem(talentInfo: TalentInfo, currentLevel: number, onClickCallback: (talentId: TalentType, currentLevel: number) => void) {
|
||||
this._talentInfo = talentInfo;
|
||||
this._talentId = talentInfo.id;
|
||||
this._currentLevel = currentLevel;
|
||||
this._onClickCallback = onClickCallback;
|
||||
@@ -63,16 +66,8 @@ export class TalentItemComp extends CCComp {
|
||||
this.lbl_name.string = talentInfo.name;
|
||||
}
|
||||
|
||||
if (this.icon_node && talentInfo.icon) {
|
||||
resources.load("gui/uicons", SpriteAtlas, (err, atlas) => {
|
||||
if (err || !atlas) return;
|
||||
const frame = atlas.getSpriteFrame(talentInfo.icon!);
|
||||
if (frame && this.icon_node && this.icon_node.isValid) {
|
||||
const sprite = this.icon_node.getComponent(Sprite) || this.icon_node.addComponent(Sprite);
|
||||
sprite.spriteFrame = frame;
|
||||
}
|
||||
});
|
||||
}
|
||||
// 同步尝试刷新一次图标(如果图集已经缓存过,比如重新打开界面时)
|
||||
this.refreshIcon();
|
||||
|
||||
if (this.lbl_desc) {
|
||||
let currentVal = currentLevel === 0 ? 0 : talentInfo.values[currentLevel - 1];
|
||||
@@ -96,6 +91,19 @@ export class TalentItemComp extends CCComp {
|
||||
}
|
||||
}
|
||||
|
||||
/** 单独更新图标,供父节点加载完图集后回调或自身更新时调用 */
|
||||
public refreshIcon() {
|
||||
if (!this._talentInfo || !this.icon_node || !this._talentInfo.icon) return;
|
||||
|
||||
if (smc.uiconsAtlas) {
|
||||
const frame = smc.uiconsAtlas.getSpriteFrame(this._talentInfo.icon);
|
||||
if (frame && this.icon_node.isValid) {
|
||||
const sprite = this.icon_node.getComponent(Sprite) || this.icon_node.addComponent(Sprite);
|
||||
sprite.spriteFrame = frame;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private onUpgradeClicked() {
|
||||
if (this._onClickCallback) {
|
||||
this._onClickCallback(this._talentId, this._currentLevel);
|
||||
|
||||
@@ -88,6 +88,7 @@ export class TalentsComp extends CCComp {
|
||||
}
|
||||
|
||||
onAdded(args: any) {
|
||||
// 直接刷新界面,因为图集已经在游戏启动时被 smc 预加载并缓存
|
||||
this.refreshUI();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user