123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- import { _decorator, assetManager, Component, ImageAsset, instantiate, Layout, Node, Prefab, Sprite, SpriteFrame, Texture2D } from 'cc';
- import { font_item } from './font_item';
- import { http } from './http';
- import { level_list } from './level_list';
- import { page } from './page';
- const { ccclass, property } = _decorator;
- @ccclass('game_font')
- export class game_font extends page {
- @property(level_list) level_list;
- @property(Node) btn_cancel;
- @property(Node) btn_save;
- @property(Node) btn_select_level;
- @property(Node) grid_list;
- @property(Node) insert_spr;
- @property(Prefab) item_prefab;
- @property(SpriteFrame) sf_1;
- @property(SpriteFrame) sf_2;
- private m_cur_edit_data:any = null;
- private category_id:number = 2;
- private item_list:any[];
- private count:number = 0;
- /*protected start(): void {
- this.btn_back.on(Node.EventType.TOUCH_END,()=>{
- this.node.active = false;
- this.level_list.active = true;
- this.game_edit_list.active = true;
- },this.btn_back);
- this.btn_level_select.on(Node.EventType.TOUCH_END,()=>{
- this.level_list.active = true;
- },this.btn_level_select);
- this.btn_level_select.on(Node.EventType.TOUCH_END,()=>{},this.btn_level_select);
- this.btn_save.on(Node.EventType.TOUCH_END,()=>{
- this.send_msg_save();
- },this.btn_save);
- // this.show_level(data_list);
- this.send_msg();
- }*/
- send_msg(){
- var formData = new FormData();
- formData.append("category_id", this.category_id+"");
- formData.append("limit", this.limit+"");
- formData.append("page", this.page+"");
- http.post("/vary/levels",formData,(err,data)=>{
- if(!err){
- console.log("send_msg::levels",data);
- let temp_list = JSON.parse(data).content;
- console.log(temp_list);
- if(temp_list.length<=0){
- this.page = this.page-1;
- this.maxPageNumber = this.page;
- }else{
- this.item_list = temp_list;
- this.level_list.getComponent(level_list).initView(this.item_list);
- }
-
- }
- });
- }
- show_level(data){
- this.grid_list.getComponent(Layout).constraintNum = data.col;
- this.count = 0;
- this.m_cur_edit_data = data;
- this.grid_list.removeAllChildren()
- assetManager.loadRemote<ImageAsset>(data.default_img, (err, imageAsset) => {
- if (!err && imageAsset) {
- const texture = new Texture2D();
- texture.image = imageAsset;
- let spFrame = new SpriteFrame();
- spFrame.texture = texture;
- this.sf_1 = spFrame;
- this.count+=1;
- this.showView();
- }
- });
- assetManager.loadRemote<ImageAsset>(data.find_img, (err, imageAsset) => {
- if (!err && imageAsset) {
- const texture = new Texture2D();
- texture.image = imageAsset;
- let spFrame = new SpriteFrame();
- spFrame.texture = texture;
- this.sf_2 = spFrame;
- this.count+=1;
- this.showView();
- }
- });
-
- }
- showView(){
- if(this.count>=2){
- this.count = 0;
- // var data_list = {row:11,col:11,default_img:"",find_img:"",name:"第一关",id:1}
- if(this.m_cur_edit_data.content===""){
- this.m_cur_edit_data.is_edit = 0;
- }
- let list:any[] =this.m_cur_edit_data.is_edit==0?[]:JSON.parse(this.m_cur_edit_data.content);
- this.insert_spr.getComponent(Sprite).spriteFrame = this.sf_2;
- for (let index = 0; index <this.m_cur_edit_data.col*this.m_cur_edit_data.row; index++) {
- let col = index%this.m_cur_edit_data.col;
- let row = Math.floor(index/this.m_cur_edit_data.col);
- let item = instantiate(this.item_prefab);
- let isSelect = false;
- for (let index = 0; index < list.length; index++) {
- const element = list[index];
- let __row = element.row;
- let __col = element.col;
- if(row==__row&&col==__col){
- isSelect = true;
- break;
- }
- }
- item.getComponent(font_item).initView(this.sf_1,this.sf_2,row,col,isSelect);
- item.parent = this.grid_list;
- }
- }
- }
- public getCurPage(){
- return this.page;
- }
- /*public upper(){
- if(this.page>1){
- this.page-=1;
- this.send_msg();
- }
- }
- public next(){
- if(this.page<this.maxPageNumber){
- this.page+=1;
- this.send_msg();
- }
- }*/
- send_msg_save(){
- if(this.m_cur_edit_data==null){
- return;
- }
- let data = [];
- let _index = 0;
- for (let index = 0; index < this.grid_list.children.length; index++) {
- const element:Node = this.grid_list.children[index];
- if(element.getComponent(font_item).IsSelect()==true){
- let obj = {"row":element.getComponent(font_item).getRow(),"col":element.getComponent(font_item).getCol()};
- data[_index] = obj;
- _index++;
- }
-
- }
- let content = JSON.stringify(data);
- var formData = new FormData();
- formData.append("id", this.m_cur_edit_data.id+"");
- formData.append("content", content);
- console.log("content",content);
- this.m_cur_edit_data.content = content;
- this.m_cur_edit_data.is_edit = 1;
- http.post("/vary/save",formData,(err,data)=>{
- if(!err){
- console.log("send_msg_save::",data);
- }
- });
- this.updateInfoById(this.m_cur_edit_data.id,this.m_cur_edit_data);
- }
- updateInfoById(id:string,data:any){
- this.level_list.getComponent(level_list).updateUI(id,data);
- for (let index = 0; index < this.item_list.length; index++) {
- const element = this.item_list[index];
- if(element.id==id){
- this.item_list[index] = data;
- break;
- }
-
- }
- }
- public toPage(page:number){
- var formData = new FormData();
- formData.append("category_id", this.category_id+"");
- formData.append("limit", this.limit+"");
- formData.append("page", page+"");
- http.post("/vary/levels",formData,(err,data)=>{
- if(!err){
- console.log("send_msg::",data);
- let temp_list = JSON.parse(data).content;
- if(temp_list.length<=0){
-
- }else{
- this.item_list = temp_list;
- this.page = page
- this.level_list.getComponent(level_list).initView(this.item_list);
- }
- if(this.on_page_change != null) this.on_page_change(this.page);
- }
- });
- }
- }
|