mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-09-27 02:36:14 +00:00
提交锻造装备
This commit is contained in:
9
JisolGameCocos/assets/script/ui/Consts/PetEquip.meta
Normal file
9
JisolGameCocos/assets/script/ui/Consts/PetEquip.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "a0d20e14-a205-48d3-95dd-f71e12fa8c90",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "c812a98a-a4a0-4532-9e20-0ef06f3e7dfd",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "1f9cc690-e93d-4bf5-9f20-57b3e6260078",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "b40b93a6-3413-486c-9c11-999a1ebd13dc",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "ea6ccaca-bcbf-429f-ba9d-1de28ad6bef1",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1 @@
|
||||
{"ver":"4.0.23","importer":"typescript","imported":true,"uuid":"2e44b1ff-825e-49f4-b810-ea7a722d9d14","files":[],"subMetas":{},"userData":{}}
|
@@ -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));
|
||||
}
|
||||
|
||||
|
@@ -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();
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
32
JisolGameCocos/assets/script/ui/PetEquip/PetEquipView.ts
Normal file
32
JisolGameCocos/assets/script/ui/PetEquip/PetEquipView.ts
Normal 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);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "810896a7-3d3c-4343-98a3-62a3ab77b732",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
@@ -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,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user