public void ApplyEquipmentBasicStats_ToPlayer() { foreach (string s in equipments_equipped) { //d: equip stat0_basicstat m1: equip stat1_magicstat m2: equip stat2_magicstat //fetch part1 data object [_ _ _ d _ _ _ _] equipdata d = gamemanager.GM.equipmentmanager.allequipmentdata.types[ASCIIToInt(s[0])].subtype[ASCIIToInt(s[1])].rarity[ASCIIToInt(s[2])].weapondatas[ASCIIToInt(s[3])]; //fetch part2 data object [_ _ _ _ d _ _ _] equipdata m1 = gamemanager.GM.equipmentmanager.allequipdata_magicstat1.types[ASCIIToInt(s[0])].subtype[ASCIIToInt(s[1])].rarity[ASCIIToInt(s[2])].weapondatas[ASCIIToInt(s[4])]; //fetch part1 data object [_ _ _ _ _ d _ _] equipdata m2 = gamemanager.GM.equipmentmanager.allequipdata_magicstat2.types[ASCIIToInt(s[0])].subtype[ASCIIToInt(s[1])].rarity[ASCIIToInt(s[2])].weapondatas[ASCIIToInt(s[5])]; if (ASCIIToInt(s[2]) != 4) { float multiplier = 1; for (int i = 0; i < ASCIIToInt(s[7]); i++) { multiplier *= (equip_Upgrade_Ratios.type_Basic_Stats_Upgrade_Ratios[ASCIIToInt(s[0])].type_ratios[i]); } d.BasicStat.ModifyPlayerStats_WithEquipmentLevels(multiplier); } else { float multiplier = 1; if (ASCIIToInt(s[6]) == 34) { multiplier *= (equip_Upgrade_Ratios.type_EpicEvolve_Basic_Stats_Upgrade_Ratios[ASCIIToInt(s[0])]); } d.BasicStat.ModifyPlayerStats_WithEquipmentLevels(multiplier); } } }
public void Tab_equipment_detail_open(string equip_string) { string s = equip_string; //populate tab //d: equip stat0_basicstat m1: equip stat1_magicstat m2: equip stat2_magicstat //fetch part1 data object [_ _ _ d _ _ _ _] equipdata d = gamemanager.GM.equipmentmanager.allequipmentdata.types[ASCIIToInt(s[0])].subtype[ASCIIToInt(s[1])].rarity[ASCIIToInt(s[2])].weapondatas[ASCIIToInt(s[3])]; //fetch part2 data object [_ _ _ _ d _ _ _] equipdata m1 = gamemanager.GM.equipmentmanager.allequipdata_magicstat1.types[ASCIIToInt(s[0])].subtype[ASCIIToInt(s[1])].rarity[ASCIIToInt(s[2])].weapondatas[ASCIIToInt(s[4])]; //fetch part1 data object [_ _ _ _ _ d _ _] equipdata m2 = gamemanager.GM.equipmentmanager.allequipdata_magicstat2.types[ASCIIToInt(s[0])].subtype[ASCIIToInt(s[1])].rarity[ASCIIToInt(s[2])].weapondatas[ASCIIToInt(s[5])]; //display anything needed //open tab OpenTabWithAnimation(equipdetail_tab); }
private void OnGUI() { scrollPosition = GUILayout.BeginScrollView(scrollPosition, false, false); //icon group: display variable fields EditorGUILayout.BeginHorizontal(); equipdata = (equipdata)EditorGUILayout.ObjectField("equipdata", equipdata, typeof(Object), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); spawnanchor_icon = (UnityEngine.GameObject)EditorGUILayout.ObjectField("spawnanchor_icon", spawnanchor_icon, typeof(Object), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); prefab = (UnityEngine.GameObject)EditorGUILayout.ObjectField("prefab", prefab, typeof(Object), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); iconparent = (UnityEngine.GameObject)EditorGUILayout.ObjectField("iconparent", iconparent, typeof(Object), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); _obj_at_icon = (UnityEngine.GameObject)EditorGUILayout.ObjectField("_obj_at_icon", _obj_at_icon, typeof(Object), true); EditorGUILayout.EndHorizontal(); //button: place prefab for editting if ((GUILayout.Button("[test]place prefab icon"))) { if (_obj_at_icon != null) { DestroyImmediate(_obj_at_icon, false); } _obj_at_icon = Instantiate(prefab, spawnanchor_icon.transform.position, spawnanchor_icon.transform.rotation); _obj_at_icon.transform.SetParent(iconparent.transform); _obj_at_icon.transform.localScale = spawnanchor_icon.transform.localScale; } //button: write data if ((GUILayout.Button("[write]prefab icon-remember offset"))) { equipdata.prefab_icon_pos_offset = _obj_at_icon.transform.position - spawnanchor_icon.transform.position; equipdata.prefab_icon_rotation_offset = Quaternion.Inverse(spawnanchor_icon.transform.rotation) * _obj_at_icon.transform.rotation; equipdata.prefab_icon_scale = _obj_at_icon.transform.localScale; equipdata.prefab = prefab; EditorUtility.SetDirty(equipdata); } //button: read data into real objects if ((GUILayout.Button("[read]debug-generate modified prefab icon"))) { if (_obj_at_icon != null) { DestroyImmediate(_obj_at_icon, false); } _obj_at_icon = Instantiate(equipdata.prefab, spawnanchor_icon.transform.position + equipdata.prefab_icon_pos_offset, spawnanchor_icon.transform.rotation * equipdata.prefab_icon_rotation_offset); _obj_at_icon.transform.SetParent(iconparent.transform); _obj_at_icon.transform.localScale = equipdata.prefab_icon_scale; } //item mount point group: display variable fields EditorGUILayout.BeginHorizontal(); EditorGUILayout.TextArea("Use Below to set player mount offset."); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); playerskin = (playermountreferer)EditorGUILayout.ObjectField("playerskin", playerskin, typeof(Object), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); mount = (int)EditorGUILayout.IntField("mount", mount); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); _obj_at_player = (UnityEngine.GameObject)EditorGUILayout.ObjectField("debug: _obj_at_player", _obj_at_player, typeof(Object), true); EditorGUILayout.EndHorizontal(); //button: place prefab on player if ((GUILayout.Button("place prefab on player"))) { if (_obj_at_player != null) { DestroyImmediate(_obj_at_player, false); } GameObject spawnpoint = new GameObject(); if (mount == 0) { spawnpoint = playerskin.prefab_mount_weapon_L; } if (mount == 1) { spawnpoint = playerskin.prefab_mount_weapon_R; } if (mount == 2) { spawnpoint = playerskin.prefab_mount_head; } if (mount == 3) { spawnpoint = playerskin.prefab_mount_armor; } _obj_at_player = Instantiate(prefab, spawnpoint.transform.position, spawnpoint.transform.rotation); _obj_at_player.transform.SetParent(spawnpoint.transform); _obj_at_player.transform.localScale = spawnpoint.transform.localScale; } //button: remember item on-player offset if ((GUILayout.Button("[write]prefab onplayer-remember offset"))) { equipdata.mount = mount; GameObject spawnpoint = new GameObject(); if (mount == 0) { spawnpoint = playerskin.prefab_mount_weapon_L; } if (mount == 1) { spawnpoint = playerskin.prefab_mount_weapon_R; } if (mount == 2) { spawnpoint = playerskin.prefab_mount_head; } if (mount == 3) { spawnpoint = playerskin.prefab_mount_armor; } equipdata.prefab_onhero_offset_pos = _obj_at_player.transform.position - spawnpoint.transform.position; equipdata.prefab_onhero_offset_rot = Quaternion.Inverse(spawnpoint.transform.rotation) * _obj_at_player.transform.rotation; equipdata.prefab_onhero_scale = _obj_at_player.transform.localScale; equipdata.prefab = prefab; EditorUtility.SetDirty(equipdata); } //button: read from data the item on-player offset if ((GUILayout.Button("[read]debug-generate modified prefab on player"))) { if (_obj_at_player != null) { DestroyImmediate(_obj_at_player, false); } GameObject spawnpoint = new GameObject(); if (equipdata.mount == 0) { spawnpoint = playerskin.prefab_mount_weapon_L; } if (equipdata.mount == 1) { spawnpoint = playerskin.prefab_mount_weapon_R; } if (equipdata.mount == 2) { spawnpoint = playerskin.prefab_mount_head; } if (equipdata.mount == 3) { spawnpoint = playerskin.prefab_mount_armor; GameObject spawnpoint_R = playerskin.prefab_mount_armor_R; GameObject _armor_R_on_player = Instantiate(equipdata.prefab, spawnpoint.transform.position + equipdata.prefab_onhero_offset_pos, spawnpoint.transform.rotation * equipdata.prefab_onhero_offset_rot); _armor_R_on_player.transform.SetParent(spawnpoint.transform); _armor_R_on_player.transform.localScale = equipdata.prefab_onhero_scale; _armor_R_on_player.transform.rotation *= Quaternion.AngleAxis(180, Vector3.up); Vector3 newlocalPos = new Vector3(_armor_R_on_player.transform.localPosition.x, _armor_R_on_player.transform.localPosition.y, _armor_R_on_player.transform.localPosition.z * (-1f)); _armor_R_on_player.transform.SetParent(spawnpoint_R.transform); _armor_R_on_player.transform.localPosition = newlocalPos; } _obj_at_player = Instantiate(equipdata.prefab, spawnpoint.transform.position + equipdata.prefab_onhero_offset_pos, spawnpoint.transform.rotation * equipdata.prefab_onhero_offset_rot); _obj_at_player.transform.SetParent(spawnpoint.transform); _obj_at_player.transform.localScale = equipdata.prefab_onhero_scale; } //detail display tab group: variable fields EditorGUILayout.BeginHorizontal(); EditorGUILayout.TextArea("Use Below to set tabdisplay offset."); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); spawnanchor_tabdisplay = (UnityEngine.GameObject)EditorGUILayout.ObjectField("spawnanchor_tabdisplay", spawnanchor_tabdisplay, typeof(Object), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); _displaytab_parent = (UnityEngine.GameObject)EditorGUILayout.ObjectField("_displaytab_parent", _displaytab_parent, typeof(Object), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); _obj_at_displaytab = (UnityEngine.GameObject)EditorGUILayout.ObjectField("_obj_at_displaytab", _obj_at_displaytab, typeof(Object), true); EditorGUILayout.EndHorizontal(); //button: place item prefab on anchor if ((GUILayout.Button("[test]place prefab tabdisplay"))) { if (_obj_at_displaytab != null) { DestroyImmediate(_obj_at_displaytab, false); } _obj_at_displaytab = Instantiate(prefab, spawnanchor_tabdisplay.transform.position, spawnanchor_tabdisplay.transform.rotation); _obj_at_displaytab.transform.SetParent(_displaytab_parent.transform); _obj_at_displaytab.transform.localScale = spawnanchor_tabdisplay.transform.localScale; } //button: write to data container if ((GUILayout.Button("[write]prefab tabdisplay-remember offset"))) { equipdata.prefab_displaytab_offset_pos = _obj_at_displaytab.transform.position - spawnanchor_tabdisplay.transform.position; equipdata.prefab_displaytab_offset_rot = Quaternion.Inverse(spawnanchor_tabdisplay.transform.rotation) * _obj_at_displaytab.transform.rotation; equipdata.prefab_displaytab_scale = _obj_at_displaytab.transform.localScale; EditorUtility.SetDirty(equipdata); } //button: read from data container if ((GUILayout.Button("[read]debug-generate modified prefab tabdisplay"))) { if (_obj_at_displaytab != null) { DestroyImmediate(_obj_at_displaytab, false); } _obj_at_displaytab = Instantiate(equipdata.prefab, spawnanchor_tabdisplay.transform.position + equipdata.prefab_displaytab_offset_pos, spawnanchor_tabdisplay.transform.rotation * equipdata.prefab_displaytab_offset_rot); _obj_at_displaytab.transform.SetParent(_displaytab_parent.transform); _obj_at_displaytab.transform.localScale = equipdata.prefab_displaytab_scale; } //end of the tool interface GUILayout.EndScrollView(); }
public List <effectdata> active_effects() { List <effectdata> _list = new List <effectdata>(); foreach (string s in equipments_equipped) { //d: equip stat0_basicstat m1: equip stat1_magicstat m2: equip stat2_magicstat //fetch part1 data object [_ _ _ d _ _ _ _] equipdata d = gamemanager.GM.equipmentmanager.allequipmentdata.types[ASCIIToInt(s[0])].subtype[ASCIIToInt(s[1])].rarity[ASCIIToInt(s[2])].weapondatas[ASCIIToInt(s[3])]; //fetch part2 data object [_ _ _ _ d _ _ _] equipdata m1 = gamemanager.GM.equipmentmanager.allequipdata_magicstat1.types[ASCIIToInt(s[0])].subtype[ASCIIToInt(s[1])].rarity[ASCIIToInt(s[2])].weapondatas[ASCIIToInt(s[4])]; //fetch part1 data object [_ _ _ _ _ d _ _] equipdata m2 = gamemanager.GM.equipmentmanager.allequipdata_magicstat2.types[ASCIIToInt(s[0])].subtype[ASCIIToInt(s[1])].rarity[ASCIIToInt(s[2])].weapondatas[ASCIIToInt(s[5])]; foreach (effectdata _e1 in d.Effects) { _list.Add(_e1); } foreach (effectdata _e2 in m1.Effects) { _list.Add(_e2); } foreach (effectdata _e3 in m2.Effects) { _list.Add(_e3); } if (ASCIIToInt(s[2]) == 4) { if (ASCIIToInt(s[6]) == 34) { foreach (effectdata _e1 in d.Hidden_Effects) { _list.Add(_e1); } foreach (effectdata _e2 in m1.Hidden_Effects) { _list.Add(_e2); } foreach (effectdata _e3 in m2.Hidden_Effects) { _list.Add(_e3); } } } else { if (ASCIIToInt(s[7]) == 9) { foreach (effectdata _e1 in d.Hidden_Effects) { _list.Add(_e1); } foreach (effectdata _e2 in m1.Hidden_Effects) { _list.Add(_e2); } foreach (effectdata _e3 in m2.Hidden_Effects) { _list.Add(_e3); } } } } return(_list); }
public void display_equipments_on_player(playermountreferer mountreferer) { foreach (string s in equipments_equipped) { //d: equip stat0_basicstat m1: equip stat1_magicstat m2: equip stat2_magicstat //fetch part1 data object [_ _ _ d _ _ _ _] equipdata d = gamemanager.GM.equipmentmanager.allequipmentdata.types[ASCIIToInt(s[0])].subtype[ASCIIToInt(s[1])].rarity[ASCIIToInt(s[2])].weapondatas[ASCIIToInt(s[3])]; //fetch part2 data object [_ _ _ _ d _ _ _] equipdata m1 = gamemanager.GM.equipmentmanager.allequipdata_magicstat1.types[ASCIIToInt(s[0])].subtype[ASCIIToInt(s[1])].rarity[ASCIIToInt(s[2])].weapondatas[ASCIIToInt(s[4])]; //fetch part1 data object [_ _ _ _ _ d _ _] equipdata m2 = gamemanager.GM.equipmentmanager.allequipdata_magicstat2.types[ASCIIToInt(s[0])].subtype[ASCIIToInt(s[1])].rarity[ASCIIToInt(s[2])].weapondatas[ASCIIToInt(s[5])]; if (d.displayonhero) { if (d.mount == 0)//left hand { Transform mountpoint = mountreferer.prefab_mount_weapon_L.transform; GameObject _weapon_on_player = Instantiate(d.prefab, mountpoint.position, mountpoint.rotation); _weapon_on_player.transform.SetParent(mountpoint.transform); _weapon_on_player.transform.position = _weapon_on_player.transform.position + d.prefab_onhero_offset_pos; _weapon_on_player.transform.rotation = _weapon_on_player.transform.rotation * d.prefab_onhero_offset_rot; _weapon_on_player.transform.localScale = d.prefab_onhero_scale + mountreferer.playerdifference_offset_scale; } if (d.mount == 1)//right hand { Transform mountpoint = mountreferer.prefab_mount_weapon_R.transform; GameObject _weapon_on_player = Instantiate(d.prefab, mountpoint.position, mountpoint.rotation); _weapon_on_player.transform.SetParent(mountpoint.transform); _weapon_on_player.transform.position = _weapon_on_player.transform.position + d.prefab_onhero_offset_pos; _weapon_on_player.transform.rotation = _weapon_on_player.transform.rotation * d.prefab_onhero_offset_rot; _weapon_on_player.transform.localScale = d.prefab_onhero_scale + mountreferer.playerdifference_offset_scale; } if (d.mount == 2)//head { Transform mountpoint = mountreferer.prefab_mount_head.transform; GameObject _weapon_on_player = Instantiate(d.prefab, mountpoint.position, mountpoint.rotation); _weapon_on_player.transform.SetParent(mountpoint.transform); _weapon_on_player.transform.position = _weapon_on_player.transform.position + d.prefab_onhero_offset_pos; _weapon_on_player.transform.rotation = _weapon_on_player.transform.rotation * d.prefab_onhero_offset_rot; _weapon_on_player.transform.localScale = d.prefab_onhero_scale + mountreferer.playerdifference_offset_scale; } if (d.mount == 3)//armor { Transform mountpoint = mountreferer.prefab_mount_armor.transform; GameObject _weapon_on_player = Instantiate(d.prefab, mountpoint.position, mountpoint.rotation); _weapon_on_player.transform.SetParent(mountpoint.transform); _weapon_on_player.transform.position = _weapon_on_player.transform.position + d.prefab_onhero_offset_pos; _weapon_on_player.transform.rotation = _weapon_on_player.transform.rotation * d.prefab_onhero_offset_rot; _weapon_on_player.transform.localScale = d.prefab_onhero_scale + mountreferer.playerdifference_offset_scale; Transform mountpoint_R = mountreferer.prefab_mount_armor_R.transform; GameObject _armor_R_on_player = Instantiate(d.prefab, mountpoint.position + d.prefab_onhero_offset_pos, mountpoint.rotation * d.prefab_onhero_offset_rot); _armor_R_on_player.transform.SetParent(mountpoint.transform); _armor_R_on_player.transform.localScale = d.prefab_onhero_scale; _armor_R_on_player.transform.rotation *= Quaternion.AngleAxis(180, Vector3.up); Vector3 newlocalPos = new Vector3(_armor_R_on_player.transform.localPosition.x, _armor_R_on_player.transform.localPosition.y, _armor_R_on_player.transform.localPosition.z * (-1f)); _armor_R_on_player.transform.SetParent(mountpoint_R.transform); _armor_R_on_player.transform.localPosition = newlocalPos; } } } }