Пример #1
0
    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);
    }
Пример #2
0
    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);
    }
Пример #3
0
    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;
    }
Пример #4
0
 void SwitchBehaviour(FireArms weapon, string triggerString, ActiveWeapon newActiveWeapon)
 {
     primaryWeaponsHolder.animator.SetTrigger(triggerString);
     weapon.currentActiveWeapon = newActiveWeapon;
 }