예제 #1
0
 	public static void GiveItem(PreffixType preffix, int ID, int level, int amount)
 	{
     	switch(preffix)
     	{
         	case PreffixType.ARMOR:
				RPGArmor armor = Storage.LoadById<RPGArmor>(ID, new RPGArmor());
             //armor.CurrentDurability = armor.Durability;
				PlayerManager.Instance.Hero.AddItem(armor, level, amount);
            	break;
         	case PreffixType.ITEM:
            	RPGItem item = Storage.LoadById<RPGItem>(ID, new RPGItem());
            	PlayerManager.Instance.Hero.AddItem(item, level, amount);
			break;
		case PreffixType.NAKEDARMOR:
			RPGArmor nakedArmor = Storage.LoadById<RPGArmor>(ID, new RPGArmor());
			PlayerManager.Instance.Hero.AddItem(nakedArmor, level, amount);
			break;
     	}
 	}
예제 #2
0
	public int GetItemAmount(int id, int level, PreffixType type)
	{
		if(type == PreffixType.ARMOR)
		{
			return ArmoryInventory.GetItemAmount(id, level);
		}
		else if(type == PreffixType.NAKEDARMOR)
		{
			return NakedArmorInventory.GetItemAmount(id, level);
		}
		else
		{
			return MainInventory.GetItemAmount(id, level);
		}
	}
예제 #3
0
    public static bool GiveItem(PreffixType preffix, int ID, int amount)
    {
        string uniqueId = preffix.ToString() + ID.ToString();

        switch (preffix)
        {
        case PreffixType.ARMOR:
            RPGArmor armor = Storage.LoadbyUniqueId <RPGArmor>(uniqueId, new RPGArmor());
            //armor.CurrentDurability = armor.Durability;
            if (armor.EquipmentSlotIndex == EquipmentSlots.Head)
            {
                return(Player.Instance.Hero.HeadInventory.AddItem(armor, amount));
            }
            if (armor.EquipmentSlotIndex == EquipmentSlots.Body)
            {
                return(Player.Instance.Hero.BodyInventory.AddItem(armor, amount));
            }
            if (armor.EquipmentSlotIndex == EquipmentSlots.ArmL)
            {
                return(Player.Instance.Hero.ArmLInventory.AddItem(armor, amount));
            }
            if (armor.EquipmentSlotIndex == EquipmentSlots.ArmR)
            {
                return(Player.Instance.Hero.ArmRInventory.AddItem(armor, amount));
            }
            if (armor.EquipmentSlotIndex == EquipmentSlots.Legs)
            {
                return(Player.Instance.Hero.LegsInventory.AddItem(armor, amount));
            }
            break;

        case PreffixType.ITEM:
            RPGItem item = Storage.LoadbyUniqueId <RPGItem>(uniqueId, new RPGItem());
            return(Player.Instance.Hero.Inventory.AddItem(item, amount));
            //break;

            /*case PreffixType.SKILL:
             *  if (amount == -1)
             *  {
             *      //add new skill
             *      RPGSkill skill = Storage.LoadbyUniqueId<RPGSkill>(uniqueId, new RPGSkill());
             *      skill.Value = 1;
             *      player.Hero.Skills.Add(skill);
             *  }
             *  else
             *  {
             *      foreach(RPGSkill skill in player.Hero.Skills)
             *      {
             *          if (skill.UniqueId == uniqueId)
             *          {
             *              if (skill.Value + amount > skill.Maximum)
             *                  skill.Value = skill.Maximum;
             *              else
             *                  skill.Value += amount;
             *          }
             *      }
             *  }
             *
             *  break;
             * case PreffixType.SKILLPOINT:
             *  player.Hero.SkillPoint += amount;
             *  break;
             * case PreffixType.QUEST:
             *  player.Hero.Quest.StartQuest(ID);
             *  break;
             * case PreffixType.ATTRIBUTE:
             *  if (amount == -1)
             *  {
             *      //add new skill
             *      RPGAttribute attr = Storage.LoadbyUniqueId<RPGAttribute>(uniqueId, new RPGAttribute());
             *      attr.Value = 1;
             *      player.Hero.Attributes.Add(attr);
             *  }
             *  else
             *  {
             *      foreach(RPGAttribute atr in player.Hero.Attributes)
             *      {
             *          if (atr.UniqueId == uniqueId)
             *          {
             *              if (atr.Value + amount > atr.Maximum)
             *                  atr.Value = atr.Maximum;
             *              else
             *                  atr.Value += amount;
             *          }
             *      }
             *  }
             *  break;
             * case PreffixType.ATTRIBUTEPOINT:
             *  player.Hero.AttributePoint += amount;
             *  break;
             * case PreffixType.XP:
             *  player.Hero.AddXp(amount);
             *  break;
             * case PreffixType.XPPERCENT:
             *  player.Hero.AddXpPercent(amount);
             *  break;
             * case PreffixType.REPUTATION:
             *  player.Hero.AddReputation(ID, amount);
             *  break;
             */
        }
        return(true);
    }
예제 #4
0
    public static bool GiveItem(PreffixType preffix, int ID, int amount)
    {
        string uniqueId = preffix.ToString() + ID.ToString();
         switch(preffix)
         {
         case PreffixType.ARMOR:
             RPGArmor armor = Storage.LoadbyUniqueId<RPGArmor>(uniqueId, new RPGArmor());
             //armor.CurrentDurability = armor.Durability;
            if(armor.EquipmentSlotIndex == EquipmentSlots.Head)
                return Player.Instance.Hero.HeadInventory.AddItem(armor, amount);
            if(armor.EquipmentSlotIndex == EquipmentSlots.Body)
                return Player.Instance.Hero.BodyInventory.AddItem(armor, amount);
            if(armor.EquipmentSlotIndex == EquipmentSlots.ArmL)
                return Player.Instance.Hero.ArmLInventory.AddItem(armor, amount);
            if(armor.EquipmentSlotIndex == EquipmentSlots.ArmR)
                return Player.Instance.Hero.ArmRInventory.AddItem(armor, amount);
            if(armor.EquipmentSlotIndex == EquipmentSlots.Legs)
                return Player.Instance.Hero.LegsInventory.AddItem(armor, amount);
            break;
         case PreffixType.ITEM:
             RPGItem item = Storage.LoadbyUniqueId<RPGItem>(uniqueId, new RPGItem());
            return Player.Instance.Hero.Inventory.AddItem(item, amount);
            //break;
         /*case PreffixType.SKILL:
             if (amount == -1)
             {
                 //add new skill
                 RPGSkill skill = Storage.LoadbyUniqueId<RPGSkill>(uniqueId, new RPGSkill());
                 skill.Value = 1;
                 player.Hero.Skills.Add(skill);
             }
             else
             {
                 foreach(RPGSkill skill in player.Hero.Skills)
                 {
                     if (skill.UniqueId == uniqueId)
                     {
                         if (skill.Value + amount > skill.Maximum)
                             skill.Value = skill.Maximum;
                         else
                             skill.Value += amount;
                     }
                 }
             }

             break;
         case PreffixType.SKILLPOINT:
             player.Hero.SkillPoint += amount;
             break;
         case PreffixType.QUEST:
             player.Hero.Quest.StartQuest(ID);
             break;
         case PreffixType.ATTRIBUTE:
             if (amount == -1)
             {
                 //add new skill
                 RPGAttribute attr = Storage.LoadbyUniqueId<RPGAttribute>(uniqueId, new RPGAttribute());
                 attr.Value = 1;
                 player.Hero.Attributes.Add(attr);
             }
             else
             {
                 foreach(RPGAttribute atr in player.Hero.Attributes)
                 {
                     if (atr.UniqueId == uniqueId)
                     {
                         if (atr.Value + amount > atr.Maximum)
                             atr.Value = atr.Maximum;
                         else
                             atr.Value += amount;
                     }
                 }
             }
             break;
         case PreffixType.ATTRIBUTEPOINT:
             player.Hero.AttributePoint += amount;
             break;
         case PreffixType.XP:
             player.Hero.AddXp(amount);
             break;
         case PreffixType.XPPERCENT:
             player.Hero.AddXpPercent(amount);
             break;
         case PreffixType.REPUTATION:
             player.Hero.AddReputation(ID, amount);
             break;
             */
         }
         return true;
    }