void RPC_PlayFireArmEffects(int index, int behaviourIndex, int aoIndex, string triggerName) { FireArms ia = InteractablesList.single_IaList.interactables[index] as FireArms; WeaponBehaviour behaviour = ia.weaponBehaviours[behaviourIndex]; AttackOrigin origin = behaviour.attackOrigins[aoIndex]; origin.animator.speed = behaviour.attacksPerSecond; origin.animator.SetTrigger(triggerName); }
public override int GetBehaviourIndex(Weapon weapon) { int index = 0; if (weapon.weaponType == WeaponType.Primary) { FireArms prim = weapon as FireArms; if (prim.weaponBehaviours.Length > 0 && prim.currentActiveWeapon == ActiveWeapon.secondary) { index = 1; } } return(index); }
public IEnumerator SwitchWeaponBehaviour(int behaviourIndex) { isChangingBehaviour = true; FireArms weapon = primaryWeaponsHolder.weaponAttached as FireArms; if (behaviourIndex == 0) { SwitchBehaviour(weapon, "PrimToSec", ActiveWeapon.secondary); } else { SwitchBehaviour(weapon, "SecToPrim", ActiveWeapon.primary); } primaryWeaponsHolder.animator.speed = weapon.timeToSwitchBehaviour; yield return(new WaitForSeconds(weapon.timeToSwitchBehaviour)); isChangingBehaviour = false; }
void SwitchBehaviour(FireArms weapon, string triggerString, ActiveWeapon newActiveWeapon) { primaryWeaponsHolder.animator.SetTrigger(triggerString); weapon.currentActiveWeapon = newActiveWeapon; }