示例#1
0
    // Start is called before the first frame update

    public WeaponConfig GetWeapon(WeaponName wep)
    {
        WeaponConfig aux = Weapons.FirstOrDefault(w => w.WeaponName.Equals(wep));

        if (!aux)
        {
            aux = Weapons[0];
            Debug.LogError("NO SE ENCONTRO EL ARMA " + wep.ToString());
        }
        return(aux);
    }
示例#2
0
    public override void OnInspectorGUI()
    {
        int weaponCount = (int)WeaponName.NUMBER_OF_WEAPONS;

        // Ensure weapon array is not null and is equal in size to weaponCount
        if (_weaponMan.weaponPrefabs == null)
        {
            _weaponMan.weaponPrefabs = new Weapon[weaponCount];
        }
        else if (_weaponMan.weaponPrefabs.Length < weaponCount)
        {
            Weapon[] newWeapons = new Weapon[weaponCount];
            _weaponMan.weaponPrefabs.CopyTo(newWeapons, 0);
            _weaponMan.weaponPrefabs = newWeapons;
        }
        else if (_weaponMan.weaponPrefabs.Length > weaponCount)
        {
            List <Weapon> newWeapons = new List <Weapon>(_weaponMan.weaponPrefabs);
            newWeapons.RemoveRange(weaponCount, newWeapons.Count - weaponCount);
            _weaponMan.weaponPrefabs = newWeapons.ToArray();
        }


        // For each weapon in enum weapon names, provide a space to assign a prefab
        for (int i = 0; i < weaponCount; i++)
        {
            WeaponName name = (WeaponName)i;
            EditorGUILayout.PrefixLabel(name.ToString());
            _weaponMan.weaponPrefabs[i] = (Weapon)EditorGUILayout.ObjectField(_weaponMan.weaponPrefabs[i], typeof(Weapon), false);
        }



        // Ensure target changes if any changes in GUI
        if (GUI.changed)
        {
            EditorUtility.SetDirty(target);
        }
    }
示例#3
0
        /// <summary>
        /// Saves the weapon.
        /// </summary>
        /// <returns>Weapon Object</returns>
        public Weapon SaveWeapon()
        {
            SqlDataReader      result;
            DatabaseConnection dbconn     = new DatabaseConnection();
            SqlCommand         command    = new SqlCommand();
            SqlConnection      connection = new SqlConnection(dbconn.SQLSEVERConnString);

            try
            {
                connection.Open();
                command.Connection  = connection;
                command.CommandType = CommandType.StoredProcedure;
                command.CommandText = "InsertUpdate_Weapon";
                command.Parameters.Add(dbconn.GenerateParameterObj("@WeaponID", SqlDbType.Int, WeaponID.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@WeaponName", SqlDbType.VarChar, WeaponName.ToString(), 50));
                command.Parameters.Add(dbconn.GenerateParameterObj("@WeaponTypeID", SqlDbType.Int, WeaponTypeID.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@WeaponSizeID", SqlDbType.Int, WeaponSizeID.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@Cost", SqlDbType.Int, Cost.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@RateOfFire", SqlDbType.VarChar, RateOfFire.ToString(), 3));
                command.Parameters.Add(dbconn.GenerateParameterObj("@DamageDieNumber", SqlDbType.Int, DamageDieNumber.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@DamageDieType", SqlDbType.Int, DamageDieType.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@Stun", SqlDbType.Bit, Stun.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@StunDieNumber", SqlDbType.Int, DamageDieNumber.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@StunDieType", SqlDbType.Int, DamageDieType.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@WeaponDescription", SqlDbType.Text, WeaponDescription.ToString(), 4000));
                command.Parameters.Add(dbconn.GenerateParameterObj("@Weight", SqlDbType.Decimal, Weight.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@BookID", SqlDbType.Int, BookID.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@WeaponProficiencyFeatID", SqlDbType.Int, WeaponProficiencyFeatID.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@EmplacementPoints", SqlDbType.Int, EmplacementPoints.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@DoubleWeapon", SqlDbType.Bit, DoubleWeapon.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@AreaOfAttack", SqlDbType.Bit, AreaOfAttack.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@Accurate", SqlDbType.Bit, AreaOfAttack.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@Inaccurate", SqlDbType.Bit, AreaOfAttack.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@Slugthrower", SqlDbType.Bit, Slugthrower.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@RequiresSeperateAmmo", SqlDbType.Bit, RequiresSeperateAmmo.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@ExtraDamage", SqlDbType.Bit, ExtraDamage.ToString(), 0));
                command.Parameters.Add(dbconn.GenerateParameterObj("@ExtraStunDamage", SqlDbType.Bit, ExtraStunDamage.ToString(), 0));

                result = command.ExecuteReader();

                result.Read();
                SetReaderToObject(ref result);
            }
            catch
            {
                Exception e = new Exception();
                this._insertUpdateOK = false;
                this._insertUpdateMessage.Append(e.Message + "                     Inner Exception= " + e.InnerException);
                throw e;
            }
            finally
            {
                command.Dispose();
                connection.Close();
            }
            return(this);
        }
示例#4
0
 void SetName()
 {
     itemName.text = weaponName.ToString();
 }