public override void Enter() { base.Enter(); _iKManager.SetAim(false); _iKManager.SetHold(false); _iKManager.SetLook(true); }
public override void Enter() { base.Enter(); _iKManager.SetAim(false); //_iKManager.SetLook(false); _weaponHandle.handPoint.localPosition = runOffset._position; _weaponHandle.handPoint.localEulerAngles = runOffset._rotation; }
public override void Enter() { base.Enter(); process = 1; if (_weaponAttribute.active) { _animator.animator.SetTrigger("pickWeapon"); _animator.animator.SetInteger("weaponTarget", (int)_weaponAttribute.type); _animator.AddEvent("weaponType", (int)_weaponAttribute.type); _iKManager.SetHoldTarget(_weaponAttribute.holdPoint); _iKManager.SetAim(false); _iKManager.SetHold(false); _iKManager.SetLook(true); endTimer.Enter(endTime); pickTimer.Enter(pickTime); _weaponHandle.locked = true; var cutMsg = new UiEvent.UiMsgs.WeaponCut() { texture = _weaponAttribute.cutPicInBattle }; _uiMgr.SendEvent(cutMsg); var ammoMsg = new UiEvent.UiMsgs.Ammo() { ammo = _weaponAttribute.runtimeMag + (_weaponAttribute.bore ? 1f : 0f), mag = _weaponAttribute.mag }; _uiMgr.SendEvent(ammoMsg); var spreadMsg = new UiEvent.UiMsgs.Spread() { value = _weaponAttribute.spread }; _uiMgr.SendEvent(spreadMsg); } else { _weaponAttribute.constraint.weight = 1; foreach (var state in _weaponAttribute.states.Values) { if (!state._name.Equals(this._name)) { if (state._active) { state.Exit(); } } } _weaponAttribute.ready = false; this._exitTick = true; } _iKManager.SetAim(false); _iKManager.SetHold(false); }
public override void Enter() { base.Enter(); _weaponAttribute.reload = true; process = 1; _animator.animator.SetTrigger("reload"); _ownAnimator.SetTrigger("reload"); _iKManager.SetAim(false); _iKManager.SetHoldTarget(magIK); //_weaponHandle.locked = true; }
public override void Enter() { base.Enter(); _weaponAttribute.reload = true; _iKManager.SetAim(false); _iKManager.SetHold(false); _animator.animator.SetTrigger("reload"); _audioSource.PlayOneShot(sound); //_weaponHandle.locked = true; }
public override void Enter() { base.Enter(); if (_velocity.armed) { _velocity.currentSpeed = speed; _animator.animator.SetBool("run", true); _iKManager.SetAim(false); if (!_velocity.isLocalPlayer) { _velocity.Drun = true; } timer.Enter(runStepTime); } }
public override void Enter() { base.Enter(); if (!_weaponAttribute.reload) { _iKManager.SetAim(true); } _velocity.Drun = false; _velocity.aiming = true; _camera.FOVtarget = FOV; var spreadMsg = new UiEvent.UiMsgs.Spread() { value = _weaponAttribute.runingSpread + 5f }; _uiMgr.SendEvent(spreadMsg); }
public override void Enter() { base.Enter(); process = 1; timer.Enter(vanishTime); attributes.isDead = true; velocity.isActive = false; velocity.Reset(); anim.animator.enabled = false; attackListener.isActive = false; attackListener.Reset(); iKManager.SetAim(false); iKManager.SetHold(false); iKManager.SetDead(true); weaponHandle.Reset(); weaponHandle.active = false; }
public override void Enter() { base.Enter(); _velocity.Drun = false; _iKManager.SetAim(true); if (_velocity.isLocalPlayer) { if (_weaponAttribute.bore) { Sound.PlayOneShot(_audio, sound); _iKManager.aimIK.solver.axis = fireAxis; // 后坐力 if (_velocity.aiming) { _camera.forceX = _weaponAttribute.recoilX; _camera.forceY = Random.Range(-_weaponAttribute.recoilY, _weaponAttribute.recoilY); } else { _camera.forceX = _weaponAttribute.recoilX * 0.5f; } Transform OcclusionPoint = _weaponHandle.OcclusionPoint; if (Physics.Raycast(OcclusionPoint.position, OcclusionPoint.forward, out hitInfo, OcclusionSensorDistance, occlusionLayer.layerMask)) { startPoint = OcclusionPoint.position; targetPoint = hitInfo.point; visable = false; } else { // 激活枪口火光 muzzleFlash.SetActive(false); muzzleFlash.SetActive(true); // 弹道扩散 if (_velocity.aiming) { float range = _weaponAttribute.runingSpread * 0.5f * Battle.relativeRate; _weaponAttribute.runingSpread += this.spreadFroce; _weaponAttribute.runingSpread = Mathf.Clamp(_weaponAttribute.runingSpread, 0f, _weaponAttribute.aimSpread); Vector2 offset = new Vector2(Random.Range(-range, range), Random.Range(-range, range)); startPoint = _weaponHandle.shootPoint.position; targetPoint = _camera.GetAimPoint(offset); SendSpreadMsg(); } else { float range = _weaponAttribute.spread * (_velocity.crouch ? _weaponAttribute.crouchSpreadRate * 0.5f : 0.5f) * Battle.relativeRate; Vector2 offset = new Vector2(Random.Range(-range, range), Random.Range(-range, range)); startPoint = _weaponHandle.shootPoint.position; targetPoint = _camera.GetAimPoint(offset); SendSpreadMsg(_weaponAttribute.spread * (_velocity.crouch ? _weaponAttribute.crouchSpreadRate : 1f) + 20f); } visable = Vector3.Distance(startPoint, targetPoint) >= bulletVisibleDistence; } Effect.AddBullet( bullet, new Attack() { source = _battleMgr, demage = _weaponAttribute.damage, }, startPoint, targetPoint, _attributes.camp, visable ); _weaponAttribute.OnFire?.Invoke(); _photonView.RPC("NetworkFire", PhotonTargets.Others, _weaponAttribute.index, targetPoint); if (_weaponAttribute.runtimeMag > 0) { _weaponAttribute.runtimeMag--; _weaponAttribute.bore = true; } else { _weaponAttribute.bore = false; } } timer.Enter(_weaponAttribute.interval); // 发送ui消息 SendUiMsgs(); _battleMgr.AddFire(); _camera.mainCamera.fieldOfView += 0.25f; } else { Sound.PlayOneShot(_audio, sound); _iKManager.aimIK.solver.axis = fireAxis; Transform OcclusionPoint = _weaponHandle.OcclusionPoint; if (Physics.Raycast(OcclusionPoint.position, OcclusionPoint.forward, out hitInfo, OcclusionSensorDistance, occlusionLayer.layerMask)) { startPoint = OcclusionPoint.position; visable = false; } else { // 激活枪口火光 muzzleFlash.SetActive(false); muzzleFlash.SetActive(true); startPoint = _weaponHandle.shootPoint.position; } Effect.AddBullet( bullet, new Attack() { source = _battleMgr, demage = 0 }, startPoint, targetPoint, _attributes.camp, visable, false ); } }