public void OnFrame(PlayerWeaponController controller, IWeaponCmd cmd) { if (!_initialized) { _initialized = true; } if (cmd.IsFire && cmd.FilteredInput.IsInput(EPlayerInput.IsLeftAttack)) { DoReady(controller, cmd); } if (cmd.SwitchThrowMode) { DoSwitchMode(controller, cmd); } if (cmd.IsReload && cmd.FilteredInput.IsInput(EPlayerInput.IsReload)) { DoPull(controller, cmd); } if (cmd.IsThrowing && cmd.FilteredInput.IsInput(EPlayerInput.IsThrowing)) { DoThrowing(controller, cmd); } //判断打断 CheckBrokeThrow(controller, cmd); }
public static ThrowingEntity CreateThrowingEntity( ThrowingContext throwingContext, IEntityIdGenerator entityIdGenerator, PlayerWeaponController controller, int serverTime, Vector3 dir, float initVel, WeaponResConfigItem newWeaponConfig, ThrowingConfig throwingConfig) { int throwingEntityId = entityIdGenerator.GetNextEntityId(); var emitPost = PlayerEntityUtility.GetThrowingEmitPosition(controller); Vector3 velocity = dir * initVel; var throwingEntity = throwingContext.CreateEntity(); throwingEntity.AddEntityKey(new EntityKey(throwingEntityId, (int)EEntityType.Throwing)); throwingEntity.AddThrowingData( velocity, false, false, 0, serverTime, false, initVel, throwingConfig, newWeaponConfig.SubType ); throwingEntity.AddPosition(); throwingEntity.position.Value = emitPost; throwingEntity.AddOwnerId(controller.Owner); throwingEntity.isFlagSyncNonSelf = true; throwingEntity.AddLifeTime(DateTime.Now, throwingConfig.CountdownTime + 2000); return(throwingEntity); }
// Start is called before the first frame update void Start() { playerWeapon = GameObject.Find("Player").GetComponent <PlayerWeaponController>(); selfCollider = GetComponent <BoxCollider2D>(); itemText = GameObject.Find("ItemPickupText").GetComponent <TextMeshProUGUI>(); itemText.enabled = false; }
protected float UpdateSpread(PlayerWeaponController controller, float accuracy) { SniperSpreadLogicConfig config = controller.HeldWeaponAgent.SniperSpreadLogicCfg; float param; var posture = controller.RelatedStateInterface.GetCurrentPostureState(); if (!controller.RelatedPlayerMove.IsGround) { param = config.AirParam; } else if (controller.RelatedPlayerMove.HorizontalVelocity > Length2D1) { param = config.LengthParam1; } else if (controller.RelatedPlayerMove.HorizontalVelocity > Length2D2) { param = config.LengthParam2; } else if (posture == XmlConfig.PostureInConfig.Crouch || posture == XmlConfig.PostureInConfig.Prone) { param = config.DuckParam; } else { param = config.DefaultParam; } if (!controller.RelatedCameraSNew.IsAiming()) { param += config.FovAddParam; } return(param); }
private void Start() { playerWeaponController = player.GetComponent <PlayerWeaponController>(); UIEventHandler.OnstatsChanged += UpdateStats; //UI事件驱动 UIEventHandler.OnItemEquipped += UpdateEquipWeapon; //UI事件驱动 IniTializeStats(); }
public void OnBulletFire(PlayerWeaponController controller, WeaponSideCmd cmd) { // DebugUtil.MyLog("[seq:{1}]MuzzleP3Position:{0}",controller.RelatedFirePos.MuzzleP3Position,cmd.UserCmd.Seq); var bulletCfg = controller.HeldWeaponAgent.BulletCfg; AssertUtility.Assert(bulletCfg != null); var cmdSeq = cmd.UserCmd.Seq; var fireAmmu = controller.RelatedCameraSNew.IsAiming() ? sightFireAmmu : normalFireAmmu; // 射出子弹 for (int i = 0; i < bulletCfg.HitCount; i++) { var bulletData = PlayerBulletData.Allocate(); bulletData.Dir = PrecisionsVector3.MakePrecisionsV( fireAmmu.GetFireDir(cmdSeq + i, controller, cmd.UserCmd.Seq), 3); var viewPos = PrecisionsVector3.MakePrecisionsV(fireAmmu.GetFireViewPosition(controller), 3); bulletData.ViewPosition = PrecisionsVector3.MakeRoundPrecisionsV(viewPos, 3); //枪口位置取原始精度 bulletData.EmitPosition = fireAmmu.GetFireEmitPosition(controller); controller.AddAuxBullet(bulletData); // DebugUtil.AppendShootText(cmd.UserCmd.Seq, "[Bullet Fire]{0}", bulletData.ToStringExt()); } controller.AfterAttack(); }
private void CallOnFrame(PlayerWeaponController controller, IWeaponCmd cmd) { foreach (var beforeFire in _frames) { beforeFire.OnFrame(controller, cmd); } }
public void OnFrame(PlayerWeaponController controller, IWeaponCmd cmd) { bool isFire = false; //判断是否有开火触发 foreach (var fireTrigger in _fireTrigggers) { isFire |= fireTrigger.IsTrigger(controller, cmd); } if (isFire) { //判断是否有开火限制 foreach (var fireCheck in _fireChecks) { isFire &= fireCheck.IsCanFire(controller, cmd); } } if (isFire) { Fire(controller, cmd); } else { CallOnIdle(controller, cmd); } CallOnFrame(controller, cmd); }
private void CallBeforeFires(PlayerWeaponController controller, IWeaponCmd cmd) { foreach (var beforeFire in _beforeFires) { beforeFire.BeforeFireBullet(controller, cmd); } }
private void CallOnIdle(PlayerWeaponController controller, IWeaponCmd cmd) { foreach (var fireIdle in _idles) { fireIdle.OnIdle(controller, cmd); } }
private void CallAfterFires(PlayerWeaponController controller, IWeaponCmd cmd) { foreach (var afterfire in _afterFires) { afterfire.OnAfterFire(controller, cmd); } }
private void CallBulletFires(PlayerWeaponController controller, IWeaponCmd cmd) { foreach (var bulletfire in _bulletFires) { bulletfire.OnBulletFire(controller, cmd); } }
public void BeforeFireBullet(PlayerWeaponController weaponController, IWeaponCmd cmd) { var weaponState = weaponController.HeldWeaponAgent.RunTimeComponent; if (weaponState.LastFireTime == 0) { } else { var config = weaponController.HeldWeaponAgent.PistolAccuracyLogicCfg; if (config == null) { return; } var accuracy = weaponState.Accuracy; accuracy -= config.AccuracyFactor * (0.3f - (cmd.RenderTime - weaponState.LastFireTime) / 1000.0f); if (accuracy > config.MaxAccuracy) { accuracy = config.MaxAccuracy; } else if (accuracy < config.MinAccuracy) { accuracy = config.MinAccuracy; } weaponState.Accuracy = accuracy; } }
protected void DefaultFire(PlayerWeaponController controller) { if (controller.RelatedCameraSNew != null && controller.RelatedCameraSNew.ViewNowMode == (int)ECameraViewMode.GunSight) { if (controller.RelatedStateInterface != null) { controller.RelatedStateInterface.SightsFire(); } else { LogError("player has no stateInterface"); } } else { if (controller.RelatedStateInterface != null) { controller.RelatedStateInterface.Fire(); } else { LogError("player has no stateInterface"); } } }
public void OnFrame(PlayerWeaponController controller, IWeaponCmd cmd) { bool isFire = false; //#if UNITY_EDITOR // controller.SyncDebugInfo(); //#endif //判断是否有开火触发 foreach (var fireTrigger in _fireTrigggers) { isFire |= fireTrigger.IsTrigger(controller, cmd); } if (isFire) { // DebugUtil.LogInUnity("controller:"+ controller.ToString(), DebugUtil.DebugColor.Blue); //判断是否有开火限制 foreach (var fireCheck in _fireChecks) { isFire &= fireCheck.IsCanFire(controller, cmd); } } if (isFire) { // DebugUtil.LogInUnity("Fire checker enabled ", DebugUtil.DebugColor.Blue); Fire(controller, cmd); } else { CallOnIdle(controller, cmd); } CallOnFrame(controller, cmd); }
public void Update(PlayerWeaponController controller, IUserCmd cmd, Contexts contexts) { _leftcmd.SetCurrentCmd(cmd); _rightCmd.SetCurrentCmd(cmd); _leftWeaponFire.OnUpdate(controller, _leftcmd, contexts); _rightWeaponFire.OnUpdate(controller, _rightCmd, contexts); }
void Start() { /* * //Testing inventory by adding items if not running unit tests * //Add("Wood"); * //Add("Wood"); * //Add("Wood"); * * for (int i = 0; i < 2; i++) * { * //Add("Wood"); * } * * Add("DebugPotion"); * Add("DebugPotion"); * Add("DebugPotion"); * Add("Sword"); * Add("Axe"); * Add("Iron Sword Recipe"); */ Add("Iron Sword Recipe"); consumableController = GetComponent <ConsumablesController>(); playerWeaponController = GetComponent <PlayerWeaponController>(); hasSwordBeenAdded = false; }
private void Start() { movementController = GetComponent <PlayerMovementController>(); weaponController = GetComponentInChildren <PlayerWeaponController>(); base.Init(new LoadingState(gameObject)); }
public void Setup() { cursorPointer = Resources.Load("Prefabs/Cursor Pointer", typeof(GameObject)) as GameObject; dead = false; //Setup movement script playerMovement = playerInstance.GetComponent <PlayerMovement> (); playerMovement.setMoves(playerNumber); playerMovement.cursorPointerPrefab = cursorPointer; playerMovement.playerColor = playerColor; playerMovement.distanceTravelled = 0f; //Setup Inventory references powerUpInventory = playerInstance.GetComponent <PowerUpInventory> (); powerUpInventory.playerNumber = playerNumber; GameManager.Instance.uiInventory.SetColor(playerNumber, playerColor); //Setup weapon controller script playerWeaponController = playerInstance.GetComponent <PlayerWeaponController>(); playerWeaponController.setNumber(playerNumber); playerData = playerInstance.GetComponent <PlayerData> (); playerSkin = playerInstance.GetComponent <PlayerSkin> (); active = true; movementEnabled = true; }
void Start() { player = GameObject.FindGameObjectWithTag("Player"); playerController = player.GetComponent <PlayerController>(); playerWeaponController = player.GetComponentInChildren <PlayerWeaponController>(); userInterface = player.GetComponentInChildren <UserInterface>(); }
protected override void UpdateFire(PlayerWeaponController controller, WeaponSideCmd cmd, Contexts contexts) { bool isFire = false; foreach (var fireTrigger in _fireTrigggers) { isFire |= fireTrigger.IsTrigger(controller, cmd); } if (isFire) { foreach (var fireCheck in _fireCheckers) { isFire &= fireCheck.IsCanFire(controller, cmd); } } if (isFire && controller.RelatedThrowAction.ThrowingEntityKey == EntityKey.Default && (controller.RelatedThrowAction.LastFireWeaponKey == controller.HeldWeaponAgent.WeaponKey.EntityId || controller.RelatedThrowAction.LastFireWeaponKey == 0)) { Fire(controller, cmd, contexts); controller.RelatedThrowAction.LastFireWeaponKey = controller.HeldWeaponAgent.WeaponKey.EntityId; } else { CallOnIdle(controller.HeldWeaponAgent, cmd); } CallOnFrame(controller.HeldWeaponAgent, cmd); }
void Start() { playerWeaponController = player.GetComponent <PlayerWeaponController>(); UIEventHandler.OnStatsChanged += UpdateStats; UIEventHandler.OnItemEquipped += UpdateEquippedWeapon; InitialiseStats(); }
public void EquipWeapon(PlayerWeaponController weaponController) { isEquiped = true; //animator.SetTrigger("equip"); weaponController.EquipWeapon(this); gameObject.GetComponent <BoxCollider>().enabled = false; }
public void OnFrame(PlayerWeaponController controller, IWeaponCmd cmd) { var heldAgent = controller.HeldWeaponAgent; heldAgent.RunTimeComponent.IsPrevCmdFire = cmd.IsFire; if (cmd.IsSwitchFireMode && cmd.FilteredInput.IsInput(XmlConfig.EPlayerInput.IsSwitchFireMode)) { var config = heldAgent.DefaultFireModeLogicCfg; if (config == null || config == null) { return; } EFireMode mode = (EFireMode)heldAgent.BaseComponent.FireMode; EFireMode nextMode = config.AvaliableModes[0]; for (int i = 0; i < config.AvaliableModes.Length; i++) { if (config.AvaliableModes[i] == mode) { nextMode = config.AvaliableModes[(i + 1) % config.AvaliableModes.Length]; } } if (nextMode == mode) { controller.ShowTip(ETipType.FireModeLocked); } else { ShowFireModeChangeTip(controller, nextMode); } heldAgent.BaseComponent.FireMode = (int)nextMode; // GameAudioMedium.SwitchFireModelAudio(nextMode, controller.appearanceInterface.Appearance.GetWeaponP1InHand()); // controller.PlayWeaponSound(XmlConfig.EWeaponSoundType.SwitchFireMode); } }
public void AfterAttack(PlayerWeaponController controller, IWeaponCmd cmd) { var weaponState = controller.HeldWeaponAgent.RunTimeComponent; weaponState.MeleeAttacking = true; weaponState.NextAttackingTimeLimit = controller.RelatedTime.ClientTime + _maxCD; //TODO 声音和特效添加 if (cmd.IsFire) { StartMeleeAttack(controller, cmd.RenderTime + _config.AttackInterval, new MeleeAttackInfo { AttackType = MeleeAttckType.LeftMeleeAttack }, _config); } else { StartMeleeAttack(controller, cmd.RenderTime + _config.SpecialAttackInterval, new MeleeAttackInfo { AttackType = MeleeAttckType.RightMeleeAttack }, _config); } controller.ExpendAfterAttack(); }
// Start is called before the first frame update void Start() { _gameManager = GameManager.Instance; _player = _gameManager.Player; GameManager.Instance.PlayerGO = this; _player.SlipperyForce = 20f; _player.AllowHurting = true; _player.AllowBreakingArm = true; _player.AllowRolling = true; _rigidbody2d = GetComponent <Rigidbody2D>(); _animator = GetComponent <Animator>(); _animatorOverrideController = new AnimatorOverrideController(_animator.runtimeAnimatorController); _animator.runtimeAnimatorController = _animatorOverrideController; _capsuleCollider = GetComponent <CapsuleCollider2D>(); _audioSource = GetComponent <AudioSource>(); _footStepController = transform.GetChild(2).gameObject.GetComponent <PlayerFootstepBehaviour>(); _playerWeaponController = GetComponent <PlayerWeaponController>(); _playerWeaponController.Player = _player; _playerWeaponController.PlayerController = this; _breakablesCollider = transform.GetChild(3).gameObject; _animator.SetBool("IsWalking", IsPlayerWalking); }
public virtual void OnAfterFire(PlayerWeaponController controller, IWeaponCmd cmd) { int weaponId = controller.HeldWeaponAgent.ConfigId; var needActionDeal = CheckNeedActionDeal(weaponId, ActionDealEnum.Fire); OnAfterFire(controller, needActionDeal); }
//public Item PotionLog; private void Start() { if (Instance != null && Instance != this) { Destroy(gameObject); } else { Instance = this; } playerWeaponController = this.GetComponent <PlayerWeaponController>(); consumableController = this.GetComponent <ConsumableController>(); GiveItem("sword"); GiveItem("staff"); GiveItem("potion_log"); //List<BaseStat> swordStats = new List<BaseStat>(); //swordStats.Add(new BaseStat(6, "Power", "Your Power level.")); //sword = new Item(swordStats, "staff"); //PotionLog = new Item(new List<BaseStat>(), "potion_log", "Drink this to log something cool!", "Drink", "Log Potion", false); }
void ChangeCurrentWeapon(int index, bool initial = false) { index = Mathf.Clamp(index, 0, attachedWeapons.Count - 1); if (index == currentWeaponIndex && currentWeapon.currentState != WeaponStates.Disabled) { return; } if (initial) { if (attachedWeapons[index].currentState == WeaponStates.Disabled) { attachedWeapons[index].Show(weaponAttachment); currentWeapon = attachedWeapons[index]; currentWeaponIndex = index; ChangeWeapons.Invoke(); } } else { if (currentWeapon.currentState == WeaponStates.Active) { currentWeapon.Hide(); currentWeaponIndex = index; isChange = true; } else if (currentWeapon.currentState == WeaponStates.Disabled) { currentWeaponIndex = index; isChange = true; } } }
public void OnIdle(PlayerWeaponController controller, IWeaponCmd cmd) { var config = controller.HeldWeaponAgent.RifleFireCounterCfg; if (config == null) { return; } var weaponState = controller.HeldWeaponAgent.RunTimeComponent; if (weaponState.ContinuesShootDecreaseNeeded) { weaponState.ContinuesShootDecreaseNeeded = false; if (weaponState.ContinuesShootCount > config.MaxCount) { weaponState.ContinuesShootCount = config.MaxCount; } weaponState.ContinuesShootDecreaseTimer = controller.RelatedTime + config.DecreaseInitInterval; } if (weaponState.ContinuesShootCount > 0 && weaponState.ContinuesShootDecreaseTimer <= controller.RelatedTime) { weaponState.ContinuesShootDecreaseTimer = controller.RelatedTime + config.DecreaseStepInterval; weaponState.ContinuesShootCount--; } }
void Start() { weaponControl = GameManager.instance.player.GetComponent<PlayerWeaponController>(); spriteRenderer = GetComponent<SpriteRenderer>(); int randomNumber = Random.Range(0, 100); // deciding on the item item = getItem(randomNumber); // rendering the item renderItem(item); //setLayers(); int layerNum = decideLayer(transform.position.y); gameObject.GetComponent<SpriteRenderer>().sortingLayerName = Utilities.SortingLayerNames[layerNum]; // An animation of the item falling on the ground iTween.MoveBy(gameObject, iTween.Hash("y", -0.3f, "time", 0.5f, "easeType", "easeInOutSine")); // An animation of the item flying to the HUD SendItemToHud(); }
void Start() { // Get input controller. m_inputController = InputFactory.GetCurrentInputController (); // Get movement controller. m_movement = GetComponent<MovementController>(); // Get weapon controller (in children). m_weaponController = GetComponentInChildren<PlayerWeaponController> (); // Get thrust particles (in children). m_thrustEffect = GetComponentInChildren<ParticleSystem> (); }
void Start() { playerWeaponController = GetComponent<PlayerWeaponController>(); playerAnimationController = GetComponent<PlayerAnimationController>(); characterMovementController = GetComponent<CharacterMovementController>(); }
void Start() { playerAnimator=GetComponentInParent<Animator>(); weaponsController=GetComponent<PlayerWeaponController>(); rBody2D=GetComponent<Rigidbody2D>(); }