提交锻造装备

This commit is contained in:
PC-20230316NUNE\Administrator
2024-01-09 18:32:21 +08:00
parent 61767ea93f
commit 14f1059337
36 changed files with 4461 additions and 1280 deletions

View File

@@ -0,0 +1,9 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "a0d20e14-a205-48d3-95dd-f71e12fa8c90",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "c812a98a-a4a0-4532-9e20-0ef06f3e7dfd",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -0,0 +1,46 @@
import { _decorator, Component, Node } from 'cc';
import { PetEquip } from '../../../../consts/API';
import { Sprite } from 'cc';
import TbResource, { IconTypeEnum } from '../../../../tools/TbResource';
import { TD } from '../../../../App';
const { ccclass, property } = _decorator;
@ccclass('PetEquipIcon')
export class PetEquipIcon extends Component {
@property(Sprite)
sprite:Sprite;
@property(Sprite)
quality:Sprite;
@property(Node)
notEquip:Node;
info:PetEquip;
onLoad(){
this.onUpdateView();
}
//刷新页面
onUpdateView(){
this.notEquip.active = true;
if(!this.info) return;
this.notEquip.active = false;
let config = TD.TbGRoleEquip.get(this.info.equipCfgId);
TbResource.loadSpriteIcon(IconTypeEnum.,config.icon,this.sprite,this);
TbResource.loadSpriteIcon(IconTypeEnum.,config.quality,this.quality,this);
}
//设置icon
set(info:PetEquip){
this.info = info;
this.onUpdateView();
}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "1f9cc690-e93d-4bf5-9f20-57b3e6260078",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -0,0 +1,18 @@
import { _decorator, Component, Node } from 'cc';
import JNScrollViewItem from '../../../../../../extensions/ngame/assets/ngame/util/components/scrollview/JNScrollViewItem';
import { PetEquipIcon } from './PetEquipIcon';
import { PetEquip } from '../../../../consts/API';
const { ccclass, property } = _decorator;
@ccclass('PetEquipIconScroll')
export class PetEquipIconScroll extends JNScrollViewItem<PetEquip> {
@property(PetEquipIcon)
equip:PetEquipIcon;
protected start(): void {
this.equip.set(this.data);
}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "b40b93a6-3413-486c-9c11-999a1ebd13dc",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "ea6ccaca-bcbf-429f-ba9d-1de28ad6bef1",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -0,0 +1,40 @@
import { sp } from 'cc';
import { _decorator, Component, Node } from 'cc';
import { app } from '../../../../App';
import { UIPetAnim } from '../../../../consts/GData';
import { TB } from '../../../../config/data/schema';
import TbResource, { IconTypeEnum } from '../../../../tools/TbResource';
import { Sprite } from 'cc';
const { ccclass, property } = _decorator;
@ccclass('TablePetEquipIcon')
export class TablePetEquipIcon extends Component {
@property(Sprite)
sprite:Sprite;
@property(Sprite)
quality:Sprite;
info:TB.TbGRoleEquip;
onLoad(){
this.onUpdateView();
}
//刷新页面
onUpdateView(){
TbResource.loadSpriteIcon(IconTypeEnum.,this.info.icon,this.sprite,this);
TbResource.loadSpriteIcon(IconTypeEnum.,this.info.quality,this.quality,this);
}
//设置icon
set(info:TB.TbGRoleEquip){
this.info = info;
this.onUpdateView();
}
}

View File

@@ -0,0 +1 @@
{"ver":"4.0.23","importer":"typescript","imported":true,"uuid":"2e44b1ff-825e-49f4-b810-ea7a722d9d14","files":[],"subMetas":{},"userData":{}}

View File

@@ -5,6 +5,7 @@ import { GUI } from '../../UIConfig';
import { API, PlayerPetOV } from '../../../consts/API';
import { PetIconSelectShow } from '../../Consts/Pet/PetIconSelectShow';
import PlayerPetData from '../../../data/PlayerPetData';
import { PetEquipIcon } from '../../Consts/PetEquip/icon/PetEquipIcon';
const { ccclass, property } = _decorator;
@@ -16,25 +17,41 @@ export class MainForgingBench extends Component {
@property(PetIconSelectShow)
petView:PetIconSelectShow;
//装备列表
@property(Node)
equips:Node;
onLoad(){
this.onUpdateView();
//监听锻造数据
app.event.on(PetEquipDataEnum.UPDATE_FORGING_INFO,this.onUpdateForging,this);
app.event.on(PetEquipDataEnum.UPDATE_EQUIP,this.onUpdateEquip,this);
this.onUpdateView();
}
protected onDestroy(): void {
app.event.off(PetEquipDataEnum.UPDATE_FORGING_INFO,this.onUpdateForging,this);
app.event.off(PetEquipDataEnum.UPDATE_EQUIP,this.onUpdateEquip,this);
}
onUpdateView(){
this.onUpdateForging();
this.onUpdateEquip();
}
//刷新装备
onUpdateEquip(){
this.equips.getComponentsInChildren(PetEquipIcon).forEach((equip,index) => {
equip.set(PetEquipData.getIns().getPetEquip(index + 1));
})
}
//刷新锻造数据
onUpdateForging(){
console.log("刷新锻造数据",PlayerPetData.getIns().petIdQueryPetInfo(PetEquipData.getIns().info.forgingPetId));
this.petView.set(PlayerPetData.getIns().petIdQueryPetInfo(PetEquipData.getIns().info.forgingPetId));
}

View File

@@ -110,6 +110,11 @@ export class MainView extends JNGLayerBase {
app.layer.Open(GUI.Debugger);
}
//打开宠物装备
onClickPetEquip(){
app.layer.Open(GUI.PetEquipView);
}
//点击下一关
async onClickNextLevel(){
GOnHookManager.getIns().onNextLevel();

View File

@@ -6,7 +6,9 @@ import { resources } from 'cc';
import { SpriteFrame } from 'cc';
import TbResource, { IconTypeEnum } from '../../tools/TbResource';
import { TB } from '../../config/data/schema';
import { TD } from '../../App';
import { app, TD } from '../../App';
import { TablePetEquipIcon } from '../Consts/PetEquip/table/TablePetEquipIcon';
import PetEquipData from '../../data/PetEquipData';
const { ccclass, property } = _decorator;
//弹出锻造装备页面
@@ -14,18 +16,31 @@ const { ccclass, property } = _decorator;
export class PetEquipForgingPopupView extends JNLayerBase {
//装备展示
@property(Sprite)
icon:Sprite;
@property(TablePetEquipIcon)
icon:TablePetEquipIcon;
info:PetEquip;
onJNLoad(info:PetEquip){
super.onJNLoad(info);
let config = TD.TbGRoleEquip.get(info.equipCfgId);
TbResource.loadSpriteIcon(IconTypeEnum.,config.icon,this.icon,this);
this.info = info;
this.onUpdateView();
}
onUpdateView(){
let config = TD.TbGRoleEquip.get(this.info.equipCfgId);
this.icon.set(config);
}
//点击穿戴装备
async onClickWear(){
await PetEquipData.getIns().wear(this.info);
app.layer.CloseNode(this.node);
}
}

View File

@@ -0,0 +1,32 @@
import { _decorator, Component, Node } from 'cc';
import JNLayerBase from '../../../../extensions/ngame/assets/ngame/ui/base/JNLayerBase';
import JNScrollView from '../../../../extensions/ngame/assets/ngame/util/components/scrollview/JNScrollView';
import PetEquipData from '../../data/PetEquipData';
const { ccclass, property } = _decorator;
@ccclass('PetEquipView')
export class PetEquipView extends JNLayerBase {
//装备列表
@property(JNScrollView)
list:JNScrollView
onJNLoad(data?: any): void {
super.onJNLoad(data);
}
onJNLoadAnimEnd(): void {
console.log("onJNLoadAnimEnd");
super.onJNLoadAnimEnd();
this.onUpdateView();
}
onUpdateView(){
this.list.refreshData(PetEquipData.getIns().equips);
}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "810896a7-3d3c-4343-98a3-62a3ab77b732",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -30,6 +30,7 @@ export enum GUI{
PetUpStarView = "PetUpStarView", //宠物升星页面
PetRadioView = "PetRadioView", //宠物单选页面
PetEquipForgingPopupView = "PetEquipForgingPopupView", //弹出锻造宠物装备页面
PetEquipView = "PetEquipView", //宠物装备页面
/**游戏模式页面 */
@@ -128,6 +129,11 @@ const UIPetConfig:{ [key: string]: JNLayerInfo; } = {
uri: "prefab/ui/宠物装备/弹出锻造装备页面",
anims:BackOutScale,
},
[GUI.PetEquipView]:{
layer:GLayer.Popup,
uri: "prefab/ui/宠物装备/宠物装备背包页面",
anims:BackOutScale,
},
}