public override void EquipItem(InventoryBase InventoryBase, EquipmentBase Equipment, int IndexOf, BaseCharacter player) { bool addNewSlot = true;; for (int i = 0; i < Equipment.QuickAccessItems.Count; i++) { ItemSlot itemInInventory = Equipment.QuickAccessItems[i]; if (itemInInventory.Item.ItemID == ItemID && itemInInventory.Count < 99) { itemInInventory.Count++; addNewSlot = false; RemoveFromInventory(InventoryBase, IndexOf); } Equipment.QuickAccessItems[i] = itemInInventory; } if (Equipment.OpenSlots && addNewSlot) { Equipment.QuickAccessItems.Add( new ItemSlot() { Item = Instantiate(this), Count = 1 }); RemoveFromInventory(InventoryBase, IndexOf); } else if (addNewSlot) { Debug.LogWarning("Can't add item to Quick slot"); } }
private void Awake() { ModLogger = Logger; // Don't know how to create/use an asset bundle, or don't have a unity project set up? // Look here for info on how to set these up: https://github.com/KomradeSpectre/AetheriumMod/blob/rewrite-master/Tutorials/Item%20Mod%20Creation.md#unity-project using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("ItemModCreationBoilerplate.my_assetbundlefile")) { MainAssets = AssetBundle.LoadFromStream(stream); } //This section automatically scans the project for all artifacts var ArtifactTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ArtifactBase))); foreach (var artifactType in ArtifactTypes) { ArtifactBase artifact = (ArtifactBase)Activator.CreateInstance(artifactType); if (ValidateArtifact(artifact, Artifacts)) { artifact.Init(Config); } } //This section automatically scans the project for all items var ItemTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ItemBase))); foreach (var itemType in ItemTypes) { ItemBase item = (ItemBase)System.Activator.CreateInstance(itemType); if (ValidateItem(item, Items)) { item.Init(Config); } } //this section automatically scans the project for all equipment var EquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase))); foreach (var equipmentType in EquipmentTypes) { EquipmentBase equipment = (EquipmentBase)System.Activator.CreateInstance(equipmentType); if (ValidateEquipment(equipment, Equipments)) { equipment.Init(Config); } } //this section automatically scans the project for all elite equipment var EliteEquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EliteEquipmentBase))); foreach (var eliteEquipmentType in EliteEquipmentTypes) { EliteEquipmentBase eliteEquipment = (EliteEquipmentBase)System.Activator.CreateInstance(eliteEquipmentType); if (ValidateEliteEquipment(eliteEquipment, EliteEquipments)) { eliteEquipment.Init(Config); } } }
void Start() { PC = this.GetComponent <PlayerCharacter>(); Inventory = this.GetComponent <CharacterInventory>().Inventory; CharacterInventory temp = this.GetComponent <CharacterInventory>(); temp.Inventory.MaxInventorySize = 30; Equip = temp.Equipment; SetupPC(); addering[0].AddToInventory(Inventory); addering[0].AddToInventory(Inventory); addering[0].AddToInventory(Inventory); addering[1].AddToInventory(Inventory); addering[1].AddToInventory(Inventory); addering[1].AddToInventory(Inventory); addering[2].AddToInventory(Inventory); addering[2].AddToInventory(Inventory); addering[2].AddToInventory(Inventory); addering[2].AddToInventory(Inventory); Inventory.ItemsInInventory[0].Item.Use(Inventory, 0, PC); Menu = new DisplayMenu(PC, Equip, Inventory); Menu.CloseInventory(); }
/// <summary> /// 从装备槽向背包放回装备 /// </summary> public void ReturnEquipmentFromSlot(EquipmentBase equipment) { GameObject newEquipment = Instantiate(solotPrefab, content.transform); newEquipment.GetComponentInChildren <PackageItem>().setEquipment(equipment);//把背包图标与真实装备对应上 RefreshPackageSize(); }
public bool Add(string StrEquipmenName, EquipmentBase pEquipmentBase) { // MyEquipList.Add(EquipmenNameArray.Keys[i].ToString(), (EquipmentBase)MyEquipmentManage.Createobject(CurrentEquipmentName)); MyEquipList.Add(StrEquipmenName, (EquipmentBase)pEquipmentBase); // MyEquipList.Clear(); return(true); }
public void OnMouseHover(GameObject theObject) { MouseOver = true; currentEquipment = theObject.GetComponent <EquipmentBase>(); StartCoroutine(StartCountDown()); Title.text = ""; }
public override void Unequip(InventoryBase inventoryBase, EquipmentBase Equipment, BaseCharacter player, int IndexOf) { AddToInventory(inventoryBase); ModCharacterStats(player, false); switch (ArmorType) { case ArmorType.Arms: Equipment.Arms = null; break; case ArmorType.Chest: Equipment.Chest = null; break; case ArmorType.Helmet: Equipment.Helmet = null; break; case ArmorType.Legs: Equipment.Legs = null; break; case ArmorType.Signature: Equipment.Signature = null; break; } }
public void Awake() { using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("LostInTransit.lostintransit_assets")) { MainAssets = AssetBundle.LoadFromStream(stream); } var materialAssets = MainAssets.LoadAllAssets <Material>(); foreach (Material material in materialAssets) { if (!material.shader.name.StartsWith("Stubbed")) { continue; } //Logger.LogInfo(material); var replacementShader = Resources.Load <Shader>(ShaderLookup[material.shader.name.ToLower()]); if (replacementShader) { material.shader = replacementShader; } } var ItemTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ItemBase))); foreach (var itemType in ItemTypes) { ItemBase item = (ItemBase)System.Activator.CreateInstance(itemType); if (ValidateItem(item, Items)) { item.Init(Config); } } //Material shader autoconversion - thanks Komrade, you're da best! ^^ var EquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase))); foreach (var equipmentType in EquipmentTypes) { EquipmentBase equipment = (EquipmentBase)System.Activator.CreateInstance(equipmentType); if (ValidateEquipment(equipment, Equipments)) { equipment.Init(Config); } } var EliteTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EliteBase))); foreach (var eliteType in EliteTypes) { EliteBase elite = (EliteBase)System.Activator.CreateInstance(eliteType); if (ValidateElites(elite, Elites)) { elite.Init(Config); } } }
public void AddToAssembly() { //This section automatically scans the project for all artifacts var ArtifactTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ArtifactBase))); foreach (var artifactType in ArtifactTypes) { ArtifactBase artifact = (ArtifactBase)Activator.CreateInstance(artifactType); if (ValidateArtifact(artifact, Artifacts)) { artifact.Init(Config); } } //This section automatically scans the project for all items var ItemTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ItemBase))); foreach (var itemType in ItemTypes) { ItemBase item = (ItemBase)System.Activator.CreateInstance(itemType); if (ValidateItem(item, Items)) { item.Init(Config); } } //this section automatically scans the project for all equipment var EquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase))); foreach (var equipmentType in EquipmentTypes) { EquipmentBase equipment = (EquipmentBase)System.Activator.CreateInstance(equipmentType); if (ValidateEquipment(equipment, Equipments)) { equipment.Init(Config); } } //this section automatically scans the project for all elite equipment var EliteEquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EliteEquipmentBase))); foreach (var eliteEquipmentType in EliteEquipmentTypes) { EliteEquipmentBase eliteEquipment = (EliteEquipmentBase)System.Activator.CreateInstance(eliteEquipmentType); if (ValidateEliteEquipment(eliteEquipment, EliteEquipments)) { eliteEquipment.Init(Config); } } //this section automatically scans the project for all elite equipment var ControllerTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ControllerBase))); foreach (var controllerType in ControllerTypes) { ControllerBase controllerBase = (ControllerBase)System.Activator.CreateInstance(controllerType); controllerBase.Init(Config); } }
private void UpdateEquipmentDataText() { var player = this.Player; (this.m_textInfoStatContainer.GetChildAt(0) as TextObj).Text = player.MaxHealth.ToString(); (this.m_textInfoStatContainer.GetChildAt(1) as TextObj).Text = player.MaxMana.ToString(); (this.m_textInfoStatContainer.GetChildAt(2) as TextObj).Text = player.Damage.ToString(); (this.m_textInfoStatContainer.GetChildAt(3) as TextObj).Text = player.TotalMagicDamage.ToString(); (this.m_textInfoStatContainer.GetChildAt(4) as TextObj).Text = player.TotalArmor.ToString(); (this.m_textInfoStatContainer.GetChildAt(5) as TextObj).Text = player.CurrentWeight + "/" + player.MaxWeight; int mCurrentCategoryIndex = this.m_currentCategoryIndex - 6; int equippedIndex = Game.PlayerStats.GetEquippedArray[mCurrentCategoryIndex]; EquipmentBase currentData = equippedIndex == this.m_currentEquipmentIndex ? new EquipmentBase() : Game.EquipmentSystem.GetEquipmentData(mCurrentCategoryIndex, this.m_currentEquipmentIndex); EquipmentBase equippedData = equippedIndex >= 0 ? Game.EquipmentSystem.GetEquipmentData(mCurrentCategoryIndex, equippedIndex) : new EquipmentBase(); SetStatTextObject(0, currentData.BonusHealth - equippedData.BonusHealth); SetStatTextObject(1, currentData.BonusMana - equippedData.BonusMana); SetStatTextObject(2, currentData.BonusDamage - equippedData.BonusDamage); SetStatTextObject(3, currentData.BonusMagic - equippedData.BonusMagic); SetStatTextObject(4, currentData.BonusArmor - equippedData.BonusArmor); SetStatTextObject(5, currentData.Weight - equippedData.Weight); if (equippedIndex == this.m_currentEquipmentIndex) { currentData = equippedData; } Vector2[] secondaryAttribute = currentData.SecondaryAttribute; string secondaryString = "None"; if (secondaryAttribute != null && secondaryAttribute.Length > 0) { var accum = ""; foreach (var v in secondaryAttribute) { if (v.X > 0f) { accum += "+" + (v.X >= 7f ? v.Y + " " : (v.Y * 100 + "% ")) + EquipmentSecondaryDataType.ToString((int)v.X) + "\n"; } } if (accum.Length > 0) { secondaryString = accum; } } this.m_addPropertiesText.Text = secondaryString; this.m_equipmentTitleText.Text = currentData.ShortDisplayName; }
public Armor(EquipmentBase e, int ilvl) : base(e, ilvl) { armor = e.armor; shield = e.shield; dodgeRating = e.dodgeRating; resolveRating = e.resolveRating; blockChance = (int)e.criticalChance; blockProtection = (int)e.attackSpeed; }
/// <summary> /// A helper to easily set up and initialize an equipment from your equipment classes if the user has it enabled in their configuration files. /// </summary> /// <param name="equipment">A new instance of an EquipmentBase class."</param> /// <param name="equipmentList">The list you would like to add this to if it passes the config check.</param> public bool ValidateEquipment(EquipmentBase equipment, List <EquipmentBase> equipmentList) { if (Config.Bind <bool>(equipment.ConfigCategory, "Enable Equipment?", true, "Should this equipment appear in runs?").Value) { equipmentList.Add(equipment); return(true); } return(false); }
/// <summary> /// A helper to easily set up and initialize an equipment from your equipment classes if the user has it enabled in their configuration files. /// </summary> /// <param name="equipment">A new instance of an EquipmentBase class. E.g. "new ExampleEquipment()"</param> /// <param name="equipmentList">The list you would like to add this to if it passes the config check.</param> public bool ValidateEquipment(EquipmentBase equipment, List <EquipmentBase> equipmentList) { if (TurboEdition.instance.Config.Bind <bool>("Equipment: " + equipment.EquipmentName, "Enable Equipment?", true, "Should this equipment appear in runs?").Value) { equipmentList.Add(equipment); return(true); } return(false); }
void Start() { Debug.Log("TODO 物品槽的对象池"); rectTransform = this.GetComponent <RectTransform>(); if (equipment == null) { equipment = new EquipmentBase(); } }
/// <summary> /// 玩家背包中添加装备 /// </summary> /// <param name="equipment"></param> /// <param name="player"></param> public void AddEquipmentToPackage(EquipmentBase equipment) { playerAttribute.equipmentList.Add(equipment); //TODO 使用对象池以节省性能 GameObject newEquipment = Instantiate(solotPrefab, content.transform); newEquipment.GetComponentInChildren <PackageItem>().setEquipment(equipment);//把背包图标与真实装备对应上 RefreshPackageSize(); }
private void AddButtonClick(object sender, RoutedEventArgs e) { EquipmentBase temp = new EquipmentBase { IdName = "UNTITLED NEW", InnateAffixId = null }; Equipments.Add(temp); currentID++; }
private void CopyButtonClick(object sender, RoutedEventArgs e) { if (EquipList.SelectedItem == null) { return; } EquipmentBase temp = Helpers.DeepClone((EquipmentBase)EquipList.SelectedItem); Equipments.Add(temp); currentID++; }
private void UpdateIconStates() { var bpArr = Game.PlayerStats.GetBlueprintArray; int catIx = 0, catCount = bpArr.Count; while (catIx < catCount) { var catArr = bpArr[catIx]; var iconArr = this.m_masterIconArray[catIx]; var catString = EquipmentCategoryType.ToString(catIx); int itemIx = 0, itemCount = catArr.Length; while (itemIx < itemCount) { var item = catArr[itemIx]; var icon = iconArr[itemIx]; if (item != 0) { icon.ChangeSprite("BlacksmithUI_" + catString + (itemIx % 5 + 1) + "Icon_Character"); for (int k = 1; k < icon.NumChildren; k++) { icon.GetChildAt(k).Opacity = 0.2f; } } else { icon.ChangeSprite("BlacksmithUI_QuestionMarkIcon_Character"); } if (item > 2) { for (int l = 1; l < icon.NumChildren; l++) { icon.GetChildAt(l).Opacity = 1f; } int num1 = catIx == 0 ? 2 : 1; EquipmentBase equipmentData = Game.EquipmentSystem.GetEquipmentData(catIx, itemIx); icon.GetChildAt(num1).TextureColor = equipmentData.FirstColour; if (catIx != 4) { icon.GetChildAt(num1 + 1).TextureColor = equipmentData.SecondColour; } } itemIx++; } catIx++; } }
public Weapon(EquipmentBase e, int ilvl) : base(e, ilvl) { weaponDamage = new Dictionary <ElementType, MinMaxRange>(); foreach (ElementType element in Enum.GetValues(typeof(ElementType))) { weaponDamage[element] = new MinMaxRange(); } weaponDamage[ElementType.PHYSICAL].SetMinMax(e.minDamage, e.maxDamage); CriticalChance = e.criticalChance; AttackSpeed = e.attackSpeed; WeaponRange = e.weaponRange; }
public DisplayMenu(BaseCharacter player, EquipmentBase equipment, InventoryBase inventory) { Manager = UIManager.instance; MenuPanelParent = CreateMenu( new Vector2(0, 0), new Vector2(0, 0)); Character = player; Inventory = inventory; Equipment = equipment; playerStats = CreatePlayerPanel(); itemPanel = CreateItemPanel(); }
public bool ValidateEquipment(EquipmentBase equipment, List <EquipmentBase> equipmentList) { var enabled = Config.Bind <bool>("Equipment: " + equipment.EquipmentName, "Enable Equipment?", true, "Should this equipment appear in runs?").Value; EquipmentStatusDictionary.Add(equipment, enabled); if (enabled) { equipmentList.Add(equipment); return(true); } return(false); }
public void InitEquips() { var EquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase))); foreach (var equipmentType in EquipmentTypes) { EquipmentBase equipment = (EquipmentBase)System.Activator.CreateInstance(equipmentType); if (ValidateEquipment(equipment, EquipmentList)) { equipment.Init(TurboEdition.instance.Config); } } }
private void CreateHybrid(EquipmentBase item, string oldVal, string newVal, GroupType group) { EquipmentBase hybrid = Helpers.DeepClone(item); hybrid.IdName = hybrid.IdName.Replace(oldVal, newVal); if (Equipments.ToList().Find(x => x.IdName == hybrid.IdName) != null) { return; } hybrid.Group = group; EquipBaseFields.CalculateArmorValues(hybrid); EquipBaseFields.CalculateReqValues(hybrid); Equipments.Add(hybrid); }
public override void Unequip(InventoryBase Inventory, EquipmentBase Equipment, BaseCharacter player, int IndexOf) { ItemSlot updateItem = Equipment.QuickAccessItems[IndexOf]; if (Stackable && updateItem.Count > 1) { updateItem.Count--; Equipment.QuickAccessItems[IndexOf] = updateItem; updateItem.Item.AddToInventory(Inventory); } else { updateItem.Item.AddToInventory(Inventory); Equipment.QuickAccessItems.RemoveAt(IndexOf); } }
public string GetLocalizationText(EquipmentBase equipment) { string stringId = equipment.idName; if (equipmentLocalizationData.TryGetValue("equipment." + stringId, out string value)) { if (value == "") { return(stringId); } return(value); } else { return(stringId); } }
private void DeleteButton_Click(object sender, EventArgs e) { if (Utility.EQUIP_CATEGORY_LIST.Contains(entryItems[0].Classification)) { EquipmentBase equip = (EquipmentBase)entryItems[0]; EquipmentBase prevEquip = equip.Clone(); // 削除する List <EquipmentBase> equipList = new List <EquipmentBase>(); if (File.Exists(saveDir + userId + "_" + saveEquipFile)) { equipList = JsonConvert.DeserializeObject <List <EquipmentBase> >(File.ReadAllText(saveDir + userId + "_" + saveEquipFile)); } if (updateMode) { string itemName = prevEquip.Name; string ability = string.Join(" ", prevEquip.RefineAbility) + " " + string.Join(" ", prevEquip.SpecialAbility); equipList.Remove(equipList.Where(x => x.Name == itemName && string.Join(" ", x.RefineAbility) + " " + string.Join(" ", x.SpecialAbility) == ability).First()); } File.WriteAllText(saveDir + userId + "_" + saveEquipFile, JsonConvert.SerializeObject(equipList)); } else { if (MessageBox.Show("以下全て削除されます!", "確認", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK) { string updateItemName = entryItems[0].Name; // 削除する List <Item> itemList = new List <Item>(); if (File.Exists(saveDir + userId + "_" + saveItemFile)) { itemList = JsonConvert.DeserializeObject <List <Item> >(File.ReadAllText(saveDir + userId + "_" + saveItemFile)); } if (updateMode) { itemList.RemoveAll(x => x.Name == updateItemName); } File.WriteAllText(saveDir + userId + "_" + saveItemFile, JsonConvert.SerializeObject(itemList)); } else { return; } } this.Hide(); }
public override void Unequip(InventoryBase inventoryBase, EquipmentBase Equipment, BaseCharacter player, int IndexOf) { ModCharacterStats(player, false); AddToInventory(inventoryBase); switch (Slot) { case WeaponSlot.Primary: Equipment.PrimaryWeapon = null; break; case WeaponSlot.Secondary: Equipment.SecondaryWeapon = null; break; case WeaponSlot.Projectile: Equipment.ProjectileWeopon = null; break; } }
public static Equipment CreateEquipmentFromBase(string equipmentString, int ilvl, RarityType rarity = RarityType.NORMAL) { EquipmentBase equipmentBase = ResourceManager.Instance.GetEquipmentBase(equipmentString); if (equipmentBase == null) { return(null); } Equipment equip = CreateEquipmentFromBase(equipmentBase, ilvl); if (rarity > RarityType.NORMAL) { equip.Rarity = rarity; equip.RerollAffixesAtRarity(); } return(equip); }
public void SetItems(int id, List <ItemBase> items, List <ItemBase> itemList, string imageFile) { userId = id; entryItems = items; allitemList = itemList; imageFileName = imageFile; if (Utility.EQUIP_CATEGORY_LIST.Contains(entryItems[0].Classification)) { defineList = allitemList.Where(x => Utility.EQUIP_CATEGORY_LIST.Contains(x.Classification)).ToList(); if (imageFile == null) { EquipmentBase equip = (EquipmentBase)items[0]; screenShot = Utility.DeSerializeBitmap(equip.Screenshot); } } else { defineList = allitemList.Where(x => Utility.ITEM_CATEGORY_LIST.Contains(x.Classification)).ToList(); } }
public int DealDamage(List <EquipmentBase> i) { EquipmentBase w = null; foreach (var weapon in inventory) { if (weapon.AttackWeapon == true) { if (w == null) { w = weapon; } else if (weapon.Modifier(weapon.BaseMod, weapon.Quality) > w.Modifier(w.BaseMod, w.Quality)) { w = weapon; } } } return(w.Modifier(w.BaseMod, w.Quality)); }
public bool Equip(CharacterBase character, EquipmentBase item, EquipmentType location) { if (item.CanEquip(character, location)) { switch (location) { case EquipmentType.Arms: if(Arms != null) character.Inventory.Add(Arms); Arms = item; break; case EquipmentType.Boots: if (Boots != null) character.Inventory.Add(Boots); Boots = item; break; case EquipmentType.Bracelet: if (Boots != null) character.Inventory.Add(Boots); Boots = item; break; case EquipmentType.Cape: if (Cape != null) character.Inventory.Add(Cape); Cape = item; break; case EquipmentType.Chest: if (Chest != null) character.Inventory.Add(Chest); Chest = item; break; case EquipmentType.Finger: if (Finger != null) character.Inventory.Add(Finger); Finger = item; break; case EquipmentType.Gloves: if (Gloves != null) character.Inventory.Add(Gloves); Gloves = item; break; case EquipmentType.Helmet: if (Head != null) character.Inventory.Add(Head); Head = item; break; case EquipmentType.Legs: if (Legs != null) character.Inventory.Add(Legs); Legs = item; break; case EquipmentType.MainHand: if (MainWeapon != null) character.Inventory.Add(MainWeapon); if (OffHand != null && item.Types.Contains(EquipmentType.TwoHand)) character.Inventory.Add(OffHand); MainWeapon = item; break; case EquipmentType.Necklace: if (Neck != null) character.Inventory.Add(Neck); Neck = item; break; case EquipmentType.Ranged: if (Ranged != null) character.Inventory.Add(Ranged); Ranged = item; break; case EquipmentType.SecondaryHand: if (OffHand != null) character.Inventory.Add(OffHand); if (MainWeapon.Types.Contains(EquipmentType.TwoHand)) character.Inventory.Add(MainWeapon); OffHand = item; break; case EquipmentType.Shoulders: if (Shoulders != null) character.Inventory.Add(Shoulders); Shoulders = item; break; } } return true; }