玩法 / HotWeaponFireComponent
HotWeaponFireComponent Class
热武器开火组件,负责维护热武器射击的主要参数,及核心逻辑
使用示例: 创建一个名为"HotWeaponFireSample1"的脚本,放置在对象管理器热武器的子节点中,打开脚本,输入以下代码保存,运行游戏,代码如下:ts
@Component
export default class HotWeaponFireSample1 extends Script {
protected onStart(): void {
// 构造
const hotWeapon = this.gameObject as HotWeapon;
if (SystemUtil.isServer()) {
hotWeapon.fireComponent.isFireOnScreenCenter = false;
hotWeapon.fireComponent.clipSize = 50;
hotWeapon.fireComponent.fireInterval = 0;
hotWeapon.fireComponent.multipleShot = 3;
hotWeapon.fireComponent.isFireOnScreenCenter = false;
hotWeapon.fireComponent.offsetOfFireOnScreenCenter = new Vector(100, 30, 0);
// 设置参数
hotWeapon.fireComponent.animationAssetId = "80484";
hotWeapon.fireComponent.onStartFire.add(() => { console.log("fireComponent.onStartFireClient") });
hotWeapon.fireComponent.onEndFire.add(() => { console.log("fireComponent.onEndFireClient") });
hotWeapon.fireComponent.onEndContinuousFire.add(() => { console.log("fireComponent.onEndFireClient") });
}
}
}
@Component
export default class HotWeaponFireSample1 extends Script {
protected onStart(): void {
// 构造
const hotWeapon = this.gameObject as HotWeapon;
if (SystemUtil.isServer()) {
hotWeapon.fireComponent.isFireOnScreenCenter = false;
hotWeapon.fireComponent.clipSize = 50;
hotWeapon.fireComponent.fireInterval = 0;
hotWeapon.fireComponent.multipleShot = 3;
hotWeapon.fireComponent.isFireOnScreenCenter = false;
hotWeapon.fireComponent.offsetOfFireOnScreenCenter = new Vector(100, 30, 0);
// 设置参数
hotWeapon.fireComponent.animationAssetId = "80484";
hotWeapon.fireComponent.onStartFire.add(() => { console.log("fireComponent.onStartFireClient") });
hotWeapon.fireComponent.onEndFire.add(() => { console.log("fireComponent.onEndFireClient") });
hotWeapon.fireComponent.onEndContinuousFire.add(() => { console.log("fireComponent.onEndFireClient") });
}
}
}
Table of contents
Properties
onEndContinuousFire: MulticastDelegateInterface <() => void > |
---|
服务器完成一次连发射击周期时执行绑定函数。使用示例见类 HotWeaponFireComponent 使用示例 |
onEndFire: MulticastDelegateInterface <() => void > |
服务器停止开火时执行绑定函数。使用示例见类 HotWeaponFireComponent 使用示例 |
onStartFire: MulticastDelegateInterface <() => void > |
服务器开始开火时执行绑定函数。使用示例见类 HotWeaponFireComponent 使用示例 |
Accessors
animationAssetId(): string |
---|
绑定的动画GUID。使用示例见类 HotWeaponFireComponent 使用示例 |
clipSize(): number |
获取当前弹夹容量。使用示例见类 HotWeaponFireComponent 使用示例 |
currentBullet(): number |
获取当前弹夹中子弹数量。使用示例见类 HotWeaponFireComponent 使用示例 |
fireInterval(): number |
获取开火间隙。使用示例见类 HotWeaponFireComponent 使用示例 |
fireMode(): HotWeaponFireMode |
获取当前的开火模式 |
isFireOnScreenCenter(): boolean |
获取是否在屏幕中心开火。使用示例见类 HotWeaponFireComponent 使用示例 |
multipleShot(): number |
获取一次开火发射的子弹数量。使用示例见类 HotWeaponFireComponent 使用示例 |
offsetOfFireOnScreenCenter(): Vector |
获取屏幕中心开火时的偏移。使用示例见类 HotWeaponFireComponent 使用示例 |
Methods
isFiring(): boolean |
---|
获取当前状态下bFiring的值,一般用于处理全自动开火模式下的自动换弹 |
Properties
onEndContinuousFire
• onEndContinuousFire: MulticastDelegateInterface
<() => void
>
服务器完成一次连发射击周期时执行绑定函数。使用示例见类 HotWeaponFireComponent 使用示例
onEndFire
• onEndFire: MulticastDelegateInterface
<() => void
>
服务器停止开火时执行绑定函数。使用示例见类 HotWeaponFireComponent 使用示例
onStartFire
• onStartFire: MulticastDelegateInterface
<() => void
>
服务器开始开火时执行绑定函数。使用示例见类 HotWeaponFireComponent 使用示例
Accessors
animationAssetId
• | • | ||||
---|---|---|---|---|---|
绑定的动画GUID。使用示例见类 HotWeaponFireComponent 使用示例 Returns
| 设置动画 GUID。使用示例见类 HotWeaponFireComponent 使用示例 Parameters
|
clipSize
• | • | ||||
---|---|---|---|---|---|
获取当前弹夹容量。使用示例见类 HotWeaponFireComponent 使用示例 Returns
| 设置当前弹夹容量。使用示例见类 HotWeaponFireComponent 使用示例 Precautions 装备热武器前仅服务器调用,装备后双端都可调用 Parameters
|
currentBullet
• | • | ||||
---|---|---|---|---|---|
获取当前弹夹中子弹数量。使用示例见类 HotWeaponFireComponent 使用示例 Returns
| 设置当前弹夹中子弹数量。使用示例见类 HotWeaponFireComponent 使用示例 Parameters
|
fireInterval
• | • | ||||
---|---|---|---|---|---|
获取开火间隙。使用示例见类 HotWeaponFireComponent 使用示例 Returns
| 设置开火间隙。使用示例见类 HotWeaponFireComponent 使用示例 Precautions 装备热武器前仅服务器调用,装备后双端都可调用 Parameters
|
fireMode
• | • | ||||
---|---|---|---|---|---|
获取当前的开火模式 Returns
| 切换设置当前开火模式 Precautions 装备前只能在服务器调用,装备后可在客户端调用 Parameters
|
isFireOnScreenCenter
• | • | ||||
---|---|---|---|---|---|
获取是否在屏幕中心开火。使用示例见类 HotWeaponFireComponent 使用示例 Returns
| 设置是否在屏幕中心开火。使用示例见类 HotWeaponFireComponent 使用示例 Precautions 装备热武器前仅服务器调用,装备后双端都可调用 Parameters
|
multipleShot
• | • | ||||
---|---|---|---|---|---|
获取一次开火发射的子弹数量。使用示例见类 HotWeaponFireComponent 使用示例 Returns
| 设置一次开火发射的子弹数量。使用示例见类 HotWeaponFireComponent 使用示例 Precautions 装备热武器前仅服务器调用,装备后双端都可调用 Parameters
|
offsetOfFireOnScreenCenter
• | • | ||||
---|---|---|---|---|---|
获取屏幕中心开火时的偏移。使用示例见类 HotWeaponFireComponent 使用示例 Returns
| 设置屏幕中心开火时的偏移。使用示例见类 HotWeaponFireComponent 使用示例 Precautions 装备热武器前仅服务器调用,装备后双端都可调用 Parameters
|
Methods
isFiring
• isFiring(): boolean
获取当前状态下bFiring的值,一般用于处理全自动开火模式下的自动换弹
Returns
boolean | 当前弹夹中子弹数量 |
---|