tools.ts 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. import { _decorator, assetManager, Color, Component, ImageAsset, instantiate, Node, Prefab, resources, Sprite, SpriteFrame, Texture2D } from 'cc';
  2. import { main } from './main';
  3. import { toast } from './toast';
  4. import { add_scene } from './edit/add_scene';
  5. import { dialog_view } from './dialog_view';
  6. import { scene_select_list } from './edit/scene_select_list';
  7. import { sceme_type_select_item } from './sceme_type_select_item';
  8. import { slide_dir_select } from './edit/slide_dir_select';
  9. import { click_type_select } from './click_type_select';
  10. import { add_event } from './edit/event/add_event';
  11. import { add_task } from './edit/task/add_task';
  12. import { add_animation } from './edit/animation/add_animation';
  13. import { att_ani_data, event_item, widget_item_data } from '../data/data';
  14. import { select_widget_list } from './edit/event/select_widget_list';
  15. import { select_animation } from './edit/animation/select_animation';
  16. import { show_widget_list } from './edit/show_widget_list';
  17. import { select_ui_top_type } from './edit/uiWidget/select_ui_top_type';
  18. import { show_select_child_scene } from './edit/uiWidget/show_select_child_scene';
  19. import { show_select_evele_list } from './edit/show_select_evele_list';
  20. import { select_collect_event } from './edit/event/select_collect_event';
  21. import { select_res_list } from './select_res_list';
  22. import { select_task_zhao_xi_jie } from './edit/task/select_task_zhao_xi_jie';
  23. import { show_select_z_index } from './edit/attributes/show_select_z_index';
  24. import { game_run } from './run/game_run';
  25. import { config } from './config';
  26. import { edit_event } from './edit/event/edit_event';
  27. import { select_sound_list } from './edit/select_sound_list';
  28. import { select_task_da_guai } from './edit/task/select_task_da_guai';
  29. import { edit_event_view } from './edit/event/edit_event_view';
  30. import { tip_type_select } from './edit/tip_type_select';
  31. import { show_copy_scene } from './edit/show_copy_scene';
  32. import { show_select_more_scene_page } from './edit/show_select_more_scene_page';
  33. import { select_task_dai_dao_ju } from './edit/task/select_task_dai_dao_ju';
  34. import { set_color } from './edit/set_color';
  35. export class tools {
  36. public static show_dialog(title="是否确定?",sure_callback,cancel_callback=null){
  37. resources.load("prefab/dialog_view",Prefab,(err, prefab)=>{
  38. let node = instantiate(prefab);
  39. node.parent = main.g_canvas.node;
  40. node.getComponent(dialog_view).show(title,sure_callback,cancel_callback)
  41. })
  42. }
  43. public static show_loading(call=null){
  44. resources.load("prefab/loading",Prefab,(err, prefab)=>{
  45. if(!main.loading_view){
  46. let node = instantiate(prefab);
  47. node.name = "loading"
  48. node.parent = main.g_canvas.node;
  49. main.loading_view = node;
  50. if(call!=null){
  51. call()
  52. }
  53. }
  54. })
  55. }
  56. public static hide_loading(){
  57. if(main.loading_view!=null){
  58. main.loading_view.removeFromParent()
  59. main.loading_view =null;
  60. }
  61. }
  62. public static showToast(text:string){
  63. resources.load("prefab/toast",Prefab,(err, prefab)=>{
  64. let node = instantiate(prefab);
  65. node.name = "toast"
  66. node.parent = main.g_canvas.node;
  67. node.getComponent(toast).show(text)
  68. })
  69. }
  70. public static show_add_scene(call){
  71. resources.load("prefab/add_scene",Prefab,(err, prefab)=>{
  72. let node = instantiate(prefab);
  73. node.parent = main.g_canvas.node;
  74. node.getComponent(add_scene).initView(call)
  75. })
  76. }
  77. public static add_scene_page(call){
  78. resources.load("prefab/sceme_type_select_item",Prefab,(err, prefab)=>{
  79. let node = instantiate(prefab);
  80. node.parent = main.g_canvas.node;
  81. node.getComponent(sceme_type_select_item).initView(call)
  82. })
  83. }
  84. public static show_copy_scene(sceneName:string,call) {
  85. resources.load("prefab/show_copy_scene", Prefab, (err, prefab)=> {
  86. let node = instantiate(prefab);
  87. node.parent = main.g_canvas.node;
  88. node.getComponent(show_copy_scene).initView(sceneName,call)
  89. })
  90. }
  91. public static show_slide_dir_select(call){
  92. resources.load("prefab/slide_dir_select",Prefab,(err, prefab)=>{
  93. let node = instantiate(prefab);
  94. node.parent = main.g_canvas.node;
  95. node.getComponent(slide_dir_select).show(call)
  96. })
  97. }
  98. public static show_tip_type_select(call){
  99. resources.load("prefab/tip_type_select",Prefab,(err, prefab)=>{
  100. let node = instantiate(prefab);
  101. node.parent = main.g_canvas.node;
  102. node.getComponent(tip_type_select).show(call)
  103. })
  104. }
  105. public static show_click_type_select(call){
  106. resources.load("prefab/click_type_select",Prefab,(err, prefab)=>{
  107. let node = instantiate(prefab);
  108. node.parent = main.g_canvas.node;
  109. node.getComponent(click_type_select).show(call)
  110. })
  111. }
  112. public static show_add_event(call){
  113. resources.load("prefab/add_event",Prefab,(err, prefab)=>{
  114. let node = instantiate(prefab);
  115. node.parent = main.g_canvas.node;
  116. node.getComponent(add_event).show(call)
  117. })
  118. }
  119. public static show_add_task(call){
  120. resources.load("prefab/add_task",Prefab,(err, prefab)=>{
  121. let node = instantiate(prefab);
  122. node.parent = main.g_canvas.node;
  123. node.getComponent(add_task).show(call)
  124. })
  125. }
  126. public static show_add_animation(list,call){
  127. resources.load("prefab/add_animation",Prefab,(err, prefab)=>{
  128. let node = instantiate(prefab);
  129. node.parent = main.g_canvas.node;
  130. node.getComponent(add_animation).show(list,call)
  131. })
  132. }
  133. public static show_select_widget_list(list:widget_item_data[],call,id:number=-1){
  134. resources.load("prefab/select_widget_list",Prefab,(err, prefab)=>{
  135. let node = instantiate(prefab);
  136. node.parent = main.g_canvas.node;
  137. node.getComponent(select_widget_list).show(list,call,id)
  138. })
  139. }
  140. public static show_widget_list(list){
  141. resources.load("prefab/show_widget_list",Prefab,(err, prefab)=>{
  142. let node = instantiate(prefab);
  143. node.parent = main.g_canvas.node;
  144. node.getComponent(show_widget_list).show(list)
  145. })
  146. }
  147. public static show_select_animation_list(list:att_ani_data[],call,id:number=-1){
  148. resources.load("prefab/select_animation",Prefab,(err, prefab)=>{
  149. let node = instantiate(prefab);
  150. node.parent = main.g_canvas.node;
  151. node.getComponent(select_animation).show(list,call,id)
  152. })
  153. }
  154. public static show_select_ui_top_type(call){
  155. resources.load("prefab/ui/select_ui_top_type",Prefab,(err, prefab)=>{
  156. let node:Node = instantiate(prefab);
  157. node.parent = main.g_canvas.node;
  158. node.getComponent(select_ui_top_type).show(call)
  159. })
  160. }
  161. public static show_select_child_scene(list,call){
  162. resources.load("prefab/ui/show_select_child_scene",Prefab,(err, prefab)=>{
  163. let node:Node = instantiate(prefab);
  164. node.parent = main.g_canvas.node;
  165. node.getComponent(show_select_child_scene).show(list,call)
  166. })
  167. }
  168. public static show_select_evele_list(list,call){
  169. if(list.length == 0) {
  170. return tools.showToast('任务事件列表是空的')
  171. }
  172. resources.load("prefab/show_select_evele_list",Prefab,(err, prefab)=>{
  173. let node:Node = instantiate(prefab);
  174. node.parent = main.g_canvas.node;
  175. node.getComponent(show_select_evele_list).show(list,call)
  176. })
  177. }
  178. public static select_collect_event(list,call,event_id,event_list_id){
  179. resources.load("prefab/ui/select_collect_event",Prefab,(err, prefab)=>{
  180. let node:Node = instantiate(prefab);
  181. node.parent = main.g_canvas.node;
  182. node.getComponent(select_collect_event).show(list,call,event_id,event_list_id)
  183. })
  184. }
  185. public static select_res_list(call){
  186. resources.load("prefab/ui/select_res_list",Prefab,(err, prefab)=>{
  187. let node:Node = instantiate(prefab);
  188. node.parent = main.g_canvas.node;
  189. node.getComponent(select_res_list).initView(call)
  190. })
  191. }
  192. public static select_sound_list(call){
  193. resources.load("prefab/ui/select_sound_list",Prefab,(err, prefab)=>{
  194. let node:Node = instantiate(prefab);
  195. node.parent = main.g_canvas.node;
  196. node.getComponent(select_sound_list).initView(call)
  197. })
  198. }
  199. public static select_task_zhao_xi_jie(data){
  200. resources.load("prefab/task/select_task_zhao_xi_jie",Prefab,(err, prefab)=>{
  201. let node:Node = instantiate(prefab);
  202. node.parent = main.g_canvas.node;
  203. node.getComponent(select_task_zhao_xi_jie).show(data)
  204. })
  205. }
  206. public static select_task_da_guai(data){
  207. resources.load("prefab/task/select_task_da_guai",Prefab,(err, prefab)=>{
  208. let node:Node = instantiate(prefab);
  209. node.parent = main.g_canvas.node;
  210. node.getComponent(select_task_da_guai).show(data)
  211. })
  212. }
  213. public static select_task_dai_dao_ju(data){
  214. resources.load("prefab/task/select_task_dai_dao_ju",Prefab,(err, prefab)=>{
  215. let node:Node = instantiate(prefab);
  216. node.parent = main.g_canvas.node;
  217. node.getComponent(select_task_dai_dao_ju).show(data)
  218. })
  219. }
  220. public static show_select_z_index(call){
  221. resources.load("prefab/show_select_z_index",Prefab,(err, prefab)=>{
  222. let node:Node = instantiate(prefab);
  223. node.parent = main.g_canvas.node;
  224. node.getComponent(show_select_z_index).show(call)
  225. })
  226. }
  227. public static show_edit_event_view(){
  228. resources.load("prefab/ui/edit_event_view",Prefab,(err, prefab)=>{
  229. let node:Node = instantiate(prefab);
  230. node.parent = main.g_canvas.node;
  231. node.getComponent(edit_event_view).show()
  232. })
  233. }
  234. public static show_select_dir(call){
  235. resources.load("prefab/show_select_z_index",Prefab,(err, prefab)=>{
  236. let node:Node = instantiate(prefab);
  237. node.parent = main.g_canvas.node;
  238. node.getComponent(show_select_z_index).showDir(call)
  239. })
  240. }
  241. public static show_select_more_scene_page(data,cur_index,call) {
  242. resources.load("prefab/show_select_more_scene_page",Prefab,(err, prefab)=>{
  243. let node:Node = instantiate(prefab);
  244. node.parent = main.g_canvas.node;
  245. node.getComponent(show_select_more_scene_page).show(data,cur_index,call)
  246. })
  247. }
  248. public static loadUrl(url:string,spr:Sprite){
  249. if(url.length<=0){
  250. return null;
  251. }
  252. assetManager.loadRemote<ImageAsset>(url, (err, imageAsset2)=>{
  253. if (!err && imageAsset2) {
  254. const texture = new Texture2D();
  255. texture.image = imageAsset2;
  256. let spFrame2 = new SpriteFrame();
  257. spFrame2.texture = texture;
  258. spr.spriteFrame = spFrame2;
  259. }
  260. });
  261. }
  262. public static loadSceneImg(url:string,call){
  263. if(url.length<=0){
  264. return null;
  265. }
  266. assetManager.loadRemote<ImageAsset>(url, (err, imageAsset2)=>{
  267. if (!err && imageAsset2) {
  268. const texture = new Texture2D();
  269. texture.image = imageAsset2;
  270. let spFrame2 = new SpriteFrame();
  271. spFrame2.texture = texture;
  272. spFrame2.addRef()
  273. call({"url":url,"sf":spFrame2})
  274. }
  275. });
  276. }
  277. public static loadSceneMp3(url:string,call){
  278. if(url.length<=0){
  279. return null;
  280. }
  281. assetManager.loadRemote(url, (err: any, clip: any)=> {
  282. clip.addRef()
  283. if (!err && clip) {
  284. call({"url":url,"clip":clip})
  285. }
  286. });
  287. }
  288. public static game_run(callback=null){
  289. resources.load("prefab/run/game_run",Prefab,(err, prefab)=>{
  290. let node:Node = instantiate(prefab);
  291. node.parent = main.g_canvas.node;
  292. node.getComponent(game_run).run(callback)
  293. })
  294. }
  295. public static game_run_all(){
  296. resources.load("prefab/run/game_run",Prefab,(err, prefab)=>{
  297. let node:Node = instantiate(prefab);
  298. node.parent = main.g_canvas.node;
  299. node.getComponent(game_run).runAll()
  300. })
  301. }
  302. public static isWidgetType(type:number){
  303. return type!=config.Widget_Type_List.TEXT_SOUND
  304. }
  305. public static show_edit_event(type:number,data:event_item,delete_call){
  306. resources.load("prefab/edit_event",Prefab,(err, prefab)=>{
  307. let node:Node = instantiate(prefab);
  308. node.parent = main.g_canvas.node;
  309. node.getComponent(edit_event).show(type,data,delete_call)
  310. })
  311. }
  312. // 去除左边和右边空格
  313. public static trimLeftAndRightblank(str: string):string {
  314. const reg = /^\s+|\s+$/g;
  315. return str.replace(reg, '')
  316. }
  317. public static show_set_color(color:Color,call){
  318. resources.load("prefab/set_color",Prefab,(err, prefab)=>{
  319. let node:Node = instantiate(prefab);
  320. node.parent = main.g_canvas.node;
  321. node.getComponent(set_color).show(color,call)
  322. })
  323. }
  324. }