123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- const { LevelHomeArtistItemStyle, ArtistOperation } = require('../utils/GameEnum')
- const Api = require('../net/Api');
- const DWTool = require('../utils/DWTool');
- const AlertManager = require('../utils/AlertManager');
- cc.Class({
- extends: cc.Component,
- properties: {
-
- // 0是自己, 1是好友
- artistBgSpriteFrames: [cc.SpriteFrame],
-
- bgSprite: cc.Sprite,
- addBtn: cc.Button,
- artistNode: cc.Node,
- headSprite: cc.Sprite,
- tipNode: cc.Node,
- topSprite: cc.Sprite,
- bototomSprite: cc.Sprite,
- },
- // LIFE-CYCLE CALLBACKS:
- initWithBuildingInfo(buildingInfo, uid, isSelf, showTop = false, showBottom = false) {
- this.setStyle(LevelHomeArtistItemStyle.Add);
- this.buildingInfo = buildingInfo;
- this.uid = uid;
- this.isSelf = isSelf;
- this.topSprite.node.active = showTop;
- this.bototomSprite.node.active = showBottom;
- },
- initWithArtistData(buildingInfo, uid, isSelf, artistData, showTop = false, showBottom = false) {
-
- this.setStyle(LevelHomeArtistItemStyle.Artist);
- this.artistData = artistData;
- this.buildingInfo = buildingInfo;
- this.uid = uid;
- this.isSelf = isSelf;
- // 自己艺人
- if (this.artistData.role === 2) {
- this.bgSprite.spriteFrame = this.artistBgSpriteFrames[0];
- } else {
- this.bgSprite.spriteFrame = this.artistBgSpriteFrames[1];
- }
-
- Api.createImageFromUrl(this.artistData.head, (spriteFrame) => {
- this.headSprite.spriteFrame = spriteFrame;
- }, null);
- this.topSprite.node.active = showTop;
- this.bototomSprite.node.active = showBottom;
- },
- onLoad () {
- this.artistNode.on(cc.Node.EventType.TOUCH_END, _.debounce(() => {
- // 去好友家园, 并且这个艺人是该家园主人的艺人, 不能点击
- if (!this.isSelf && this.artistData.role === 2) { return; }
- // 是自己的家园, 并且是自己的艺人, 弹出自己的艺人列表, 可以切换驻场艺人
- if (this.isSelf && this.artistData.role === 2) {
- AlertManager.showArtistResident(this.buildingInfo, this.uid, this.isSelf);
- } else {
- AlertManager.showArtistOperationAlert(this.buildingInfo, this.uid, this.isSelf, this.artistData);
- }
-
- }, 1000, true), this);
- this.handleAddArtist = _.debounce(() => {
- AlertManager.showArtistResident(this.buildingInfo, this.uid, this.isSelf);
- }, 1000, true);
- },
- setStyle(style) {
- if (this.style === style) {
- return;
- }
- switch (style) {
- case LevelHomeArtistItemStyle.Add:
- this.addBtn.node.active = true;
- this.artistNode.active = false;
- break;
- case LevelHomeArtistItemStyle.Artist:
- this.addBtn.node.active = false;
- this.artistNode.active = true;
- break;
- default:
- break;
- }
- this.style = style;
- },
- addArtist() {
- this.handleAddArtist();
- },
- update (dt) {
- if (this.style === LevelHomeArtistItemStyle.Artist
- && this.artistData
- && this.artistData.role === 4
- && this.isSelf) {
-
- let time = (Date.parse(new Date()) - this.artistData.stationTime) / 1000;
- if (time < 900) { // 入驻15分钟才可以召回
- this.tipNode.active = false;
- } else {
- this.tipNode.active = true;
- }
- }
- },
- });
|