xx 1 vuosi sitten
vanhempi
sitoutus
aa79d51ccd

+ 1 - 1
assets/data/data.ts

@@ -332,7 +332,7 @@ export class task_data{  //玩法===任务
 export class dai_dao_ju_item{
     public widget_id:number = -1; //控件id
     public is_in_bag:boolean = true; //是否默认在背包里
-    public info_res:string = ""; 
+    public info_res:bag_item_data = new bag_item_data; 
 }
 
 export class guo_ju_qing_dai_dao_ju{

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 567 - 174
assets/resources/prefab/run/game_run.prefab


+ 1 - 1
assets/resources/prefab/run/task/bag_drag_item.prefab

@@ -253,7 +253,7 @@
       "__id__": 1
     },
     "_children": [],
-    "_active": false,
+    "_active": true,
     "_components": [
       {
         "__id__": 11

+ 3 - 0
assets/resources/prefab/task/select_task_dai_dao_ju_item.prefab

@@ -1703,6 +1703,9 @@
     "toggle_is_in_bag": {
       "__id__": 16
     },
+    "btn_select_res": {
+      "__id__": 50
+    },
     "_id": ""
   },
   {

+ 15 - 2
assets/script/edit/task/select_task_dai_dao_ju_item.ts

@@ -1,8 +1,10 @@
-import { _decorator, Component, EditBox, Label, Node, Toggle } from 'cc';
-import { dai_dao_ju_item, widget_item_data } from '../../../data/data';
+import { _decorator, Component, EditBox, Label, Node, Sprite, Toggle } from 'cc';
+import { bag_item_data, dai_dao_ju_item, widget_item_data } from '../../../data/data';
 import { Attributes } from '../Attributes';
 import { tools } from '../../tools';
 import { config } from '../../config';
+import { gameManager } from '../../run/gameManager';
+import { control } from '../control';
 const { ccclass, property } = _decorator;
 
 @ccclass('select_task_dai_dao_ju_item')
@@ -11,6 +13,7 @@ export class select_task_dai_dao_ju_item extends Component {
     @property(Node) lab_select_widget:Node = null;
     @property(Node) btn_delete:Node = null;
     @property(Node) toggle_is_in_bag:Node = null;
+    @property(Node) btn_select_res:Node = null;
     protected m_call_back = null;
     protected m_data:dai_dao_ju_item = null;
     protected m_index:number = 0;
@@ -38,6 +41,13 @@ export class select_task_dai_dao_ju_item extends Component {
             this.m_data.is_in_bag = this.toggle_is_in_bag.getComponent(Toggle).isChecked;
         })
   
+        this.btn_select_res.on(Node.EventType.TOUCH_END,()=>{
+            tools.select_res_list((data:bag_item_data)=>{
+                this.m_data.info_res.url = data.url;
+                this.m_data.info_res.name = data.name;
+                this.updateShowStatus()
+            })
+        })
         this.updateShowStatus()
     }
 
@@ -46,6 +56,9 @@ export class select_task_dai_dao_ju_item extends Component {
     }
 
     updateShowStatus(){
+        if(this.m_data.info_res.name.length>0){
+            this.node.getComponent(Sprite).spriteFrame = control.res_map.get(this.m_data.info_res.name)
+        }
         this.toggle_is_in_bag.getComponent(Toggle).isChecked = this.m_data.is_in_bag;
         this.lab_select_widget.getComponent(Label).string = this.m_data.widget_id!=-1?`当前选择的控件:${this.m_data.widget_id}`:"选择控件"
     }

+ 0 - 1
assets/script/run/bag/bag_drag_item.ts

@@ -14,7 +14,6 @@ export class bag_drag_item extends Component {
     public initView(data:dai_dao_ju_item,widget_data:widget_item_data,call){
         let item = instantiate(this.drag_item_prefab)
         item.parent = this.drag_item_parent;
-        item.active =  data.is_in_bag;
         let com = item.getComponent(widget_base);
         com.initView(widget_data,false);
         this.mData = data;

+ 11 - 2
assets/script/run/bag/dai_dao_ju_bag.ts

@@ -31,8 +31,17 @@ export class dai_dao_ju_bag extends Component {
         }
         for (let index = 0; index < data.widget_list.length; index++) {
             const element:dai_dao_ju_item = data.widget_list[index];
-            let item = instantiate(this.item_prefab)
-            item.getComponent(bag_drag_item).initView(element,getWidgetData(element.widget_id),this.onItemClick.bind(this))
+            if(element.widget_id!=-1){
+                let item = instantiate(this.item_prefab)
+                item.parent = this.content
+                if(element.is_in_bag){
+                    item.active = true;
+                }else{
+                    item.active = false;
+                }
+                item.getComponent(bag_drag_item).initView(element,getWidgetData(element.widget_id),this.onItemClick.bind(this))
+            }
+          
         }
 
         this.btn_tip.on(Node.EventType.TOUCH_END,()=>{

+ 31 - 11
assets/script/run/scene_page.ts

@@ -1,5 +1,5 @@
 import { _decorator, Color, Component, instantiate, misc, Node, Prefab, Size, Sprite, tween, Tween, UIOpacity, UITransform, Vec3, Widget } from 'cc';
-import { ani_frame, att_ani_data, attributes_data, event_item, scene_item_data, widget_item_data, zhao_xi_jie_data, zhao_xi_jie_item_data } from '../../data/data';
+import { ani_frame, att_ani_data, attributes_data, event_item, guo_ju_qing_dai_dao_ju, scene_item_data, widget_item_data, zhao_xi_jie_data, zhao_xi_jie_item_data } from '../../data/data';
 import { config } from '../config';
 import { tools } from '../tools';
 import { gameManager } from './gameManager';
@@ -173,6 +173,20 @@ export class scene_page extends Component {
         let widget_list =  gameManager.getWidgetList(this.mData).sort((a,b)=>{
             return a.att.z - b.att.z;
         })
+        let is_dai_dao_ju_drag = (id:number)=>{
+            let task:guo_ju_qing_dai_dao_ju =gameManager.Singleton.mSceneManager.getSceneTask()._guo_ju_qing_dai_dao_ju;
+            if(task==null){
+                return false;
+            }
+
+            for (let index = 0; index < task.widget_list.length; index++) {
+                const element = task.widget_list[index];
+                if(id==element.widget_id){
+                    return true
+                }
+            }
+            return false;
+        } 
         for (let index = 0; index < widget_list.length; index++) {
             const widget_data = widget_list[index];
             let item:Node = null;
@@ -184,7 +198,11 @@ export class scene_page extends Component {
                     item = instantiate(this.widget_slide_prefab)
                 break;
                 case config.Widget_Type_List.DRAG_TYPE:
-                    item = instantiate(this.widget_drag_prefab)
+                    if(is_dai_dao_ju_drag(widget_data.att.id)){
+
+                    }else{
+                        item = instantiate(this.widget_drag_prefab)
+                    }
                 break;
                 case config.Widget_Type_List.IMG_TYPE:
                     item = instantiate(this.widget_img_prefab)
@@ -193,17 +211,19 @@ export class scene_page extends Component {
                     item = instantiate(this.widget_animation_prefab)
                 break;
             }
-
-            let com = item.getComponent(widget_base);
-            if(com===null){
-                console.log("error--widget_data.type:",widget_data.type)
-            }else{
-                item.name =`type${widget_data.type}-id${ widget_data.att.id}`
-                com.initView(widget_data)
-                item.parent = this.content;
-                this.mWidgetList.set(widget_data.att.id,item)
+            if(item){
+                let com = item.getComponent(widget_base);
+                if(com===null){
+                    console.log("error--widget_data.type:",widget_data.type)
+                }else{
+                    item.name =`type${widget_data.type}-id${ widget_data.att.id}`
+                    com.initView(widget_data)
+                    item.parent = this.content;
+                    this.mWidgetList.set(widget_data.att.id,item)
+                }
             }
     
+    
         }
     }
 

+ 2 - 1
assets/script/run/ui_layer.ts

@@ -253,8 +253,9 @@ export class ui_layer extends Component {
                     return tools.showToast("带道具没有配置!");
                 }
                 this.dai_dao_ju_bag.active = true;
+                console.log("_guo_ju_qing_dai_dao_ju:",data._guo_ju_qing_dai_dao_ju)
                 this.dai_dao_ju_bag.getComponent(dai_dao_ju_bag).initView(data._guo_ju_qing_dai_dao_ju,this.onClickBossTips.bind(this),this.onAddTime.bind(this))
-            break;  
+            break;
         }
       
     }

+ 6 - 1
assets/script/run/widget/widget_base.ts

@@ -26,7 +26,7 @@ export class widget_base extends Component {
     protected mIsActive:boolean = false;
     protected mIsShow:boolean = false;
     private bindTarget:BindTarget = null;
-    private isInit:boolean = true;
+    protected isInit:boolean = true;
     protected initWidget(data:widget_item_data){
         this.mData = data;
         this.icon.getComponent(UITransform).contentSize = new Size(this.mData.att.width,this.mData.att.height)
@@ -54,6 +54,11 @@ export class widget_base extends Component {
         }
         if(this.isInit){
             this.init()
+        }else{
+            this.node.position = Vec3.ZERO;
+            this.icon.position = Vec3.ZERO;
+            this.node.active = true;
+            this.onWidgetShow()
         }
         // ClientEvent.on(config.EventRun.NOTICE_EVENT,this.beActive.bind(this),this)
         // ClientEvent.on(config.EventRun.WIDGET_HIDE,this.hide.bind(this),this)

+ 1 - 1
assets/script/run/widget/widget_drag.ts

@@ -32,7 +32,7 @@ export class widget_drag extends widget_base {
 
     }
     protected start(): void {
-        if(this.mIsActive){
+        if(this.mIsActive&&this.isInit){
             this.registeredEvent()
         }
     }

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä