26 lines
1.0 KiB
TypeScript
Raw Normal View History

2023-02-22 09:50:51 +08:00
import { _decorator, Component, Node, geometry, PhysicsSystem, PhysicsRayResult } from 'cc';
import { fx } from '../../core/effect/fx';
import { ActorEquipBase } from './actor-equip-base';
import { ActorPart } from './actor-part';
import { calculateDamage } from './damage-core';
const { ccclass, property } = _decorator;
@ccclass('ActorAxe')
export class ActorAxe extends ActorEquipBase {
onFire() {
this._bagData!.bulletCount--;
const forwardNode = this._actor!._forwardNode;
const origin = forwardNode.worldPosition;
const dir = forwardNode.forward;
let ray = new geometry.Ray(origin.x, origin.y, origin.z, dir.x, dir.y , dir.z);
const mask = 1 << 3 | 1 << 4;
const distance = this._data.damage.distance;
let hit:PhysicsRayResult | undefined = undefined;
if (PhysicsSystem.instance.raycastClosest(ray, mask, distance)) {
hit = PhysicsSystem.instance.raycastClosestResult;
}
calculateDamage(this._data, hit);
}
}