Beispiel #1
0
    public void FireWeapon()
    {
        ProjectileBase projectileInstance = PhotonNetwork.Instantiate(projectile.name, muzzle.transform.position, muzzle.transform.rotation).GetComponent <ProjectileBase>();

        projectileInstance.owner = GetComponent <WeaponBase>();

        switch (weaponManager.modifierSelected)
        {
        case ModifierBase.EModifier.CLUSTER:
            projectileInstance.gameObject.AddComponent <ClusterModifier>().m_projectile = projectileInstance;
            break;

        case ModifierBase.EModifier.RICOCHET:
            projectileInstance.gameObject.AddComponent <RicochetModifier>().m_projectile = projectileInstance;
            break;

        case ModifierBase.EModifier.THREEWAY:
            projectileInstance.gameObject.AddComponent <ThreeWayModifier>().m_projectile = projectileInstance;
            break;

        case ModifierBase.EModifier.PIERCE:
            projectileInstance.gameObject.AddComponent <PierceModifier>().m_projectile = projectileInstance;
            break;
        }

        ModifierBase mod = projectileInstance.gameObject.AddComponent <RicochetModifier>();

        mod.m_projectile = projectileInstance;
        switch (weaponType)
        {
        case EWeapon.SHOOT:
            projectileInstance.Fire(fireVelocity, false);
            break;

        default:
            projectileInstance.Fire(fireVelocity, true);
            break;
        }
        Debug.Log("Firing");
    }