123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- var {GameNotificationKey} = require('../utils/GameEnum');
- cc.Class({
- extends: cc.Component,
- properties: {
- backgroundNode: cc.Node,
- backgroundSelectedNode: cc.Node,
- itemNode: cc.Node,
- itemSprite: cc.Sprite,
- countLabel: cc.Label,
- isSelected: {
- get: function() {
- if (!this._isSelected) {
- this._isSelected = false;
- }
- return this._isSelected;
- },
- set: function(value) {
- this._isSelected = value;
- if (this._isSelected) {
- this.backgroundSelectedNode.active = true;
- this.backgroundNode.active = false;
- } else {
- this.backgroundSelectedNode.active = false;
- this.backgroundNode.active = true;
- }
- }
- },
- hasItem: {
- get: function() {
- if (!this._hasItem) {
- this._hasItem = false;
- }
- return this._hasItem;
- },
- set: function(value) {
- this._hasItem = value;
- if (this._hasItem) {
- this.itemNode.active = true;
- } else {
- this.itemNode.active = false;
- }
- }
- },
- },
- // LIFE-CYCLE CALLBACKS:
- onLoad () {
- this.winSize = cc.view.getVisibleSize();
- this.setEventListener();
- },
- setEventListener() {
- GameEvent.on(GameNotificationKey.RefreshPackItem, this, () => {
- this.isSelected = false;
- });
- },
- onDisable() {
- this.hasItem = false;
- this.isSelected = false;
- GameEvent.off(GameNotificationKey.RefreshPackItem, this);
- },
- init(index,page,itemInfo) {
- this.itemIndex = index;
- this.page = page;
- if (itemInfo != undefined) {
- this.hasItem = true;
- this.itemInfo = itemInfo;
- this.configData();
- } else {
- this.hasItem = false;
- }
- },
- configData() {
- let itemId = this.itemInfo.itemId;
- let count = this.itemInfo.count;
- cc.loader.loadRes('item/'+this.itemInfo.picId, cc.SpriteFrame, (err, spriteFrame) => {
- this.itemSprite.spriteFrame = spriteFrame;
- });
- this.countLabel.string = count;
- },
- start () {
- },
- // update (dt) {},
- selectItem() {
- if (this.hasItem == false) {
- return;
- }
- if (this.isSelected == true) {
- this.isSelected = false;
- GameEvent.fire(GameNotificationKey.HidePropDesc);
- } else {
- GameEvent.fire(GameNotificationKey.RefreshPackItem);
- this.isSelected = true;
- let position = this.getWorldPosition(this.node);
- GameEvent.fire(GameNotificationKey.ShowPropDesc,position, this.itemInfo);
- }
- },
- getWorldPosition(node) {
- return node.convertToNodeSpaceAR(cc.p((this.winSize.width/2), (this.winSize.height/2)));
- },
- });
|