Esempio n. 1
0
    public void Reload(ReloadStyle style)
    {
        switch (style)
        {
        case ReloadStyle.OneAtATime:
            break;

        case ReloadStyle.WholeMagazine:
            break;
        }
    }
Esempio n. 2
0
    private void DrawWeaponProperties()
    {
        EditorGUILayout.Space();

        EditorGUI.BeginChangeCheck();
        FireMode fireMode = (FireMode)EditorGUILayout.EnumPopup("Fire Mode", m_Target.fireMode);

        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(target, "Changed Fire Mode");
            m_Target.fireMode = fireMode;
        }

        EditorGUI.BeginChangeCheck();
        ReloadStyle reloadStyle = (ReloadStyle)EditorGUILayout.EnumPopup("Reload Style", m_Target.reloadStyle);

        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(target, "Changed Reload Style");
            m_Target.reloadStyle = reloadStyle;
        }

        EditorGUI.BeginChangeCheck();
        LayerMask cullingMask = EditorTools.LayerMaskField("Culling Mask", m_Target.cullingMask);

        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(target, "Changed Culling Mask");
            m_Target.cullingMask = cullingMask;
        }

        EditorGUI.BeginChangeCheck();
        float fireRate = EditorGUILayout.FloatField("Fire Rate", m_Target.fireRate);

        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(target, "Changed Fire Rate");
            m_Target.fireRate = fireRate;
        }

        EditorGUI.BeginChangeCheck();
        float shotForce = EditorGUILayout.FloatField("Force", m_Target.shotForce);

        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(target, "Changed Fire Force");
            m_Target.shotForce = shotForce;
        }

        EditorGUI.BeginChangeCheck();
        float range = EditorGUILayout.FloatField("Range", m_Target.range);

        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(target, "Changed Fire Range");
            m_Target.range = range;
        }

        EditorGUILayout.Space();

        EditorGUI.BeginChangeCheck();
        DamageMode damageMode = (DamageMode)EditorGUILayout.EnumPopup("Damage Mode", m_Target.damageMode);

        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(target, "Changed Damage Mode");
            m_Target.damageMode = damageMode;
        }

        EditorGUILayout.LabelField("Weapon Damage");

        EditorGUILayout.BeginHorizontal("box");

        EditorGUILayout.BeginHorizontal("TextArea");
        GUILayout.Label("Min: " + m_Target.minDamage.ToString("F0"));
        EditorGUILayout.EndHorizontal();

        EditorGUI.BeginChangeCheck();
        float minDamage = m_Target.minDamage;
        float maxDamage = m_Target.maxDamage;

        EditorGUILayout.MinMaxSlider(ref minDamage, ref maxDamage, 0, 100);
        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(target, "Changed Min/Max Weapon Damage");
            m_Target.minDamage = minDamage;
            m_Target.maxDamage = maxDamage;
        }

        EditorGUILayout.BeginHorizontal("TextArea");
        GUILayout.Label("Max: " + m_Target.maxDamage.ToString("F0"));
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.EndHorizontal();

        EditorGUILayout.Space();


        EditorGUI.BeginChangeCheck();
        bool infiniteAmmo = EditorGUILayout.Toggle("Infine Ammo", m_Target.infiniteAmmo);

        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(target, "Disabe/Enable Infine Ammo");
            m_Target.infiniteAmmo = infiniteAmmo;
        }

        if (m_Target.fireMode == FireMode.ShotgunAuto || m_Target.fireMode == FireMode.ShotgunSemi)
        {
            EditorGUI.BeginChangeCheck();
            int pelletCount = EditorGUILayout.IntField("Bullets per Shot", m_Target.pelletCount);
            if (EditorGUI.EndChangeCheck())
            {
                Undo.RecordObject(target, "Changed Bullets per Shot");
                m_Target.pelletCount = pelletCount;
            }
        }
        else if (m_Target.fireMode == FireMode.Burst)
        {
            EditorGUI.BeginChangeCheck();
            int burstCount = EditorGUILayout.IntField("Burst Shot", m_Target.burstCount);
            if (EditorGUI.EndChangeCheck())
            {
                Undo.RecordObject(target, "Changed Burst Shot");
                m_Target.burstCount = burstCount;
            }
        }

        EditorGUI.BeginChangeCheck();
        int magazineSize = EditorGUILayout.IntField("Bullets per Mag", m_Target.magazineSize);

        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(target, "Changed Bullets per Mag");
            m_Target.magazineSize = magazineSize;
        }

        EditorGUI.BeginChangeCheck();
        int numberOfMags = EditorGUILayout.IntField("Number of Mags", m_Target.numberOfMags);

        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(target, "Changed Number of Mags");
            m_Target.numberOfMags = numberOfMags;
        }

        EditorGUI.BeginChangeCheck();
        int maxNumberOfMags = EditorGUILayout.IntField("Max Number of Mags", m_Target.maxNumberOfMags);

        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(target, "Changed Max Number of Mags");
            m_Target.maxNumberOfMags = maxNumberOfMags;
        }
    }