1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import { AnimationComponent } from "cc";
- import { SoundManager } from "../../../../engines/sounds/SoundManager";
- import { GameController } from "../GameController";
- import { WeaponBase } from "./WeaponBase";
- export default class AutomaticFifleWeapon extends WeaponBase
- {
- constructor(leftHand:AnimationComponent,rightHand:AnimationComponent){
- super(leftHand,rightHand);
- }
-
- Fire(bullet:boolean):void{
- super.Fire(bullet);
- if(this.fireKey==1){
- this.FireLeft();
- // SoundManager.single.StopSound("WeaponRight");
- if(bullet){
- this.bulletCount--;
- }
- }else if(this.fireKey==3){
- this.FireRight();
- // SoundManager.single.StopSound("WeaponLeft");
- if(bullet){
- this.bulletCount--;
- }
- }else{
- this.FireLeft();
- if(this.bulletCount>1){
- this.FireRight();
- }
- if(bullet){
- this.bulletCount-=2;
- }
- }
- }
- StopFire():void{
- super.StopFire();
- SoundManager.single.StopSound("WeaponLeft");
- SoundManager.single.StopSound("WeaponRight");
- }
- Reload():void{
- super.Reload();
- SoundManager.single.StopSound("WeaponLeft");
- SoundManager.single.StopSound("WeaponRight");
- }
- private FireLeft():void{
- this.isLeftFire=true;
- this.leftHand.on(AnimationComponent.EventType.FINISHED,this.FireCompleteHandler,this,true);
- this.leftHand.play(this.weaponConfig.handFireAnimation);
- this.rightHand.crossFade("Idle",0.5);
- this.leftGunFire.play(this.weaponConfig.gunFireAnimation);
- GameController.single.WeaponAttack();
- SoundManager.single.PlaySound("WeaponLeft",this.weaponConfig.fireSound,true);
- }
- private FireRight():void{
- this.isLeftFire=false;
- this.rightHand.on(AnimationComponent.EventType.FINISHED,this.FireCompleteHandler,this,true);
- this.rightHand.play(this.weaponConfig.handFireAnimation);
- this.leftHand.crossFade("Idle",0.5);
-
- this.rightGunFire.play(this.weaponConfig.gunFireAnimation);
- GameController.single.WeaponAttack();
- SoundManager.single.PlaySound("WeaponRight",this.weaponConfig.fireSound,true);
- }
-
- private FireCompleteHandler():void{
- this.isFire=false;
- if(this.isLeftFire){
- this.leftHand.crossFade("Idle",0.5);
- }else{
- this.rightHand.crossFade("Idle",0.5)
- }
- }
- }
|