123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- import FF from "../../FF";
- import { GroupType } from "../../object/FObject";
- import FSprite from "../../object/FSprite";
- import { DialogAttrContent } from "../dialog/FDialogAttr";
- import FDialogBox from "../dialog/FDialogBox";
- /**
- * 对话测试
- */
- const {ccclass, property} = cc._decorator;
- @ccclass
- export default class FDialogTest1 extends cc.Component {
- @property(cc.Prefab)
- mDialog: cc.Prefab = null;
- private ff:FF;
- /**
- * 对话框
- */
- private dialogBox:FDialogBox;
- onBeginContact(contact: cc.PhysicsContact, self: cc.PhysicsCollider, other: cc.PhysicsCollider){
- if(other.node.group == 'A'){
- let obj = other.node.getComponent(FSprite);
- this.ff = obj.ff;
- if(obj == this.ff.mainSprite){
- this.showButton();
- }
- }
- }
- onEndContact(contact: cc.PhysicsContact, self: cc.PhysicsCollider, other: cc.PhysicsCollider){
- if(other.node.group == 'A'){
- let obj = other.node.getComponent(FSprite);
- if(obj == this.ff.mainSprite){
- this.closeButton();
- }
- }
- }
- public showButton(){
- this.ff.control.mEventButton.node.active = true;
- this.ff.control.mEventButton.setCallback(()=>{
- this.showDialog();
- });
- }
- public closeButton(){
- this.ff.control.mEventButton.node.active = false;
- }
- public exitDialog(){
- this.dialogBox.node.destroy();
- }
- public showDialog(){
- /**
- * 对话1
- */
- let dialog1 = [
- {
- name:'宙斯',
- name1:'众神之王',
- icon:'3',
- content:'1111111'
- },
- {
- name:'宙斯',
- name1:'众神之王',
- icon:'3',
- content:'222222'
- },
- {
- name:'宙斯',
- name1:'众神之王',
- icon:'3',
- content:'3333333'
- }
- ];
- let node = cc.instantiate(this.mDialog);
- this.ff.main.viewManage.popView(node);
- this.dialogBox = node.getComponent(FDialogBox);
- this.dialogBox.setData(dialog1);
- this.dialogBox.setCallback(()=>{
-
- this.showAttr();
- });
- }
- /**
- * 显示增加属性buff选择
- */
- private showAttr(){
- let datas = [
- {
- name:'附加攻击力',
- about:'普通攻击增加',
- icon:'attribute_icon_1',
- vaule:40,
- type:1,//添加属性类型
- },
- {
- name:'附加攻击力',
- about:'普通攻击增加',
- icon:'attribute_icon_1',
- vaule:40,
- type:1,//添加属性类型
- },
- {
- name:'附加攻击力',
- about:'普通攻击增加',
- icon:'attribute_icon_1',
- vaule:40,
- type:1,//添加属性类型
- }
- ];
- this.dialogBox.setAttr(datas);
- this.dialogBox.setAttrCallback((attr:DialogAttrContent)=>{
- this.exitDialog();
- this.node.destroy();
- cc.log('选择增加属性类型:',attr);
- let ffs = this.ff.getGroupBy(GroupType.A);
- ffs.forEach(sprite => {
- this.addAttr(sprite,attr);
- });
- });
- }
- private addAttr(sprite:FSprite,attr:DialogAttrContent){
- let data = sprite.attrData;
- if(attr.type == 1){
- data.atk += Math.floor(data.atk*attr.vaule/100);
- }
-
- }
- }
|