123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- var TalentApi = require('../net/TalentApi');
- const wechat = require('../net/WeChat');
- const inviteMission = require('../data/inviteReward');
- const { GameNotificationKey } = require('../utils/GameEnum');
- const GameModule = require("../utils/GameModule");
- const FriendSystemApi = require('../net/FriendSystemApi');
- const DWTool = require('../utils/DWTool');
- var InvitedItem = require("TalentInvitedItem");
- cc.Class({
- extends: cc.Component,
- properties: {
- contentNode: cc.Node,
- invitedPrefab: cc.Prefab,
- invitedScrollViewNode: cc.ScrollView,
- listScrollViewNode: cc.ScrollView,
- missionPrefab: cc.Prefab,
- invitedItemArray: [InvitedItem],
- //
- actGift: {
- tooltip: '活跃度弹出层',
- default: null,
- type: cc.Node
- },
- actGiftFrames: {
- tooltip: '奖品大图',
- default: [],
- type: [cc.SpriteFrame]
- },
- actGiftSprite: cc.Sprite,
- actGiftLabel: cc.Label,
- },
- // LIFE-CYCLE CALLBACKS:
- onLoad() {
- this.giftMap = ['coin', 'diamond', 'ticket'];
- for (var i = 0; i < 10; i++) {
- let item = cc.instantiate(this.invitedPrefab);
- item = item.getComponent('TalentInvitedItem');
- item.node.parent = this.invitedScrollViewNode.content;
- this.invitedItemArray.push(item);
- }
- GameEvent.on(GameNotificationKey.TalentGainAward, this, (model) => {
- this.gainActGift(model);
- });
- },
- start() {
- },
- onDisable() {
- for (let child of this.listScrollViewNode.content.children) {
- child.destroy();
- }
- },
- // update (dt) {},
- init() {
- this.node.parent = cc.find('Canvas');
- this.node.active = true;
- this.node.setContentSize(cc.view.getVisibleSize());
- this.contentNode.y = -cc.view.getVisibleSize().height;
- let action = cc.sequence(cc.moveTo(0.2, 0, 0).easing(cc.easeCubicActionOut()), cc.callFunc(() => {
- this.getNetworkData();
- }));
- this.contentNode.runAction(action);
- },
- closeNode() {
- let finish = cc.callFunc(() => {
- this.node.active = false;
- }, this);
- this.contentNode.runAction(cc.sequence(cc.moveTo(0.2, 0, -cc.view.getVisibleSize().height).easing(cc.easeCubicActionIn()), finish));
- },
- getNetworkData() {
- TalentApi.getTalentMissionList((responseData) => {
- // console.log("responseData: " + JSON.stringify(responseData));
- this.loadData(responseData);
- }, (error) => {
- console.log('talentmission error' + error);
- });
- },
- loadData(responseData) {
- this.userHeadInfoList = responseData.userHeadInfoList;
- this.inviteRewardRecordVoList = responseData.inviteRewardRecordVoList;
- this.invitedCount = responseData.invited;
- this.layoutInvitedUser();
- this.layoutMission();
- },
- layoutInvitedUser() {
- for (var i = 0; i < this.userHeadInfoList.length; i++) {
- let item = this.invitedItemArray[i];
- let itemModel = this.userHeadInfoList[i];
- item.configData(itemModel);
- }
- },
- layoutMission() {
- for (var i = 0; i < this.inviteRewardRecordVoList.length; i++) {
- let itemModel = this.inviteRewardRecordVoList[i];
- for (let mission of inviteMission) {
- if (mission.id == itemModel.rid) {
- let item = cc.instantiate(this.missionPrefab);
- item = item.getComponent('TalentInviteMissionItem');
- item.node.parent = this.listScrollViewNode.content;
- item.node.width = this.listScrollViewNode.node._contentSize.width;
- mission.state = itemModel.state;
- item.configData(mission, this.invitedCount);
- break;
- }
- }
- }
- },
- inviteArtist() {
- wechat.inviteArtistPromise().then(() => {
- FriendSystemApi.shareSuccessNotice();
- });
- },
- /**
- * 显示领取活跃度奖励动画
- * @param {string} type {coin: 金币, diamond: 钻石, ticket: 艺人券,}
- */
- showActGift(type, showText) {
- this.actGift.active = true;
- this.giftMap.forEach((value, index) => {
- if (type == value) {
- this.actGiftSprite.spriteFrame = this.actGiftFrames[index];
- if (showText) {
- this.actGiftLabel.node.active = true;
- this.actGiftLabel.string = showText;
- } else {
- this.actGiftLabel.node.active = false;
- }
- }
- })
- },
- hideActGift() {
- this.showArray.shift();
- if (this.showArray.length > 0) {
- let itemModel = this.showArray[0];
- this.showActGift(itemModel.type, itemModel.count);
- } else {
- this.actGift.active = false;
- }
- },
- gainActGift(model) {
- this.showArray = [];
- let coin = model.coin;
- let diamond = model.diamond;
- let ticket = model.ticket;
- if (coin > 0) {
- let type = { 'type': 'coin', 'count': `金币 x ${DWTool.coinParse(coin)}` };
- this.showArray.push(type);
- }
- if (diamond > 0) {
- let type = { 'type': 'diamond', 'count': `钻石 x ${DWTool.coinParse(diamond)}` };
- this.showArray.push(type);
- }
- if (ticket > 0) {
- let type = { 'type': 'ticket', 'count': `艺人券 x ${DWTool.coinParse(ticket)}` };
- this.showArray.push(type);
- }
- if (this.showArray.length > 0) {
- let itemModel = this.showArray[0];
- this.showActGift(itemModel.type, itemModel.count);
- }
- GameModule.userInfo.updateUserRes({
- grossIncome: parseInt(coin),
- diamond: parseInt(diamond),
- ticket: parseInt(ticket),
- });
- },
- });
|