Ejemplo n.º 1
0
    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);
            }
        }
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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();
    }
Ejemplo n.º 4
0
    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);
    }
Ejemplo n.º 5
0
    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;
                }
            }
        }
    }