1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- // Learn TypeScript:
- // - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
- // Learn Attribute:
- // - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
- // Learn life-cycle callbacks:
- // - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
- import AudioManager from "../AudioManager";
- import Character from "../Character/Character";
- import EventName from "../EventName/EventName";
- import LocalData from "../LocalData";
- import MyMap from "../Map/MyMap";
- import RewardMnr from "../Template/RewardMnr";
- import Prop from "./Prop";
- const { ccclass, property } = cc._decorator;
- @ccclass
- export default class GameProp1002 extends Prop {
- // onLoad () {}
- //触发几次获得奖励
- triggerCount = 1
- //完事之后自己是否消失
- IsDeleteMe = true
- protected onEnable(): void {
- this.node.active = RewardMnr.getInstance().isEnable(this.Flag())
- }
- onCollisionEnter(other: cc.CircleCollider, self: cc.BoxCollider) {
- if (this.triggerCount <= 0) {
- console.error('失效了');
- this.getComponent(cc.BoxCollider).enabled = false
- return
- }
- //如果碰撞了玩家
- if (other.node.getComponent(Character)) {
- this.triggerCount--
- if (this.triggerCount <= 0 && this.IsDeleteMe) {
- this.Reaward()
- }
- }
- }
- //奖励的方法
- Reaward() {
- console.error('ReawardGameProp1002');
-
- let RoundState = this.getComponentInChildren(sp.Skeleton).setAnimation(0, '奖杯', false);
- this.scheduleOnce(() => {
- let NextLevel = cc.Canvas.instance.node.getChildByName('Map').getComponent(MyMap).MapjsonData.NextLevel
- if (!NextLevel) {
- cc.systemEvent.emit(EventName.Tips, `本关 地图没有设置下一关ID`)
- return
- }
- LocalData.getInstance().setMap(NextLevel)
- if (NextLevel > 0) {
- cc.director.loadScene("Game")
- } else {
- cc.director.loadScene("Hall")
- }
- }, RoundState.animationEnd)
- }
- }
|