1// Create Installation: Select Type 2component cmp_installation_type extends panel { 3 { 4 size "410 20" 5 border 0 6 bordercolor "1 1 1 1" 7 padding 4 8 9 onClick { 10 if ( *node:this.id@string eq "base" ) { 11 cmd "ui_pop; mn_base_select -1;" 12 } else { 13 cmd "ui_pop; ui_build_installationtype <node:this.id@string>;" 14 } 15 } 16 onMouseEnter { 17 *node:this@border = 2 18 } 19 onMouseLeave { 20 *node:this@border = 0 21 } 22 } 23 24 data id { 25 integer 0 26 string "" 27 } 28 29 string name { 30 pos "0 0" 31 size "210 20" 32 font "f_small" 33 contentalign ALIGN_CL 34 ghost true 35 } 36 string buildtime { 37 pos "210 2" 38 size "100 15" 39 font "f_small" 40 contentalign ALIGN_CR 41 ghost true 42 } 43 string cost { 44 pos "310 2" 45 size "100 15" 46 font "f_small" 47 contentalign ALIGN_CR 48 ghost true 49 } 50} 51 52window popup_newinstallation_type 53{ 54 { 55 pos "264 262" 56 size "485 247" 57 dragbutton true 58 closebutton true 59 background "ui/popup_alpha_tile" 60 string "_New installation" 61 } 62 63 string type_label 64 { 65 string "_Type" 66 pos "30 55" 67 size "210 20" 68 font "f_small_bold" 69 } 70 string buildtime_label 71 { 72 string "_Build Time" 73 pos "245 55" 74 size "100 20" 75 contentalign ALIGN_CC 76 font "f_small_bold" 77 } 78 string cost_label 79 { 80 string "_Cost" 81 pos "347 55" 82 size "100 20" 83 contentalign ALIGN_CC 84 font "f_small_bold" 85 } 86 87 panel list { 88 pos "30 75" 89 size "410 100" 90 layout LAYOUT_TOP_DOWN_FLOW 91 wheelscrollable true 92 93 onViewChange { 94 *node:parent.list_scroll@fullsize = <fullsize> 95 *node:parent.list_scroll@current = <viewpos> 96 *node:parent.list_scroll@viewsize = <viewsize> 97 } 98 } 99 vscrollbar list_scroll { 100 image "ui/scrollbar_v_green" 101 pos "445 75" 102 height "100" 103 current 0 104 viewsize 5 105 fullsize 5 106 hidewhenunused true 107 108 onChange { 109 *node:parent.list@viewpos = <current> 110 } 111 } 112 113 confunc installationtype_clear { 114 call *node:parent.list@removeAllChild 115 } 116 confunc installationtype_add { 117 call *node:parent.list@createChild("inst_<1>", "cmp_installation_type") 118 *node:parent.list.inst_<1>.id@string = "<1>" 119 *node:parent.list.inst_<1>.name@string = "<2>" 120 *node:parent.list.inst_<1>.buildtime@string = "<3>" 121 *node:parent.list.inst_<1>.cost@string = "<4>" 122 123 if ( *node:parent.list.inst_<1>.buildtime@string eq "-" ) { 124 *node:parent.list.inst_<1>.buildtime@invis = true 125 } 126 127 } 128 129 cmpPopupButton bt_close { 130 string "_Close" 131 pos "287 188" 132 onClick { 133 cmd "ui_pop;" 134 } 135 } 136 137 func onWindowOpened { 138 cmd "ui_fill_installationtypes;" 139 } 140} 141 142 143// Popup new base 144window popup_newbase { 145 { 146 pos "264 262" 147 size "400 210" 148 dragbutton true 149 modal true 150 background "ui/popup_alpha_tile" 151 string "_New base" 152 } 153 154 string name_label { 155 string "_Name:" 156 pos "25 50" 157 size "75 20" 158 font "f_small_bold" 159 } 160 textentry name { 161 string *cvar:mn_base_title 162 pos "25 75" 163 size "330 25" 164 font "f_big" 165 background "ui/button_green_verysmall" 166 contentalign ALIGN_CL 167 color "0 .78 0 1" 168 selectcolor "1 1 1 1" 169 } 170 171 button bt_nameedit { 172 tooltip "_Rename your base" 173 icon "icons/pen" 174 pos "360 75" 175 size "25 25" 176 padding 0 177 onClick { 178 call *node:root.name@edit 179 } 180 } 181 182 string cost_label { 183 string "_Cost:" 184 pos "25 110" 185 size "75 20" 186 font "f_small_bold" 187 } 188 string cost { 189 string *cvar:mn_base_cost 190 pos "100 110" 191 size "100 25" 192 } 193 194 cmpPopupButton bt_build { 195 string "_Build" 196 tooltip "_Build the base" 197 pos "21 150" 198 onClick { 199 cmd "ui_pop;mn_base_build;" 200 } 201 } 202 cmpCancelButton bt_cancel { 203 pos "205 150" 204 onClick { 205 cmd "ui_pop;mn_mapaction_reset;" 206 } 207 } 208} 209 210// Installation popup windows 211 212component cmp_ufoyard_entry extends panel { 213 { 214 size "250 40" 215 border 0 216 bordercolor "0 0.5 0 1" 217 218 onClick { 219 cmd "ufolist_select <node:this.id@integer> <node:this.id@string>;" 220 } 221 } 222 223 data id { 224 integer 0 225 string "" 226 } 227 model ufomodel { 228 pos "2 4" 229 size "32 32" 230 autoscale true 231 angles "0 0 150" 232 ghost true 233 } 234 string title { 235 pos "37 2" 236 size "200 20" 237 font "f_small_bold" 238 ghost true 239 } 240 string detail { 241 pos "37 22" 242 size "200 15" 243 font "f_verysmall" 244 ghost true 245 } 246} 247 248component cmp_ufotransfer_entry extends panel { 249 { 250 size "420 40" 251 border 0 252 bordercolor "0 0.5 0 1" 253 254 onClick { 255 cmd "ufotransferlist_selectyard <node:this.id@integer>;" 256 } 257 onRClick { 258 cmd "mn_installation_select <node:this.id@integer>;" 259 } 260 } 261 262 data id { 263 integer 0 264 string "" 265 } 266 model yardmodel { 267 src "geoscape/ufoyard" 268 pos "2 4" 269 size "32 32" 270 autoscale true 271 angles "0 0 150" 272 ghost true 273 } 274 string title { 275 pos "37 4" 276 size "290 20" 277 font "f_small_bold" 278 ghost true 279 } 280 string space { 281 pos "330 4" 282 size "20 15" 283 font "f_verysmall" 284 ghost true 285 } 286 string space_label { 287 string "_free" 288 pos "350 4" 289 size "60 15" 290 font "f_verysmall" 291 ghost true 292 } 293 string location { 294 pos "37 22" 295 size "370 15" 296 font "f_verysmall" 297 ghost true 298 } 299 panel ufos { 300 layout LAYOUT_LEFT_RIGHT_FLOW 301 top 40 302 size "240 40" 303 ghost true 304 } 305 button transfer { 306 string "_Transfer" 307 pos "280 47" 308 size "110 26" 309 contentalign ALIGN_CC 310 bordercolor "0 .5 0 1" 311 border 1 312 313 onMouseEnter { 314 if ( *node:this@disabled != true ) { 315 *node:this@bordercolor = "1 1 1 1" 316 } 317 } 318 onMouseLeave { 319 if ( *node:this@disabled != true ) { 320 *node:this@bordercolor = "0 .5 0 1" 321 } 322 } 323 onClick { 324 cmd "ui_transferufo <node:root.selected@integer> <node:parent.id@integer>; ui_fillufoyards;" 325 } 326 } 327} 328 329component cmp_ufotransfer_ufoentry extends panel { 330 { 331 size "40 40" 332 border 0 333 bordercolor "0 0.5 0 1" 334 } 335 336 model ufomodel { 337 pos "2 4" 338 size "40 40" 339 autoscale true 340 angles "0 0 150" 341 ghost true 342 } 343} 344 345window popup_ufoyards { 346 { 347 string "_UFO Yards" 348 background "ui/popup_alpha_tile" 349 pos "64 250" 350 size "768 370" 351 dragbutton true 352 closebutton true 353 } 354 355 data selected { 356 integer 0 357 string "" 358 } 359 360 panel list { 361 { 362 pos "20 50" 363 size "250 295" 364 layout LAYOUT_TOP_DOWN_FLOW 365 wheelscrollable true 366 border 1 367 padding 6 368 369 onViewChange { 370 *node:parent.list_scroll@fullsize = <fullsize> 371 *node:parent.list_scroll@current = <viewpos> 372 *node:parent.list_scroll@viewsize = <viewsize> 373 } 374 } 375 } 376 vscrollbar list_scroll { 377 image "ui/scrollbar_v_green" 378 pos "270 50" 379 height "295" 380 current 0 381 viewsize 4 382 fullsize 4 383 hidewhenunused true 384 385 onChange { 386 *node:parent.list@viewpos = <current> 387 } 388 } 389 390 // this should only be a vertical line... 391 bar separator { 392 pos "293 92" 393 size "4 255" 394 readonly true 395 nohover true 396 color "0 0.4 0 1" 397 max 1 398 current 1 399 } 400 401 tab ufoyardtabs { 402 { 403 pos "300 50" 404 size "450 35" 405 cvar *cvar:ufoyard_tab 406 407 onChange { 408 if ( *node:root.selected@string eq "ufo" ) { 409 *node:this.transfer@disabled = false 410 *node:this.sell@disabled = false 411 *node:parent.yardinfo@invis = true 412 413 if ( *cvar:ufoyard_tab eq "info" ) { 414 *node:parent.ufoinfo@invis = false 415 *node:parent.ufotransfer@invis = true 416 *node:parent.ufotransfer_scroll@invis = true 417 *node:parent.ufosell@invis = true 418 } elif ( *cvar:ufoyard_tab eq "transfer" ) { 419 *node:parent.ufoinfo@invis = true 420 *node:parent.ufotransfer@invis = false 421 *node:parent.ufotransfer_scroll@invis = false 422 *node:parent.ufosell@invis = true 423 424 cmd "ui_fill_ufotransfer <node:root.selected@integer>;" 425 } elif ( *cvar:ufoyard_tab eq "sell" ) { 426 *node:parent.ufoinfo@invis = true 427 *node:parent.ufotransfer@invis = false 428 *node:parent.ufotransfer_scroll@invis = false 429 *node:parent.ufosell@invis = true 430 431 cmd "ui_fill_ufosell <node:root.selected@integer>;" 432 } else { 433 *node:parent.ufoinfo@invis = true 434 *node:parent.ufotransfer@invis = true 435 *node:parent.ufotransfer_scroll@invis = true 436 *node:parent.ufosell@invis = true 437 } 438 } else { 439 *node:this.transfer@disabled = true 440 *node:this.sell@disabled = true 441 *node:parent.ufoinfo@invis = true 442 *node:parent.ufotransfer@invis = true 443 *node:parent.ufotransfer_scroll@invis = true 444 *node:parent.ufosell@invis = true 445 446 *cvar:ufoyard_tab = "info" 447 *node:parent.yardinfo@invis = false 448 } 449 } 450 } 451 option information { 452 label "_Information" 453 value "info" 454 } 455 option transfer { 456 label "_Transfer" 457 value "transfer" 458 disabled true 459 } 460 option sell { 461 label "_Sell" 462 value "sell" 463 invis true 464 } 465 } 466 467 panel yardinfo { 468 { 469 pos "300 85" 470 size "450 270" 471 } 472 473 model ufomodel { 474 src "geoscape/ufoyard" 475 pos "10 10" 476 size "128 128" 477 autoscale true 478 angles "0 0 150" 479 } 480 481 string name_label { 482 string "_Name:" 483 pos "150 5" 484 size "290 20" 485 font "f_small_bold" 486 } 487 textentry name { 488 string *cvar:mn_installation_title 489 pos "150 35" 490 size "265 25" 491 border 3 492 bordercolor "0 0.5 0 1" 493 494 onChange { 495 cmd "mn_installation_changename;" 496 cmd "ui_fillufoyards;" 497 } 498 } 499 button name_edit 500 { 501 tooltip "_Rename Installation" 502 icon "icons/pen" 503 pos "420 33" 504 size "35 35" 505 padding 0 506 onClick { 507 call *node:parent.name@edit 508 } 509 } 510 511 string location_label { 512 string "_Location:" 513 pos "150 75" 514 size "290 20" 515 font "f_small_bold" 516 } 517 string location { 518 pos "150 100" 519 size "280 20" 520 contentalign ALIGN_UR 521 } 522 523 string buildtime_label { 524 string "_Time to build:" 525 pos "150 130" 526 size "200 20" 527 invis true 528 font "f_small_bold" 529 } 530 string buildtime { 531 pos "350 130" 532 size "80 20" 533 contentalign ALIGN_UR 534 invis true 535 } 536 537 string maxcap_label { 538 string "_Capacity:" 539 pos "150 150" 540 size "200 20" 541 font "f_small_bold" 542 } 543 string maxcap { 544 pos "350 150" 545 size "80 20" 546 contentalign ALIGN_UR 547 } 548 549 string freecap_label { 550 string "_Free Space:" 551 pos "150 175" 552 size "200 20" 553 font "f_small_bold" 554 } 555 string freecap { 556 pos "350 175" 557 size "80 20" 558 contentalign ALIGN_UR 559 } 560 561 checkbox_green confirm { 562 tooltip "_Confirm destroying" 563 pos "120 221" 564 size "20 20" 565 current 0 566 } 567 cmpPopupButton destroy { 568 string "_Destroy" 569 tooltip "_Destroy installation" 570 pos "170 215" 571 size "200 32" 572 font "f_menu" 573 574 onClick { 575 cmd "ui_pop; mn_installation_destroy -1 <node:parent.confirm@current>;" 576 } 577 } 578 } 579 580 panel ufoinfo { 581 { 582 pos "300 85" 583 size "450 270" 584 invis true 585 } 586 587 model ufomodel { 588 pos "10 10" 589 size "128 128" 590 autoscale true 591 angles "0 0 150" 592 } 593 594 string name { 595 pos "150 10" 596 size "280 35" 597 font "f_normal_bold" 598 contentalign ALIGN_CL 599 } 600 601 string condition_label { 602 string "_Condition:" 603 pos "150 50" 604 size "200 20" 605 font "f_small_bold" 606 } 607 string condition { 608 pos "350 50" 609 size "80 20" 610 contentalign ALIGN_UR 611 } 612 613 string status_label { 614 string "_Status:" 615 pos "150 70" 616 size "150 20" 617 font "f_small_bold" 618 } 619 string status { 620 pos "300 70" 621 size "130 20" 622 contentalign ALIGN_UR 623 } 624 625 string location_label { 626 string "_Location:" 627 pos "150 90" 628 size "150 20" 629 font "f_small_bold" 630 } 631 string location { 632 pos "300 90" 633 size "130 20" 634 contentalign ALIGN_UR 635 } 636 637 string eta_label { 638 string "_ETA:" 639 pos "150 110" 640 size "150 20" 641 font "f_small_bold" 642 } 643 string eta { 644 pos "300 110" 645 size "130 20" 646 contentalign ALIGN_UR 647 } 648 649 cmpPopupButton transfer { 650 string "_Transfer" 651 tooltip "_Transfer UFO" 652 pos "170 180" 653 size "200 32" 654 font "f_menu" 655 656 onClick { 657 *cvar:ufoyard_tab = "transfer" 658 call *node:root.ufoyardtabs@onChange 659 } 660 } 661 checkbox_green confirm { 662 tooltip "_Confirm destroying" 663 pos "120 221" 664 size "20 20" 665 current 0 666 } 667 cmpPopupButton destroy { 668 string "_Destroy" 669 tooltip "_Destroy UFO" 670 pos "170 215" 671 size "200 32" 672 font "f_menu" 673 674 onClick { 675 cmd "ui_destroystoredufo <node:root.selected@integer> <node:parent.confirm@current>;" 676 } 677 } 678 } 679 panel ufotransfer { 680 { 681 pos "300 85" 682 size "430 270" 683 layout LAYOUT_TOP_DOWN_FLOW 684 padding 6 685 invis true 686 wheelscrollable true 687 onViewChange { 688 *node:parent.ufotransfer_scroll@fullsize = <fullsize> 689 *node:parent.ufotransfer_scroll@current = <viewpos> 690 *node:parent.ufotransfer_scroll@viewsize = <viewsize> 691 } 692 } 693 694 data selected { 695 integer 0 696 string "" 697 } 698 } 699 vscrollbar ufotransfer_scroll { 700 image "ui/scrollbar_v_green" 701 pos "730 85" 702 height 270 703 current 0 704 viewsize 4 705 fullsize 4 706 hidewhenunused true 707 708 onChange { 709 *node:parent.ufotransfer@viewpos = <current> 710 } 711 } 712 713 panel ufosell { 714 { 715 pos "300 85" 716 size "430 270" 717 layout LAYOUT_TOP_DOWN_FLOW 718 padding 6 719 invis true 720 wheelscrollable true 721 onViewChange { 722 *node:parent.ufosell_scroll@fullsize = <fullsize> 723 *node:parent.ufosell_scroll@current = <viewpos> 724 *node:parent.ufosell_scroll@viewsize = <viewsize> 725 } 726 } 727 728 data selected { 729 integer 0 730 string "" 731 } 732 } 733 vscrollbar ufosell_scroll { 734 image "ui/scrollbar_v_green" 735 pos "730 85" 736 height 270 737 current 0 738 viewsize 4 739 fullsize 4 740 hidewhenunused true 741 invis true 742 743 onChange { 744 *node:parent.ufosell@viewpos = <current> 745 } 746 } 747 748 confunc ufolist_clear { 749 *node:root.selected@integer = 0 750 *node:root.selected@string = "" 751 call *node:parent.list@removeAllChild 752 } 753 confunc ufolist_addufoyard { 754 call *node:parent.list@createChild("ufoyard<1>", "cmp_ufoyard_entry") 755 *node:parent.list.ufoyard<1>.id@string = "ufoyard" 756 *node:parent.list.ufoyard<1>.id@integer = <1> 757 *node:parent.list.ufoyard<1>.ufomodel@src = "geoscape/ufoyard" 758 *node:parent.list.ufoyard<1>.title@string = "<2>" 759 *cvar:mn_installation_title = "<2>" 760 *node:parent.list.ufoyard<1>.detail@string = "<3>" 761 762 *node:parent.yardinfo.location@string = "<3>" 763 if ( "<node:parent.yardinfo.location@string>" eq "" ) { 764 *node:parent.yardinfo.location_label@invis = true 765 } else { 766 *node:parent.yardinfo.location_label@invis = false 767 } 768 769 *node:parent.yardinfo.maxcap@string = "<4>" 770 *node:parent.yardinfo.freecap@string = "<5>" 771 772 *node:parent.yardinfo.buildtime@string = "<6>" 773 if ( *node:parent.yardinfo.buildtime@string eq "-" ) { 774 *node:parent.yardinfo.buildtime_label@invis = true 775 *node:parent.yardinfo.buildtime@invis = true 776 } else { 777 *node:parent.yardinfo.buildtime_label@invis = false 778 *node:parent.yardinfo.buildtime@invis = false 779 } 780 781 cmd "ufolist_select <1> ufoyard;" 782 } 783 confunc ufolist_addufo { 784 call *node:parent.list@createChild("ufo<1>", "cmp_ufoyard_entry") 785 // tmpvar 786 *node:parent.list.ufo<1>.id@string = "<5>" 787 if ( *node:parent.list.ufo<1>.id@string eq "transfering" ) { 788 *node:parent.list.ufo<1>@bgcolor = ".3 .3 .3 .3" 789 } elif ( *node:parent.list.ufo<1>.id@string eq "disassembling" ) { 790 *node:parent.list.ufo<1>@bgcolor = "0 .3 0 .3" 791 } 792 793 *node:parent.list.ufo<1>.id@integer = <1> 794 *node:parent.list.ufo<1>.id@string = "ufo" 795 *node:parent.list.ufo<1>.ufomodel@src = "<4>" 796 *node:parent.list.ufo<1>.title@string = "<2>" 797 *node:parent.list.ufo<1>.detail@string = "<3>" 798 } 799 confunc ufolist_select { 800 if ( *node:root.selected@string ne "" ) { 801 *node:root.list.<node:root.selected@string><node:root.selected@integer>@border = 0 802 } 803 *node:root.selected@integer = <1> 804 *node:root.selected@string = <2> 805 *node:root.list.<node:root.selected@string><node:root.selected@integer>@border = 1 806 *node:parent.yardinfo.confirm@current = 0 807 *node:parent.ufoinfo.confirm@current = 0 808 809 if ( "<node:root.selected@string>" eq "ufoyard" ) { 810// cmd "ui_selectufoyard <node:root.selected@integer>;" 811 } elif ( "<node:root.selected@string>" eq "ufo" ) { 812 cmd "ui_selectstoredufo <node:root.selected@integer>;" 813 } 814 815 *cvar:ufoyard_tab = "info" 816 call *node:parent.ufoyardtabs@onChange 817 } 818 819 confunc show_ufoyard { 820 } 821 confunc show_storedufo { 822 if ( "<1>" eq "-" ) { 823 cmd "echo noufo;" 824 } else { 825 *node:parent.ufoinfo.name@string = "<2>" 826 *node:parent.ufoinfo.condition@string = "<3>%" 827 *node:parent.ufoinfo.ufomodel@src = "<4>" 828 *node:parent.ufoinfo.status@string = "<5>" 829 *node:parent.ufoinfo.eta@string = "<6>" 830 *node:parent.ufoinfo.location@string = "<7>" 831 832 if ( *node:parent.ufoinfo.status@string eq "disassembling" ) { 833 *node:parent.ufoinfo.status@string = "_disassembling" 834 *node:parent.ufoyardtabs.transfer@disabled = true 835 *node:parent.ufoinfo.transfer@disabled = true 836 *node:parent.ufoinfo.confirm@disabled = false 837 *node:parent.ufoinfo.destroy@disabled = false 838 } elif ( *node:parent.ufoinfo.status@string eq "transfering" ) { 839 *node:parent.ufoinfo.status@string = "_transfering" 840 *node:parent.ufoyardtabs.transfer@disabled = true 841 *node:parent.ufoinfo.transfer@disabled = true 842 *node:parent.ufoinfo.confirm@disabled = true 843 *node:parent.ufoinfo.destroy@disabled = true 844 } elif ( *node:parent.ufoinfo.status@string eq "stored" ) { 845 *node:parent.ufoinfo.status@string = "_stored" 846 *node:parent.ufoyardtabs.transfer@disabled = false 847 *node:parent.ufoinfo.transfer@disabled = false 848 *node:parent.ufoinfo.confirm@disabled = false 849 *node:parent.ufoinfo.destroy@disabled = false 850 } else { 851 *node:parent.ufoinfo.status@string = "_unknown" 852 *node:parent.ufoyardtabs.transfer@disabled = true; 853 *node:parent.ufoinfo.transfer@disabled = true 854 *node:parent.ufoinfo.confirm@disabled = true 855 *node:parent.ufoinfo.destroy@disabled = true 856 } 857 858 if ( *node:parent.ufoinfo.eta@string eq "-" ) { 859 *node:parent.ufoinfo.eta_label@invis = true 860 *node:parent.ufoinfo.eta@invis = true 861 } else { 862 *node:parent.ufoinfo.eta_label@invis = false 863 *node:parent.ufoinfo.eta@invis = false 864 } 865 } 866 } 867 868 confunc ufotransferlist_clear { 869 *node:root.ufotransfer.selected@integer = -1 870 *node:root.ufotransfer.selected@string = "" 871 call *node:parent.ufotransfer@removeAllChild 872 } 873 confunc ufotransferlist_addyard { 874 call *node:parent.ufotransfer@createChild("destyard<1>", "cmp_ufotransfer_entry") 875 876 *node:parent.ufotransfer.destyard<1>.id@integer = <5> 877 if ( *node:parent.ufotransfer.destyard<1>.id@integer < 1 ) { 878 *node:parent.ufotransfer.destyard<1>@bgcolor = ".3 .3 .3 .3" 879 } 880 *node:parent.ufotransfer.destyard<1>.id@integer = <4> 881 if ( *node:parent.ufotransfer.destyard<1>.id@integer < 1 ) { 882 *node:parent.ufotransfer.destyard<1>.transfer@disabled = true 883 *node:parent.ufotransfer.destyard<1>.transfer@bordercolor = ".5 .5 .5 1" 884 } 885 *node:parent.ufotransfer.destyard<1>.id@integer = <1> 886 *node:parent.ufotransfer.destyard<1>.title@string = "<2>" 887 *node:parent.ufotransfer.destyard<1>.location@string = "<3>" 888 *node:parent.ufotransfer.destyard<1>.space@string = "_free" 889 *node:parent.ufotransfer.destyard<1>.space@string = "<4>" 890 } 891 confunc ufotransferlist_selectyard { 892 if ( *node:root.ufotransfer.selected@integer != -1 ) { 893 *node:root.ufotransfer.destyard<node:root.ufotransfer.selected@integer>@border = 0 894 *node:root.ufotransfer.destyard<node:root.ufotransfer.selected@integer>@height = 40 895 } 896 *node:root.ufotransfer.selected@integer = <1> 897 *node:root.ufotransfer.destyard<1>@border = 1 898 if ( *node:parent.ufotransfer.destyard<1>@bgcolor ne ".3 .3 .3 .3" ) { 899 *node:root.ufotransfer.destyard<1>@height = 80 900 cmd "ui_selecttransferyard <1>;" 901 } 902 } 903 904 confunc ufotransferlist_clearufos { 905 call *node:parent.ufotransfer.destyard<1>.ufos@removeAllChild 906 } 907 confunc ufotransferlist_addufos { 908 call *node:parent.ufotransfer.destyard<1>.ufos@createChild("ufo<2>", "cmp_ufotransfer_ufoentry") 909 *node:parent.ufotransfer.destyard<1>.ufos.ufo<2>.ufomodel@src = "<3>" 910 } 911 912 func onWindowOpened { 913 cmd "ui_fillufoyards;" 914 } 915 func onWindowClosed { 916 } 917} 918