private ResourceFilesData() { ArmorData armorData; WeaponsData weaponsData; MiscData miscData; ItemStatCostData itemStatCostData; using (Stream s = GetResource("ItemStatCost.txt")) { itemStatCostData = ItemStatCostData.Read(s); } using (Stream s = GetResource("Armor.txt")) { armorData = ArmorData.Read(s); } using (Stream s = GetResource("Weapons.txt")) { weaponsData = WeaponsData.Read(s); } using (Stream s = GetResource("Misc.txt")) { miscData = MiscData.Read(s); } MetaData = new MetaData(itemStatCostData, new ItemsData(armorData, weaponsData, miscData)); }
public static ArmorData Read(Stream data) { var armor = new ArmorData(); armor.ReadData(data); return(armor); }
public static void ReadItemData() { itemManager = new ItemDataManager(); string[] fileNames = Directory.GetFiles( Path.Combine(FormMain.ItemPath, "Armor"), "*.xml"); foreach (string s in fileNames) { ArmorData armorData = XnaSerializer.Deserialize <ArmorData>(s); itemManager.ArmorData.Add(armorData.Name, armorData); } fileNames = Directory.GetFiles( Path.Combine(FormMain.ItemPath, "Shield"), "*.xml"); foreach (string s in fileNames) { ShieldData shieldData = XnaSerializer.Deserialize <ShieldData>(s); itemManager.ShieldData.Add(shieldData.Name, shieldData); } fileNames = Directory.GetFiles( Path.Combine(FormMain.ItemPath, "Weapon"), "*.xml"); foreach (string s in fileNames) { WeaponData weaponData = XnaSerializer.Deserialize <WeaponData>(s); itemManager.WeaponData.Add(weaponData.Name, weaponData); } }
void btnCancel_Click(object sender, EventArgs e) { armor = null; this.FormClosing -= FormArmorDetails_FormClosing; this.Close(); }
public void OnArmorInsert(ArmorSlot slot, Item item) { ((Armor)item).m_Limb = slot.m_Limb; item.ItemsManagerUnregister(); item.transform.SetParent(slot.transform); Physics.IgnoreCollision(this.m_Player.m_Collider, item.GetComponent <Collider>()); Renderer[] componentsDeepChild = General.GetComponentsDeepChild <Renderer>(item.gameObject); for (int i = 0; i < componentsDeepChild.Length; i++) { componentsDeepChild[i].enabled = false; } ArmorInfo armorInfo = (ArmorInfo)item.m_Info; ArmorData armorData = this.m_LimbMap[(int)slot.m_Limb]; armorData.m_MeshMap[(int)armorInfo.m_ArmorType].SetActive(true); armorData.m_Mesh = armorData.m_MeshMap[(int)armorInfo.m_ArmorType]; armorData.m_AttachedArmor = item; armorData.m_AttachedArmorOrigCollCenter = armorData.m_AttachedArmor.m_BoxCollider.center; armorData.m_AttachedArmorOrigCollSize = armorData.m_AttachedArmor.m_BoxCollider.size; armorData.m_AttachedArmor.m_BoxCollider.center = armorData.m_AttachedArmorCollCenter; armorData.m_AttachedArmor.m_BoxCollider.size = armorData.m_AttachedArmorCollSize; armorData.m_ArmorType = armorInfo.m_ArmorType; armorData.m_Absorption = armorInfo.m_Absorption; armorData.m_Health = armorInfo.m_Health; HUDBodyInspection.Get().m_ArmorEnabled = true; this.SetMeshesVisible(HUDBodyInspection.Get().m_ArmorEnabled); BodyInspectionController.Get().OnArmorAttached(slot.m_Limb); }
public void ArmorCarryStarted(Item item) { ((Armor)item).m_Limb = Limb.None; ArmorData armorData = null; foreach (KeyValuePair <int, ArmorData> keyValuePair in this.m_LimbMap) { if (keyValuePair.Value.m_AttachedArmor == item) { Dictionary <int, ArmorData> .Enumerator enumerator; keyValuePair = enumerator.Current; armorData = keyValuePair.Value; break; } } if (armorData == null) { return; } item.ItemsManagerRegister(false); Renderer[] componentsDeepChild = General.GetComponentsDeepChild <Renderer>(item.gameObject); for (int i = 0; i < componentsDeepChild.Length; i++) { componentsDeepChild[i].enabled = true; } Limb limb = armorData.m_Slot.m_Limb; item.m_BoxCollider.center = armorData.m_AttachedArmorOrigCollCenter; item.m_BoxCollider.size = armorData.m_AttachedArmorOrigCollSize; armorData.m_Slot.m_Item = null; armorData.m_Mesh.SetActive(false); armorData.m_DestroyedMesh.SetActive(false); armorData.Reset(); this.OnArmorRemoved(limb); }
private void drawArmorSettings() { mainText = "Armor card creator"; GUILayout.BeginHorizontal(); if (GUILayout.Button("Create new Armor")) { foreach (Sprite sprite in spriteList) { int tempPoints = power; int atq = Random.Range(0, tempPoints); tempPoints -= atq; int def = tempPoints; ArmorData armor = CreateInstance <ArmorData>(); armor.atk = atq; armor.def = def; armor.image = sprite; armor.name = armor.image.name; armor.type = cardType; saveData(armor); } spriteList = new List <Sprite>(); power = 0; } GUILayout.EndHorizontal(); }
public static ArmorData createArmorData(ArmorType type) { ArmorData data = new ArmorData(ItemQuality.COMMON, 1, type, type.armorClass()); data.initCommons(type.cost(), 0); return(data); }
public void SetMeshesVisible(bool set) { foreach (KeyValuePair <int, ArmorData> keyValuePair in this.m_LimbMap) { ArmorData value = keyValuePair.Value; if (value.m_ArmorType != ArmorType.None) { if (set) { if (value.IsArmorDestroyed()) { value.m_MeshMap[(int)value.m_ArmorType].SetActive(false); value.m_DestroyedMesh.SetActive(true); if (value.m_Cloth) { value.m_Cloth.enabled = false; value.m_Cloth.enabled = true; } } else { value.m_MeshMap[(int)value.m_ArmorType].SetActive(true); value.m_DestroyedMesh.SetActive(false); } } else { value.m_MeshMap[(int)value.m_ArmorType].SetActive(false); value.m_DestroyedMesh.SetActive(false); } } } }
public async Task <Armor> GetEntity(int id) { ArmorData armorData = (ArmorData)(await _repo.FetchOne(id)); // For now let's deal with having to cast our repo data Armor armor = _mapper.Map <Armor>(armorData); return(armor); }
public Armor(ArmorData data) : base(data) { Defense = data.Defense; DefensePercent = data.DefensePercent; MagicDefense = data.MagicDefense; MagicDefensePercent = data.MagicDefensePercent; }
public void Load(ArmorData armorData) { SetBaseScore(armorData.baseAbility); SetItemName(armorData.name); SetItemType((ITEM_TYPE)armorData.itemType); SetDefenseValue(armorData.defense); SetHeavyArmor(armorData.heavyArmor); }
void loadArmor() { //string jsonString = Tools.ReadStringFromFile(Application.dataPath + "/" + armorDataFile); armorDataDic = Tools.LoadOneData <ArmorData>(Application.dataPath + "/" + "Resources_moved/Scripts/Armor/ArmorList"); skeletonDataAssetPath = Tools.ReadStringFromFile(Application.dataPath + "/" + "Resources_moved/Scripts/Armor/ArmorskeletonDataAssetPath.json"); armorDataList = armorDataDic.Values.ToList(); currArmorData = armorDataList[0]; }
public Armor(ArmorData armorData) : base(armorData, false) { ArmorPrefab armorPrefab = Resources.Load <ArmorPrefab>("Items/Armor/" + itemPrefabName); defence = armorData.defence; type = armorPrefab.type; model = armorPrefab.model; sprite = armorPrefab.sprite; enchantment = new Enchantment(armorData.enchantment); }
public float GetAbsorption(Limb limb) { ArmorData armorData = this.m_LimbMap[(int)limb]; if (armorData.m_ArmorType != ArmorType.None && !armorData.IsArmorDestroyed()) { return(CJTools.Math.GetProportionalClamp(armorData.m_MinAbsorption, 1f, armorData.m_AttachedArmor.m_Info.m_Health, 0f, armorData.m_AttachedArmor.m_Info.m_MaxHealth) * armorData.m_Absorption); } return(0f); }
public static void ReadArmorData(ContentManager Content) { string[] filenames = Directory.GetFiles(@"Content\Game\Items\Armor", "*.xnb"); foreach (string name in filenames) { string filename = @"Game\Items\Armor\" + Path.GetFileNameWithoutExtension(name); ArmorData data = Content.Load <ArmorData>(filename); ArmorData.Add(data.Name, data); } }
void btnOK_Click(object sender, EventArgs e) { int price = 0; float weight = 0f; int defVal = 0; int defMod = 0; if (string.IsNullOrEmpty(tbName.Text)) { MessageBox.Show("You must enter a name for the item."); return; } if (!int.TryParse(mtbPrice.Text, out price)) { MessageBox.Show("Price must be an integer value."); return; } weight = (float)nudWeight.Value; if (!int.TryParse(mtbDefenseValue.Text, out defVal)) { MessageBox.Show("Defense valule must be an interger value."); return; } if (!int.TryParse(mtbDefenseModifier.Text, out defMod)) { MessageBox.Show("Defense valule must be an interger value."); return; } List <string> allowedClasses = new List <string>(); foreach (object o in lbAllowedClasses.Items) { allowedClasses.Add(o.ToString()); } armor = new ArmorData(); armor.Name = tbName.Text; armor.Type = tbType.Text; armor.Price = price; armor.Weight = weight; armor.ArmorLocation = (ArmorLocation)cboArmorLocation.SelectedIndex; armor.DefenseValue = defVal; armor.DefenseModifier = defMod; armor.AllowableClasses = allowedClasses.ToArray(); this.FormClosing -= FormArmorDetails_FormClosing; this.Close(); }
public bool IsgameObjectEquipedArmor(GameObject go) { foreach (KeyValuePair <int, ArmorData> keyValuePair in this.m_LimbMap) { ArmorData value = keyValuePair.Value; if (value.m_AttachedArmor != null && go == value.m_AttachedArmor.gameObject) { return(true); } } return(false); }
public override void LateUpdate() { if (Debug.isDebugBuild) { this.UpdateDebug(); } base.LateUpdate(); bool flag = ScenarioManager.Get().IsDream(); if (flag && !this.m_WasDreamActive) { this.SetMeshesVisible(false); } else if (!flag && this.m_WasDreamActive) { this.SetMeshesVisible(true); } this.m_WasDreamActive = flag; if ((this.m_ScheduleTakeDamage && (this.m_ArmorTakeDamagePhaseCompleted & 2) != 0 && (this.m_ArmorTakeDamagePhaseCompleted & 1) != 0) || (Debug.isDebugBuild && Input.GetKey(KeyCode.RightAlt) && Input.GetKey(KeyCode.P))) { if (this.m_DamageLimb == Limb.None) { this.m_DamageLimb = Limb.LArm; this.m_DamageToTake = 100f; } ArmorData armorData = this.m_LimbMap[(int)this.m_DamageLimb]; if (armorData != null) { DamageInfo damageInfo = new DamageInfo(); damageInfo.m_Damage = this.m_DamageToTake; armorData.m_AttachedArmor.TakeDamage(damageInfo); if (armorData.m_AttachedArmor.m_Info.m_Health <= 0f) { this.OnArmorDestroyed(armorData); } } this.m_ScheduleTakeDamage = false; this.m_ArmorTakeDamagePhaseCompleted = 0; this.m_DamageLimb = Limb.None; } Dictionary <int, ArmorData> .Enumerator enumerator = this.m_LimbMap.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <int, ArmorData> keyValuePair = enumerator.Current; ArmorData value = keyValuePair.Value; if (value.m_Destroyed && value.m_AttachedArmor) { value.m_AttachedArmor.transform.localRotation = Quaternion.identity; value.m_AttachedArmor.transform.localPosition = Vector3.zero; } } enumerator.Dispose(); }
/// <summary> /// 將字典傳入,依json表設定資料 /// </summary> public static void SetData(Dictionary<int, ArmorData> _dic) { string jsonStr = Resources.Load<TextAsset>("Json/Armor").ToString(); JsonData jd = JsonMapper.ToObject(jsonStr); JsonData armorItems = jd["Armor"]; for (int i = 0; i < armorItems.Count; i++) { ArmorData armorData = new ArmorData(armorItems[i]); int id = int.Parse(armorItems[i]["ID"].ToString()); _dic.Add(id, armorData); } }
void btnEdit_Click(object sender, EventArgs e) { if (lbDetails.SelectedItem != null) { string detail = lbDetails.SelectedItem.ToString(); string[] parts = detail.Split(','); string entity = parts[0].Trim(); ArmorData data = itemManager.ArmorData[entity]; ArmorData newData = null; using (FormArmorDetails frmArmorData = new FormArmorDetails()) { frmArmorData.Armor = data; frmArmorData.ShowDialog(); if (frmArmorData.Armor == null) { return; } if (frmArmorData.Armor.Name == entity) { itemManager.ArmorData[entity] = frmArmorData.Armor; FillListBox(); return; } newData = frmArmorData.Armor; } DialogResult result = MessageBox.Show( "Name has changed. Do you want to add a new entry?", "New Entry", MessageBoxButtons.YesNo); if (result == DialogResult.No) { return; } if (itemManager.ArmorData.ContainsKey(newData.Name)) { MessageBox.Show("Entry already exists. Use Edit to modify the entry."); return; } lbDetails.Items.Add(newData); itemManager.ArmorData.Add(newData.Name, newData); } }
/// <summary> /// 將字典傳入,依json表設定資料 /// </summary> public static void SetData(Dictionary <int, ArmorData> _dic) { string jsonStr = Resources.Load <TextAsset>("Json/Armor").ToString(); JsonData jd = JsonMapper.ToObject(jsonStr); JsonData armorItems = jd["Armor"]; for (int i = 0; i < armorItems.Count; i++) { ArmorData armorData = new ArmorData(armorItems[i]); int id = int.Parse(armorItems[i]["ID"].ToString()); _dic.Add(id, armorData); } }
public void OnDragItemToSlot(ArmorSlot slot, Item item) { ArmorData armorData = this.m_LimbMap[(int)slot.m_Limb]; ArmorInfo armorInfo = (ArmorInfo)item.m_Info; armorData.m_MeshMap[(int)armorInfo.m_ArmorType].SetActive(true); Renderer[] componentsDeepChild = General.GetComponentsDeepChild <Renderer>(item.gameObject); for (int i = 0; i < componentsDeepChild.Length; i++) { componentsDeepChild[i].enabled = false; } BodyInspectionController.Get().OnArmorAttached(slot.m_Limb); }
public ArmorData Save() { ArmorData armorData = new ArmorData(); armorData.baseAbility = GetBaseScore(); armorData.name = GetItemName(); armorData.itemType = (int)GetItemType(); armorData.defense = GetDefenseValue(); armorData.heavyArmor = IsHeavyArmor(); return(armorData); }
public Armor() { EditorID = new SimpleSubrecord <String>("EDID"); ObjectBounds = new ObjectBounds("OBND"); BipedData = new BipedData("BMDT"); MaleBipedModelFileName = new SimpleSubrecord <String>("MODL"); MaleWorldModelFileName = new SimpleSubrecord <String>("MOD2"); FemaleBipedModelFileName = new SimpleSubrecord <String>("MOD3"); FemaleWorldModelFileName = new SimpleSubrecord <String>("MOD4"); EquipmentType = new SimpleSubrecord <EquipmentType>("ETYP"); Data = new ArmorData("DATA"); ExtraData = new ArmorExtraData("DNAM"); }
/// <summary> /// 初始化武器,傳入武器ID /// </summary> public Armor(int _armorID) : base(_armorID) { Type = EquipmentTYpe.Armor; if (!GameDictionary.ArmorDic.ContainsKey(ID)) { Debug.LogWarning("不存在的護甲ID:" + ID); return; } ArmorData armorData = GameDictionary.ArmorDic[ID]; InitEquipment(armorData); BufferID = armorData.BufferID; }
/// <summary> /// 伤害计算 /// </summary> /// <param name="armor">装甲数据</param> /// <param name="bullet">子弹数据</param> public static HP Damage(ArmorData armor, BulletData bullet) { if (armor.isShieldBroken) { return(new HP ( bullet.physicDamage * (1 - armor.ArmorStrength * (1 - bullet.ArmourPiercingRate)), 0 )); } else { return(new HP ( bullet.physicDamage * bullet.ShieldPenetratingRate * (1 - armor.ArmorStrength * (1 - bullet.ArmourPiercingRate)), bullet.shieldDamage + bullet.physicDamage * (1 - armor.ShieldDefence) * (1 - bullet.ShieldPenetratingRate) )); } }
void Init(int templateId) { ItemData itemData = null; DataManager.ItemDict.TryGetValue(templateId, out itemData); if (itemData.itemType != ItemType.Armor) { return; } ArmorData data = (ArmorData)itemData; { TemplateId = data.id; Count = 1; ArmorType = data.armorType; Defence = data.defence; Stackable = false; } }
private void OnArmorDestroyed(ArmorData armor_data) { if (armor_data.m_AttachedArmor != null) { UnityEngine.Object.Destroy(armor_data.m_AttachedArmor.gameObject); } Item item = ItemsManager.Get().CreateItem(ItemID.broken_armor, false, armor_data.m_Slot.transform); item.transform.SetParent(armor_data.m_Slot.transform); Physics.IgnoreCollision(this.m_Player.m_Collider, item.GetComponent <Collider>()); Renderer[] componentsDeepChild = General.GetComponentsDeepChild <Renderer>(item.gameObject); for (int i = 0; i < componentsDeepChild.Length; i++) { componentsDeepChild[i].enabled = false; } armor_data.m_Slot.m_Item = item; if (armor_data.m_Mesh) { armor_data.m_Mesh.SetActive(false); } if (armor_data.m_DestroyedMesh) { armor_data.m_DestroyedMesh.SetActive(true); if (armor_data.m_Cloth) { armor_data.m_Cloth.enabled = false; armor_data.m_Cloth.enabled = true; } } armor_data.m_Mesh = armor_data.m_DestroyedMesh; armor_data.m_AttachedArmor = item; armor_data.m_AttachedArmorOrigCollCenter = armor_data.m_AttachedArmor.m_BoxCollider.center; armor_data.m_AttachedArmorOrigCollSize = armor_data.m_AttachedArmor.m_BoxCollider.size; armor_data.m_AttachedArmor.m_BoxCollider.center = armor_data.m_AttachedArmorCollCenter; armor_data.m_AttachedArmor.m_BoxCollider.size = armor_data.m_AttachedArmorCollSize; armor_data.m_Destroyed = true; ((Armor)item).m_Limb = armor_data.m_Slot.m_Limb; ArmorInfo armorInfo = (ArmorInfo)item.m_Info; armor_data.m_ArmorType = armorInfo.m_ArmorType; item.transform.localPosition = Vector3.zero; }
private void AddArmor(ArmorData armorData) { if (FormDetails.ItemManager.ArmorData.ContainsKey(armorData.Name)) { DialogResult result = MessageBox.Show( armorData.Name + " already exists. Overwrite it?", "Existing armor", MessageBoxButtons.YesNo); if (result == DialogResult.No) { return; } itemManager.ArmorData[armorData.Name] = armorData; FillListBox(); return; } itemManager.ArmorData.Add(armorData.Name, armorData); lbDetails.Items.Add(armorData); }
/// <summary> /// In editor help to clear player inventory /// </summary> /*[MenuItem("Tools/Inventory/Clear inventory save")] * private static void ClearInventorySave() * { * items.Clear(); * Save(); * }*/ /// <summary> /// Loads the inventory from a file /// </summary> public static void Load() { SaveData.Current = (SaveData)SerializationManager.Load(Application.persistentDataPath + "/saves/data.savedata"); items.Clear(); foreach (ItemData item in SaveData.Current.items) { if (item is WeaponData) { WeaponData weapon = item as WeaponData; items.Add(new Weapon(weapon)); } else if (item is ArmorData) { ArmorData armor = item as ArmorData; items.Add(new Armor(armor)); } else { items.Add(new Item(item, true)); } } }
/* ============================================================================ Init functions ============================================================================ */ public void Init() { // first init languages languages = new LanguageData(); statusValues = new StatusValueData(); elements = new ElementData(); races = new RaceData(); sizes = new SizeData(); areaNames = new AreaNameData(); armors = new ArmorData(); cameraPositions = new CameraPositionData(); attacks = new BaseAttackData(); characters = new CharacterData(); classes = new ClassData(); colors = new ColorData(); dialoguePositions = new DialoguePositionData(); battleAIs = new BattleAIData(); enemies = new EnemyData(); equipParts = new EquipmentPartData(); formulas = new FormulaData(); gameSettings = new GameSettingsData(); items = new ItemData(); itemTypes = new ItemTypeData(); loadSaveHUD = new LoadSaveHUDData(); mainMenu = new MainMenuData(); skillTypes = new SkillTypeData(); effects = new StatusEffectData(); skills = new SkillData(); weapons = new WeaponData(); music = new MusicData(); huds = new HUDData(); recipes = new ItemRecipeData(); fonts = new FontData(); globalEvents = new GlobalEventData(); teleports = new TeleportData(); difficulties = new DifficultyData(); // battle system battleAnimations = new BattleAnimationData(); battleSystem = new BattleSystemData(); }