| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- var reGameStates = require('GameStates');
- //建筑物信息
- var animalInfo = cc.Class({
- name: "animalInfo",
- properties: {
- //动物类型
- animalType: {
- default: reGameStates.AnimalType.None,
- type: cc.Enum(reGameStates.AnimalType),
- },
- //动物类型id
- id: {
- default: -1,
- visible: false
- },
- isItHungry: {
- default: false,
- tooltip: '是否饥饿',
- visible: false
- },
- animalName: {
- default: '',
- },
- justBreed: {
- default: null,
- type: cc.SpriteFrame,
- tooltip: '初始养殖'
- },
- justBreedHungry: {
- default: null,
- type: cc.SpriteFrame,
- tooltip: '初始养殖饥饿'
- },
- growBreed: {
- default: null,
- type: cc.SpriteFrame,
- tooltip: '养殖成长'
- },
- growBreedHungry: {
- default: null,
- type: cc.SpriteFrame,
- tooltip: '养殖成长中饥饿'
- },
- matureBreed: {
- default: null,
- type: cc.SpriteFrame,
- tooltip: '养殖成熟状态'
- }
- }
- });
- cc.Class({
- extends: cc.Component,
- properties: {
- animals: {
- default: [],
- type: animalInfo,
- tooltip: '养殖动物配置'
- },
- currentAnimal: {
- default: null,
- type: animalInfo,
- visible: false,
- tooltip: '当前养殖的动物信息'
- },
- changeSprite: {
- default: null,
- type: cc.Sprite,
- serializable: true,
- },
- foodChangeSprite: {
- default: null,
- type: cc.Sprite,
- serializable: true,
- },
- foodFullSpriteFrame: {
- default: null,
- type: cc.SpriteFrame,
- serializable: true,
- },
- foodEmptySpriteFrame: {
- default: null,
- type: cc.SpriteFrame,
- serializable: true,
- },
- },
- // start() {
- // },
- /**
- * 设置成长状态
- * @param {动物类型} animalType
- * @param {成长状态} growStage
- * @param {是否在饥饿状态} isItHungry
- */
- onSetGrow(animalType, growStage, isItHungry) {
- if (this.currentAnimal == null) {
- for (let i = 0; i < this.animals.length; i++) {
- if (this.animals[i].animalType == animalType) {
- this.currentAnimal = this.animals[i];
- }
- }
- }
- if (this.currentAnimal) {
- if (growStage === 0) {
- this.changeSprite.spriteFrame = isItHungry ? this.currentAnimal.justBreedHungry : this.currentAnimal.justBreed;
- this.foodChangeSprite.spriteFrame = isItHungry ? this.foodEmptySpriteFrame : this.foodFullSpriteFrame;
- } else if (growStage === 1) {
- this.changeSprite.spriteFrame = isItHungry ? this.currentAnimal.growBreedHungry : this.currentAnimal.growBreed;
- this.foodChangeSprite.spriteFrame = isItHungry ? this.foodEmptySpriteFrame : this.foodFullSpriteFrame;
- } else {
- this.changeSprite.spriteFrame = this.currentAnimal.matureBreed;
- }
- }
- },
- /**
- * 获取成熟的spriteFrame
- * @param {*} withered
- * @param {*} animalType
- * @returns
- */
- onGetMatureBreed(withered, animalType) {
- for (let i = 0; i < this.animals.length; i++) {
- // console.log(animalType,this.animals[i].animalType);
- if (this.animals[i].animalType == animalType) {
- this.currentAnimal = this.animals[i];
- //这里处理一个成熟的枯萎状态,暂时用成长过程的饥饿状态来展现
- return withered ? this.currentAnimal.growBreedHungry : this.currentAnimal.matureBreed;
- }
- }
- },
- /**
- * 重置成长状态
- */
- onResetAnimal() {
- this.currentAnimal = null;
- this.changeSprite.spriteFrame = null;
- this.changeSprite.spriteFrame = this.foodEmptySpriteFrame;
- }
- });
|