/*public static void AddEquipmentSlot(RPGEquipmentSlot slot, List<RPGEquipmentSlot> slots)
	{
		List<IItem> items = new List<IItem>();
		
		foreach(IItem item in slots)
			items.Add((IItem)item);
		
		slot.ID = EditorUtils.IntPopup(slot.ID, items, "Eq slot ID", 200, FieldTypeEnum.BeginningOnly);
	}*/
	
	/*public static void AddWeapon(RPGWeapon weapon)
	{
		EditorUtils.Separator();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Melee / range");
		weapon.Attack = (WeaponCombatSkillType)EditorGUILayout.EnumPopup(weapon.Attack ,GUILayout.Width(100));
		
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Minimum dmg");
		weapon.MinimumDmg = EditorGUILayout.IntField(weapon.MinimumDmg ,GUILayout.Width(100));
		
		EditorGUILayout.PrefixLabel("Maximum dmg");
		weapon.MaximumDmg = EditorGUILayout.IntField(weapon.MaximumDmg ,GUILayout.Width(100));
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Attack speed");
		weapon.AttackSpeed = EditorGUILayout.FloatField(weapon.AttackSpeed ,GUILayout.Width(100));
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Minimum range");
		weapon.MinimumRange = EditorGUILayout.IntField(weapon.MinimumRange ,GUILayout.Width(100));
		
		EditorGUILayout.PrefixLabel("Maximum range");
		weapon.MaximumRange = EditorGUILayout.IntField(weapon.MaximumRange ,GUILayout.Width(100));
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Is ammo");
		weapon.IsAmmo = EditorGUILayout.Toggle(weapon.IsAmmo ,GUILayout.Width(100));
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Need ammo");
		weapon.NeedAmmo = EditorGUILayout.Toggle(weapon.NeedAmmo ,GUILayout.Width(100));
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Weapon type");
		weapon.WeaponType = (WeaponCategoryType)EditorGUILayout.EnumPopup(weapon.WeaponType ,GUILayout.Width(100));
		EditorGUILayout.EndHorizontal();
	}*/
	
	public static void ItemGenerator(RPGItem item, ItemGenerator generator)
	{
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		EditorGUILayout.PrefixLabel("Lvl increase");
		
		generator.Frequency = EditorGUILayout.IntSlider(generator.Frequency,1,20,  GUILayout.Width(100));
		if (GUILayout.Button("Generate", GUILayout.Width(200)))
		{
			generator.Calculate(item);
		}
		EditorGUILayout.EndHorizontal();
		
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Use adjective");
		generator.UseNames = EditorGUILayout.Toggle(generator.UseNames, GUILayout.Width(300));
		EditorGUILayout.EndHorizontal();	
		
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
			
		EditorGUILayout.LabelField("Names", generator.GetNames);
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Increasing price");
		generator.Price = EditorGUILayout.Toggle(generator.Price, GUILayout.Width(100));
		if (generator.Price)
		{
			generator.PriceType = (IncresingTypeEnum)EditorGUILayout.EnumPopup(generator.PriceType, GUILayout.Width(100));
		
			EditorGUILayout.PrefixLabel("amount");
			generator.IncreasingPrice = EditorGUILayout.FloatField(generator.IncreasingPrice, GUILayout.Width(100));
		}
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		EditorGUILayout.LabelField("Prices", generator.GetPrices);
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Increasing effect");
		generator.Effects = EditorGUILayout.Toggle(generator.Effects, GUILayout.Width(100));
		if (generator.Effects)
		{
			generator.EffectType = (IncresingTypeEnum)EditorGUILayout.EnumPopup(generator.EffectType, GUILayout.Width(100));
		
			EditorGUILayout.PrefixLabel("amount");
			generator.IncreasingEffect = EditorGUILayout.FloatField(generator.IncreasingEffect, GUILayout.Width(100));
		}
		EditorGUILayout.EndHorizontal();
	}
Exemple #2
0
    /*public static void AddEquipmentSlot(RPGEquipmentSlot slot, List<RPGEquipmentSlot> slots)
     * {
     *      List<IItem> items = new List<IItem>();
     *
     *      foreach(IItem item in slots)
     *              items.Add((IItem)item);
     *
     *      slot.ID = EditorUtils.IntPopup(slot.ID, items, "Eq slot ID", 200, FieldTypeEnum.BeginningOnly);
     * }*/

    /*public static void AddWeapon(RPGWeapon weapon)
     * {
     *      EditorUtils.Separator();
     *
     *      EditorGUILayout.Separator();
     *      EditorGUILayout.BeginHorizontal();
     *
     *      EditorGUILayout.PrefixLabel("Melee / range");
     *      weapon.Attack = (WeaponCombatSkillType)EditorGUILayout.EnumPopup(weapon.Attack ,GUILayout.Width(100));
     *
     *      EditorGUILayout.EndHorizontal();
     *
     *      EditorGUILayout.Separator();
     *      EditorGUILayout.BeginHorizontal();
     *
     *      EditorGUILayout.PrefixLabel("Minimum dmg");
     *      weapon.MinimumDmg = EditorGUILayout.IntField(weapon.MinimumDmg ,GUILayout.Width(100));
     *
     *      EditorGUILayout.PrefixLabel("Maximum dmg");
     *      weapon.MaximumDmg = EditorGUILayout.IntField(weapon.MaximumDmg ,GUILayout.Width(100));
     *      EditorGUILayout.EndHorizontal();
     *
     *      EditorGUILayout.Separator();
     *      EditorGUILayout.BeginHorizontal();
     *
     *      EditorGUILayout.PrefixLabel("Attack speed");
     *      weapon.AttackSpeed = EditorGUILayout.FloatField(weapon.AttackSpeed ,GUILayout.Width(100));
     *      EditorGUILayout.EndHorizontal();
     *
     *      EditorGUILayout.Separator();
     *      EditorGUILayout.BeginHorizontal();
     *
     *      EditorGUILayout.PrefixLabel("Minimum range");
     *      weapon.MinimumRange = EditorGUILayout.IntField(weapon.MinimumRange ,GUILayout.Width(100));
     *
     *      EditorGUILayout.PrefixLabel("Maximum range");
     *      weapon.MaximumRange = EditorGUILayout.IntField(weapon.MaximumRange ,GUILayout.Width(100));
     *      EditorGUILayout.EndHorizontal();
     *
     *      EditorGUILayout.Separator();
     *      EditorGUILayout.BeginHorizontal();
     *
     *      EditorGUILayout.PrefixLabel("Is ammo");
     *      weapon.IsAmmo = EditorGUILayout.Toggle(weapon.IsAmmo ,GUILayout.Width(100));
     *      EditorGUILayout.EndHorizontal();
     *
     *      EditorGUILayout.Separator();
     *      EditorGUILayout.BeginHorizontal();
     *
     *      EditorGUILayout.PrefixLabel("Need ammo");
     *      weapon.NeedAmmo = EditorGUILayout.Toggle(weapon.NeedAmmo ,GUILayout.Width(100));
     *      EditorGUILayout.EndHorizontal();
     *
     *      EditorGUILayout.Separator();
     *      EditorGUILayout.BeginHorizontal();
     *
     *      EditorGUILayout.PrefixLabel("Weapon type");
     *      weapon.WeaponType = (WeaponCategoryType)EditorGUILayout.EnumPopup(weapon.WeaponType ,GUILayout.Width(100));
     *      EditorGUILayout.EndHorizontal();
     * }*/

    public static void ItemGenerator(RPGItem item, ItemGenerator generator)
    {
        EditorGUILayout.Separator();
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.PrefixLabel("Lvl increase");

        generator.Frequency = EditorGUILayout.IntSlider(generator.Frequency, 1, 20, GUILayout.Width(100));
        if (GUILayout.Button("Generate", GUILayout.Width(200)))
        {
            generator.Calculate(item);
        }
        EditorGUILayout.EndHorizontal();


        EditorGUILayout.Separator();
        EditorGUILayout.BeginHorizontal();

        EditorGUILayout.PrefixLabel("Use adjective");
        generator.UseNames = EditorGUILayout.Toggle(generator.UseNames, GUILayout.Width(300));
        EditorGUILayout.EndHorizontal();


        EditorGUILayout.Separator();
        EditorGUILayout.BeginHorizontal();

        EditorGUILayout.LabelField("Names", generator.GetNames);
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.Separator();
        EditorGUILayout.BeginHorizontal();

        EditorGUILayout.PrefixLabel("Increasing price");
        generator.Price = EditorGUILayout.Toggle(generator.Price, GUILayout.Width(100));
        if (generator.Price)
        {
            generator.PriceType = (IncresingTypeEnum)EditorGUILayout.EnumPopup(generator.PriceType, GUILayout.Width(100));

            EditorGUILayout.PrefixLabel("amount");
            generator.IncreasingPrice = EditorGUILayout.FloatField(generator.IncreasingPrice, GUILayout.Width(100));
        }
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.Separator();
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Prices", generator.GetPrices);
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.Separator();
        EditorGUILayout.BeginHorizontal();

        EditorGUILayout.PrefixLabel("Increasing effect");
        generator.Effects = EditorGUILayout.Toggle(generator.Effects, GUILayout.Width(100));
        if (generator.Effects)
        {
            generator.EffectType = (IncresingTypeEnum)EditorGUILayout.EnumPopup(generator.EffectType, GUILayout.Width(100));

            EditorGUILayout.PrefixLabel("amount");
            generator.IncreasingEffect = EditorGUILayout.FloatField(generator.IncreasingEffect, GUILayout.Width(100));
        }
        EditorGUILayout.EndHorizontal();
    }