Exemplo n.º 1
0
 public Weapon(WeaponTypes weaponType)
 {
     WeaponType = weaponType;
     Ammo       = new Setting(weaponType.ToString() + ".Ammo", SchemeLimits.GetWeaponSettingLimits(weaponType, WeaponSettings.Ammo));
     Power      = new Setting(weaponType.ToString() + ".Power", SchemeLimits.GetWeaponSettingLimits(weaponType, WeaponSettings.Power));
     Delay      = new Setting(weaponType.ToString() + ".Delay", SchemeLimits.GetWeaponSettingLimits(weaponType, WeaponSettings.Delay));
     Crate      = new Setting(weaponType.ToString() + ".Crate", SchemeLimits.GetWeaponSettingLimits(weaponType, WeaponSettings.Crate));
 }
Exemplo n.º 2
0
    // Update is called once per frame
    void Update()
    {
        Debug.Log(weapons.ToString());

        //weapons = WeaponTypes.axe;
        //weapons = 0;

        switch (weapons)
        {
        case WeaponTypes.axe:

            Debug.Log("axe axe");


            break;

        case 0:

            Debug.Log("swod sord");

            break;
        }


        if ((int)weapons > 1)
        {
            Debug.Log("wand is > 1");
        }
    }
    void fireTurret()
    {
        RaycastHit raycastHit;
        Vector3    playerDirection = getPlayerDirection(player.transform.position);

        turretRay = new Ray(transform.position + playerDirection * maxBarrelLength, playerDirection * maxBarrelLength * 2);
        bool rayHit = Physics.Raycast(turretRay, out raycastHit, maxRaycastDistance * transform.lossyScale.y, detectingLayer);

        if (rayHit)
        {
            if (raycastHit.collider.transform.CompareTag(player.tag))
            {
                if (debug)
                {
                    Debug.Log("shooting " + weaponType.ToString() + " at: " + player.tag);
                }
                switch (weaponType)
                {
                case WeaponTypes.TRACTOR_BEAM:
                    fireTractorBullet.shoot();
                    break;

                case WeaponTypes.LASER:
                    firePrimary.shoot();
                    break;
                }
            }
        }
        else
        {
            fireTractorBullet.target = null;
        }
    }
Exemplo n.º 4
0
        public void AddSettingNotApplicableToWeapon(XElement element, WeaponTypes weaponType, WeaponSettings weaponSetting)
        {
            string errorString = String.Format("Setting '{0}' cannot be applied to weapon '{1}'.",
                                               weaponSetting.ToString(), weaponType.ToString());

            Add(errorString, element);
        }
Exemplo n.º 5
0
 public Weapon(int minDamage, int maxDamage, WeaponTypes type, int durability, List <BodyPart> equipLocations)
 {
     this.MinDamage      = minDamage;
     this.MaxDamage      = maxDamage;
     this.Name           = type.ToString();
     this.Type           = type;
     this.Durability     = durability;
     this.EquipLocations = equipLocations;
 }
Exemplo n.º 6
0
 public Weapon(int minDamage, int maxDamage, WeaponTypes type, int durability, List<BodyPart> equipLocations )
 {
     this.MinDamage = minDamage;
     this.MaxDamage = maxDamage;
     this.Name = type.ToString();
     this.Type = type;
     this.Durability = durability;
     this.EquipLocations = equipLocations;
 }
Exemplo n.º 7
0
 public WeaponManager(string Name, string id, string Desc, int agility, int strength, int wisdom, int defence, WeaponTypes type, int spellEffectID)
 {
     name          = Name;
     description   = Desc;
     itemid        = "item.weapon." + type.ToString().ToLower() + "." + id.ToLower();
     Agility       = agility;
     Strength      = strength;
     Wisdom        = wisdom;
     Defence       = defence;
     WeaponType    = type;
     SpellEffectID = SpellEffectID;
 }
Exemplo n.º 8
0
        /// <summary>
        /// Instantiates a new instance of the given weapon type
        /// </summary>
        /// <param name="weaponType"></param>
        /// <param name="missileType">Used inly if weaponType is MissileLauncher</param>
        /// <returns></returns>
        static public Weapon GetNewWeapon(WeaponTypes weaponType, ProjectileTypes missileType = ProjectileTypes.AmbassadorMissile)
        {
            switch (weaponType)
            {
            case WeaponTypes.Laser:
                return(new Laser());

            case WeaponTypes.AltLaser:
                return(new AltLaser());

            case WeaponTypes.HurrDurr:
                return(new HurrDurr());

            case WeaponTypes.PlasmaCannon:
                return(new PlasmaCannon());

            case WeaponTypes.BC_Laser:
                return(new BC_Laser());

            case WeaponTypes.LaserWave:
                return(new LaserWave());

            case WeaponTypes.MissileLauncher:
                return(new MissileLauncher(missileType));

            case WeaponTypes.GravBomber:
                return(new GravBomber());

            case WeaponTypes.MineWeapon:
                return(new MineWeapon());



            case WeaponTypes.None:
                return(new NullWeapon());

            default:
                ConsoleManager.WriteLine("Error: " + weaponType.ToString() + " flyweight not yet implemented in WeaponManager.cs.", ConsoleMessageType.Error);
                return(new NullWeapon());
            }
        }
Exemplo n.º 9
0
 void OnValidate()
 {
     SetColor(Color.red);
     labelText = WeaponType.ToString();
     SetLabel(WeaponType.ToString());
 }
Exemplo n.º 10
0
    //UnityEditor.EditorApplication.isPaused = true;
    public void Fire(Vector3 ProjectileSpawnPoint, GameObject TurretGameObject)
    {
        switch (WeaponType)
        {
        case (WeaponTypes.Blaster_lvl_1):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.BlasterShoot_lvl_1)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("BlasterShoot");
            break;

        case (WeaponTypes.Blaster_lvl_2):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.BlasterShoot_lvl_1)], ProjectileSpawnPoint + (TurretGameObject.transform.right * 0.1f), TurretGameObject.transform.rotation);
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.BlasterShoot_lvl_1)], ProjectileSpawnPoint + (TurretGameObject.transform.right * -0.1f), TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("BlasterShoot");
            break;

        case (WeaponTypes.Blaster_lvl_3):
            float _value  = 0.1125f;
            float _offset = _value;
            if (Standartlvl3OffsetDirection == true)
            {
                _offset = _value;
            }
            if (Standartlvl3OffsetDirection == false)
            {
                _offset = -_value;
            }
            Standartlvl3OffsetDirection = !Standartlvl3OffsetDirection;
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.BlasterShoot_lvl_1)], ProjectileSpawnPoint + (TurretGameObject.transform.right * _offset), TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("BlasterShoot");
            break;

        case (WeaponTypes.Helix_lvl_1):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.HelixBullet_lvl_1)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("HelixShoot_lvl1");
            break;

        case (WeaponTypes.Helix_lvl_2):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.HelixBullet_lvl_2)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("HelixShoot_lvl2");
            break;

        case (WeaponTypes.Helix_lvl_3):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.HelixBullet_lvl_3)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("HelixShoot_lvl3");
            break;

        case (WeaponTypes.Shotgun_lvl_1):
            fireShotgun(7, 10f, 0.4f, ProjectileSpawnPoint, TurretGameObject);

            AudioControllerScript.activeInstance.PlaySound("ShotgunShoot");
            break;

        case (WeaponTypes.Shotgun_lvl_2):
            fireShotgun(11, 12f, 0.4f, ProjectileSpawnPoint, TurretGameObject);

            AudioControllerScript.activeInstance.PlaySound("ShotgunShoot");
            break;

        case (WeaponTypes.Shotgun_lvl_3):
            fireShotgun(15, 14f, 0.4f, ProjectileSpawnPoint, TurretGameObject);

            AudioControllerScript.activeInstance.PlaySound("ShotgunShoot");
            break;

        case (WeaponTypes.Homing_lvl_1):
            BulletRng = 1f;
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.HomingBullet_lvl_1)], ProjectileSpawnPoint, TurretGameObject.transform.rotation * Quaternion.Euler(0, 0, Random.Range(BulletRng, -BulletRng)));

            AudioControllerScript.activeInstance.PlaySound("HomingShoot2", Random.Range(0.75f, 1.125f));
            break;

        case (WeaponTypes.Homing_lvl_2):
            BulletRng = 6f;
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.HomingBullet_lvl_2)], ProjectileSpawnPoint, TurretGameObject.transform.rotation * Quaternion.Euler(0, 0, Random.Range(BulletRng, -BulletRng)));

            AudioControllerScript.activeInstance.PlaySound("HomingShoot2", Random.Range(0.5f, 1.5f));
            break;

        case (WeaponTypes.Homing_lvl_3):
            BulletRng = 12f;
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.HomingBullet_lvl_3)], ProjectileSpawnPoint, TurretGameObject.transform.rotation * Quaternion.Euler(0, 0, Random.Range(BulletRng, -BulletRng)));

            AudioControllerScript.activeInstance.PlaySound("HomingShoot2", Random.Range(0.5f, 1.5f));
            break;

        case (WeaponTypes.LaserSwordController_lvl_1):
            fireLaserSowrd(1.5f, ProjectileSpawnPoint, TurretGameObject);

            AudioControllerScript.activeInstance.PlaySound("LaserSwordSummon2", Random.Range(0.8f, 1.2f));
            break;

        case (WeaponTypes.LaserSwordController_lvl_2):
            fireLaserSowrd(1.75f, ProjectileSpawnPoint, TurretGameObject);

            AudioControllerScript.activeInstance.PlaySound("LaserSwordSummon2", Random.Range(0.8f, 1.2f));
            break;

        case (WeaponTypes.LaserSwordController_lvl_3):
            fireLaserSowrd(2f, ProjectileSpawnPoint, TurretGameObject);

            AudioControllerScript.activeInstance.PlaySound("LaserSwordSummon2", Random.Range(0.8f, 1.2f));
            break;

        case (WeaponTypes.MissileLauncher_lvl_1):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.Missile_lvl_1)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("MissileShoot");
            break;

        case (WeaponTypes.MissileLauncher_lvl_2):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.Missile_lvl_2)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("MissileShoot");
            break;

        case (WeaponTypes.MissileLauncher_lvl_3):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.Missile_lvl_3)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("MissileShoot");
            break;

        case (WeaponTypes.GrenadeLauncher_lvl_1):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.Grenade_lvl_1)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("GrenadeLauncherShoot");
            break;

        case (WeaponTypes.GrenadeLauncher_lvl_2):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.Grenade_lvl_2)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("GrenadeLauncherShoot");
            break;

        case (WeaponTypes.GrenadeLauncher_lvl_3):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.Grenade_lvl_3)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("GrenadeLauncherShoot");
            break;

        case (WeaponTypes.ShrapnelLauncher_lvl_1):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.Shrapnel_lvl_1)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("GrenadeLauncherShoot");
            break;

        case (WeaponTypes.ShrapnelLauncher_lvl_2):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.Shrapnel_lvl_2)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("GrenadeLauncherShoot");
            break;

        case (WeaponTypes.ShrapnelLauncher_lvl_3):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.Shrapnel_lvl_3)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("GrenadeLauncherShoot");
            break;

        case (WeaponTypes.ChainGun_lvl_1):
            fireChainGun(1, 0.03f, 0.09f, 6f, ProjectileSpawnPoint, TurretGameObject);

            AudioControllerScript.activeInstance.PlaySound("ChaingunShoot2");
            break;

        case (WeaponTypes.ChainGun_lvl_2):
            fireChainGun(2, 0.03f, 0.09f, 3f, ProjectileSpawnPoint, TurretGameObject);

            AudioControllerScript.activeInstance.PlaySound("ChaingunShoot2");
            break;

        case (WeaponTypes.ChainGun_lvl_3):
            fireChainGun(3, 0.03f, 0.09f, 1f, ProjectileSpawnPoint, TurretGameObject);

            AudioControllerScript.activeInstance.PlaySound("ChaingunShoot2");
            break;

        case (WeaponTypes.Helix_lvl_X):
            Instantiate(ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.HelixBullet_lvl_X)], ProjectileSpawnPoint, TurretGameObject.transform.rotation);
            break;

        case (WeaponTypes.Sniper_lvl_X):
            StartFiringSniper(ProjectileSpawnPoint, TurretGameObject);

            AudioControllerScript.activeInstance.PlaySound("SniperShoot");
            break;

        case (WeaponTypes.WaveEmitter_lvl_X):
            GameObject waveBulletToInstantiate = ObjectHolder._Bullets[ObjectHolder.GetBulletIndex(ProjectileBehaviourScript.BulletTypes.WaveBullet_lvl_X)];

            Instantiate(waveBulletToInstantiate, ProjectileSpawnPoint, TurretGameObject.transform.rotation * waveBulletToInstantiate.transform.rotation);

            AudioControllerScript.activeInstance.PlaySound("WaveShoot");
            break;


        default:
            Debug.LogError("The Weapon Type -" + WeaponType.ToString() + "- has no values assinged!");
            break;
        }
    }
Exemplo n.º 11
0
 public static String GetTranslation(this WeaponTypes weapon)
 {
     return(GlobalTranslator.Instance.Translator.ProvideValue(weapon.ToString()));
 }