Commit 8fc77e6c authored by haiyoucuv's avatar haiyoucuv

init

parent 0dd09263
...@@ -18,6 +18,9 @@ export enum EPropType { ...@@ -18,6 +18,9 @@ export enum EPropType {
ccenum(EPropType); ccenum(EPropType);
export type ECard = EPropType.CARD_A | EPropType.CARD_B | EPropType.CARD_C;
// 移动方向枚举 // 移动方向枚举
export enum DirectionType { export enum DirectionType {
DEFAULT = 0, // 默认方向 DEFAULT = 0, // 默认方向
......
import { _decorator } from "cc"; import { _decorator, Collider2D } from "cc";
import { PropBase } from "./PropBase"; import { PropBase } from "./PropBase";
import { Snake } from "db://assets/Scripts/Scenes/MainGame/Snake"; import { Snake } from "db://assets/Scripts/Scenes/MainGame/Snake";
import { EPropType } from "../Common/Enums"; import { ECard, EPropType } from "../Common/Enums";
import { CardManager } from "../Manager/CardManager"; import { CardManager } from "../Manager/CardManager";
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
...@@ -10,13 +10,14 @@ const { ccclass, property } = _decorator; ...@@ -10,13 +10,14 @@ const { ccclass, property } = _decorator;
export class Card extends PropBase { export class Card extends PropBase {
@property({ type: EPropType }) @property({ type: EPropType })
tag: EPropType = EPropType.CARD_A; tag: ECard = EPropType.CARD_A;
onLoad() { onLoad() {
this.getComponent(Collider2D).tag = this.tag;
} }
beEaten = (target: Snake) => { beEaten = (target: Snake) => {
target.addCard(this.tag);
}; };
recycle() { recycle() {
......
...@@ -18,6 +18,7 @@ import { isIntersect, loadSkin } from "./utils/uitl"; ...@@ -18,6 +18,7 @@ import { isIntersect, loadSkin } from "./utils/uitl";
import { bodyPool } from "./Manager/CommonPool"; import { bodyPool } from "./Manager/CommonPool";
import { PropBase } from "./Props/PropBase"; import { PropBase } from "./Props/PropBase";
import { FoodManger } from "./Manager/FoodManger"; import { FoodManger } from "./Manager/FoodManger";
import { ECard, EPropType } from "./Common/Enums";
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
...@@ -46,6 +47,8 @@ export class Snake extends Component { ...@@ -46,6 +47,8 @@ export class Snake extends Component {
@property(Prefab) bodyPrefab: Prefab = null; @property(Prefab) bodyPrefab: Prefab = null;
cardMap: Map<ECard, number> = new Map<ECard, number>();
// 私有成员变量 // 私有成员变量
bodyArr: Node[] = []; bodyArr: Node[] = [];
private imgHead: SpriteFrame = null; private imgHead: SpriteFrame = null;
...@@ -208,6 +211,18 @@ export class Snake extends Component { ...@@ -208,6 +211,18 @@ export class Snake extends Component {
} }
} }
addCard(type: ECard) {
if (!this.cardMap.has(type)) {
this.cardMap.set(type, 0);
}
this.cardMap.set(type, this.cardMap.get(type) + 1);
this.checkCard();
}
checkCard() {
}
// 能量与成长 // 能量与成长
private lastRemaining = 0; private lastRemaining = 0;
...@@ -368,6 +383,8 @@ export class Snake extends Component { ...@@ -368,6 +383,8 @@ export class Snake extends Component {
this.isLife = false; this.isLife = false;
this.node.active = false; this.node.active = false;
this.cardMap.clear();
this.clearInvincible();
const len = this.bodyArr.length; const len = this.bodyArr.length;
const foodArr = this.bodyArr.map((body) => { const foodArr = this.bodyArr.map((body) => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment