123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- // 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 RewardMnr from "../Template/RewardMnr";
- import Prop from "./Prop";
- const { ccclass, property } = cc._decorator;
- @ccclass
- export default class GameProp1001 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() {
- AudioManager.instance.playEffect(AudioManager.eatJinbi)
- let Gold = cc.Camera.main.node.getChildByName("Gold")
- let WordPos = Gold.convertToWorldSpaceAR(cc.v3(0, 0, 0))
- let NodePos = this.node.parent.convertToNodeSpaceAR(WordPos)
- cc.tween(this.node)
- .to(0.4, { position: cc.v3(NodePos, 0) })
- .call(() => {
- RewardMnr.getInstance().addGold(this.Flag(), 1)
- this.node.destroy()
- })
- .start()
- }
- }
|