Ejemplo n.º 1
0
    public static void Rebuild(DK_RPG_UMA _DK_RPG_UMA)
    {
        DK_RPG_ReBuild _DK_RPG_ReBuild = _DK_RPG_UMA.gameObject.GetComponent <DK_RPG_ReBuild>();

        if (_DK_RPG_ReBuild == null)
        {
            _DK_RPG_ReBuild = _DK_RPG_UMA.gameObject.AddComponent <DK_RPG_ReBuild>();
        }
        DKUMAData _DKUMAData = _DK_RPG_UMA.gameObject.GetComponent <DKUMAData>();

        _DK_RPG_ReBuild.Launch(_DKUMAData);
    }
Ejemplo n.º 2
0
 void OnTriggerEnter(Collider other)
 {
     _DK_RPG_UMA = other.gameObject.GetComponent <DK_RPG_UMA>();
     // verify if it is the correct collider from the player
     if (_DK_RPG_UMA != null &&
         other.material.name == "DK_UMA_Collider_Material")
     {
         if (_DK_RPG_UMA.IsPlayer == true)
         {
             this.gameObject.GetComponent <DK_RPG_Element>().ElementPreparations(_DK_RPG_UMA);
         }
     }
 }
Ejemplo n.º 3
0
    public void Launch(DKUMAData UMAData)
    {
        umaData     = UMAData;
        _DK_RPG_UMA = this.gameObject.GetComponent <DK_RPG_UMA>();
        Crowd       = GameObject.Find("DKUMACrowd").GetComponent <DK_UMACrowd>();
        _DK_RPG_UMA._Avatar.HeadIndex = HeadIndex;
        TorsoIndex = _DK_RPG_UMA._Avatar.TorsoIndex;
        TmpSlotDataList.Clear();
        AssignedSlotsList.Clear();
        AssignedOverlayList.Clear();
        TmpTorsoOverLayList.Clear();
        Crowd.Wears.HideUnderwear = false;

        RebuildFace();
    }
Ejemplo n.º 4
0
    public void Launch(DK_RPG_UMA DKRPGUMA, DK_UMACrowd DKUMACrowd, string streamed)
    {
        // assign scripts
        _DK_UMACrowd = DKUMACrowd;
        _DK_RPG_UMA  = DKRPGUMA;
        Gender       = DKRPGUMA.Gender;
        //	_DK_UMACrowd = GameObject.Find ("DKUMACrowd").GetComponent<DK_UMACrowd>();

        // get libraries
        try {
            raceLibrary    = GameObject.Find("RaceLibrary").GetComponent <RaceLibrary>();
            slotLibrary    = GameObject.Find("SlotLibrary").GetComponent <SlotLibrary>();
            overlayLibrary = GameObject.Find("OverlayLibrary").GetComponent <OverlayLibrary>();
        }catch (NullReferenceException) {
            Debug.LogError("UMA is missing from your scene. UMA is required to generate a UMA avatar.");
        }
        // assign recipe
        _StreamedUMA = streamed;

        // Start the creation of the avatar
        ConvertStreamedUMA(streamed);
        CreateUMAData();
    }
Ejemplo n.º 5
0
    public static void ChooseBodyOverlay(DKSlotData _slot, DKOverlayData overlay, DK_RPG_UMA _DK_RPG_UMA)
    {
        DKRaceData _Race = _DK_RPG_UMA.RaceData;

        // _Head
        if (_DK_RPG_UMA.Gender == "Male")
        {
            if (overlay == null && _Race._Male._AvatarData._Body._Torso.OverlayList.Count > 0)
            {
                int ran = UnityEngine.Random.Range(0, _Race._Male._AvatarData._Body._Torso.OverlayList.Count);
                overlay = _Race._Male._AvatarData._Body._Torso.OverlayList[ran];
            }
        }
        if (_DK_RPG_UMA.Gender == "Female")
        {
            if (overlay == null && _Race._Female._AvatarData._Body._Torso.OverlayList.Count > 0)
            {
                int ran = UnityEngine.Random.Range(0, _Race._Female._AvatarData._Body._Torso.OverlayList.Count);
                overlay = _Race._Female._AvatarData._Body._Torso.OverlayList[ran];
            }
        }
        _DK_RPG_UMA._Avatar._Body._Torso.Overlay = overlay;
        Rebuild(_DK_RPG_UMA);
    }
Ejemplo n.º 6
0
 public static void PrepareEquipSlotElement(DKSlotData _slot, DKOverlayData overlay, DK_RPG_UMA _DK_RPG_UMA)
 {
     if (_slot)
     {
         // choose overlay
         if (overlay == null && _slot.LinkedOverlayList.Count > 0)
         {
             int ran = Random.Range(0, _slot.LinkedOverlayList.Count);
             _overlay = _slot.LinkedOverlayList[ran];
         }
         else
         {
             _overlay = overlay;
         }
     }
     else if (overlay)
     {
         _slot    = null;
         _overlay = overlay;
         // choose color
         if (_overlay && _overlay.ColorPresets.Count > 0)
         {
             int ran = Random.Range(0, _overlay.ColorPresets.Count - 1);
             _color = _overlay.ColorPresets[ran].PresetColor;
         }
         // if no color overlay, randomise color
         else
         {
             float ran1 = Random.Range(0f, 0.99f);
             float ran2 = Random.Range(0f, 0.99f);
             float ran3 = Random.Range(0f, 0.99f);
             _color = new Color(ran1, ran2, ran3);
         }
     }
     if (_DK_RPG_UMA != null /*&& _color != null*/)
     {
         EquipSlotElement(_slot, _overlay, _DK_RPG_UMA, _color);
     }
 }
Ejemplo n.º 7
0
    public static void EquipSlotElement(DKSlotData _slot, DKOverlayData _overlay, DK_RPG_UMA _DK_RPG_UMA, Color color)
    {
        // for a slot element
        if (_slot != null)
        {
            #region Equipment
            // find the correct place
            if (_slot.OverlayType == "FeetWear")
            {
                //	Debug.Log ("FeetWear LinkedOverlayList 1");

                _DK_RPG_UMA._Equipment._Feet.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Equipment._Feet.Overlay = _overlay;
                    if (_overlay && _overlay.ColorPresets.Count > 0)
                    {
                        int ran2 = Random.Range(0, _overlay.ColorPresets.Count - 1);
                        color = _overlay.ColorPresets[ran2].PresetColor;
                    }
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        Debug.Log("FeetWear LinkedOverlayList 2");
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Equipment._Feet.Overlay = _slot.LinkedOverlayList[ran];
                        if (_slot.LinkedOverlayList[ran] && _slot.LinkedOverlayList[ran].ColorPresets.Count > 0)
                        {
                            int ran2 = Random.Range(0, _slot.LinkedOverlayList[ran].ColorPresets.Count - 1);
                            color = _slot.LinkedOverlayList[ran].ColorPresets[ran2].PresetColor;
                        }
                    }
                }
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Feet.Color = color;
                }
            }
            else if (_slot.OverlayType == "HandsWear")
            {
                _DK_RPG_UMA._Equipment._Hands.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Equipment._Hands.Overlay = _overlay;
                    if (_overlay && _overlay.ColorPresets.Count > 0)
                    {
                        int ran2 = Random.Range(0, _overlay.ColorPresets.Count - 1);
                        color = _overlay.ColorPresets[ran2].PresetColor;
                    }
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Equipment._Hands.Overlay = _slot.LinkedOverlayList[ran];
                        if (_slot.LinkedOverlayList[ran] && _slot.LinkedOverlayList[ran].ColorPresets.Count > 0)
                        {
                            int ran2 = Random.Range(0, _slot.LinkedOverlayList[ran].ColorPresets.Count - 1);
                            color = _slot.LinkedOverlayList[ran].ColorPresets[ran2].PresetColor;
                        }
                    }
                }
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Hands.Color = color;
                }
            }
            else if (_slot.OverlayType == "HeadWear")
            {
                _DK_RPG_UMA._Equipment._Head.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Equipment._Head.Overlay = _overlay;
                    if (_overlay && _overlay.ColorPresets.Count > 0)
                    {
                        int ran2 = Random.Range(0, _overlay.ColorPresets.Count - 1);
                        color = _overlay.ColorPresets[ran2].PresetColor;
                    }
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Equipment._Head.Overlay = _slot.LinkedOverlayList[ran];
                        if (_slot.LinkedOverlayList[ran] && _slot.LinkedOverlayList[ran].ColorPresets.Count > 0)
                        {
                            int ran2 = Random.Range(0, _slot.LinkedOverlayList[ran].ColorPresets.Count - 1);
                            color = _slot.LinkedOverlayList[ran].ColorPresets[ran2].PresetColor;
                        }
                    }
                }
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Head.Color = color;
                }
            }
            else if (_slot.OverlayType == "LegsWear")
            {
                _DK_RPG_UMA._Equipment._Legs.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Equipment._Legs.Overlay = _overlay;
                    if (_overlay && _overlay.ColorPresets.Count > 0)
                    {
                        int ran2 = Random.Range(0, _overlay.ColorPresets.Count - 1);
                        color = _overlay.ColorPresets[ran2].PresetColor;
                    }
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Equipment._Legs.Overlay = _slot.LinkedOverlayList[ran];
                        if (_slot.LinkedOverlayList[ran] && _slot.LinkedOverlayList[ran].ColorPresets.Count > 0)
                        {
                            int ran2 = Random.Range(0, _slot.LinkedOverlayList[ran].ColorPresets.Count - 1);
                            color = _slot.LinkedOverlayList[ran].ColorPresets[ran2].PresetColor;
                        }
                    }
                }
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Legs.Color = color;
                }
            }
            else if (_slot.OverlayType == "ShoulderWear")
            {
                _DK_RPG_UMA._Equipment._Shoulder.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Equipment._Shoulder.Overlay = _overlay;
                    if (_overlay && _overlay.ColorPresets.Count > 0)
                    {
                        int ran2 = Random.Range(0, _overlay.ColorPresets.Count - 1);
                        color = _overlay.ColorPresets[ran2].PresetColor;
                    }
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Equipment._Shoulder.Overlay = _slot.LinkedOverlayList[ran];
                        if (_slot.LinkedOverlayList[ran] && _slot.LinkedOverlayList[ran].ColorPresets.Count > 0)
                        {
                            int ran2 = Random.Range(0, _slot.LinkedOverlayList[ran].ColorPresets.Count - 1);
                            color = _slot.LinkedOverlayList[ran].ColorPresets[ran2].PresetColor;
                        }
                    }
                }
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Shoulder.Color = color;
                }
            }
            else if (_slot.OverlayType == "TorsoWear")
            {
                _DK_RPG_UMA._Equipment._Torso.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Equipment._Torso.Overlay = _overlay;
                    if (_overlay && _overlay.ColorPresets.Count > 0)
                    {
                        int ran2 = Random.Range(0, _overlay.ColorPresets.Count - 1);
                        color = _overlay.ColorPresets[ran2].PresetColor;
                    }
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Equipment._Torso.Overlay = _slot.LinkedOverlayList[ran];
                        if (_slot.LinkedOverlayList[ran] && _slot.LinkedOverlayList[ran].ColorPresets.Count > 0)
                        {
                            int ran2 = Random.Range(0, _slot.LinkedOverlayList[ran].ColorPresets.Count - 1);
                            color = _slot.LinkedOverlayList[ran].ColorPresets[ran2].PresetColor;
                        }
                    }
                }
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Torso.Color = color;
                }
            }
            else if (_slot.Place.name == "HandledLeft")
            {
                _DK_RPG_UMA._Equipment._LeftHand.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Equipment._LeftHand.Overlay = _overlay;
                    if (_overlay && _overlay.ColorPresets.Count > 0)
                    {
                        int ran2 = Random.Range(0, _overlay.ColorPresets.Count - 1);
                        color = _overlay.ColorPresets[ran2].PresetColor;
                    }
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Equipment._LeftHand.Overlay = _slot.LinkedOverlayList[ran];
                        if (_slot.LinkedOverlayList[ran] && _slot.LinkedOverlayList[ran].ColorPresets.Count > 0)
                        {
                            int ran2 = Random.Range(0, _slot.LinkedOverlayList[ran].ColorPresets.Count - 1);
                            color = _slot.LinkedOverlayList[ran].ColorPresets[ran2].PresetColor;
                        }
                    }
                }
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._LeftHand.Color = color;
                }
            }
            else if (_slot.Place.name == "HandledRight")
            {
                _DK_RPG_UMA._Equipment._RightHand.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Equipment._RightHand.Overlay = _overlay;
                    if (_overlay && _overlay.ColorPresets.Count > 0)
                    {
                        int ran2 = Random.Range(0, _overlay.ColorPresets.Count - 1);
                        color = _overlay.ColorPresets[ran2].PresetColor;
                    }
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Equipment._RightHand.Overlay = _slot.LinkedOverlayList[ran];
                        if (_slot.LinkedOverlayList[ran] && _slot.LinkedOverlayList[ran].ColorPresets.Count > 0)
                        {
                            int ran2 = Random.Range(0, _slot.LinkedOverlayList[ran].ColorPresets.Count - 1);
                            color = _slot.LinkedOverlayList[ran].ColorPresets[ran2].PresetColor;
                        }
                    }
                }
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._RightHand.Color = color;
                }
            }
            else if (_slot.Place.name == "BeltWear")
            {
                _DK_RPG_UMA._Equipment._Belt.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Equipment._Belt.Overlay = _overlay;
                    if (_overlay && _overlay.ColorPresets.Count > 0)
                    {
                        int ran2 = Random.Range(0, _overlay.ColorPresets.Count - 1);
                        color = _overlay.ColorPresets[ran2].PresetColor;
                    }
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Equipment._Belt.Overlay = _slot.LinkedOverlayList[ran];
                        if (_slot.LinkedOverlayList[ran] && _slot.LinkedOverlayList[ran].ColorPresets.Count > 0)
                        {
                            int ran2 = Random.Range(0, _slot.LinkedOverlayList[ran].ColorPresets.Count - 1);
                            color = _slot.LinkedOverlayList[ran].ColorPresets[ran2].PresetColor;
                        }
                    }
                }
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Belt.Color = color;
                }
            }
            else if (_slot.Place.name == "ArmbandWear")
            {
                _DK_RPG_UMA._Equipment._ArmBand.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Equipment._ArmBand.Overlay = _overlay;
                    if (_overlay && _overlay.ColorPresets.Count > 0)
                    {
                        int ran2 = Random.Range(0, _overlay.ColorPresets.Count - 1);
                        color = _overlay.ColorPresets[ran2].PresetColor;
                    }
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Equipment._ArmBand.Overlay = _slot.LinkedOverlayList[ran];
                        if (_slot.LinkedOverlayList[ran] && _slot.LinkedOverlayList[ran].ColorPresets.Count > 0)
                        {
                            int ran2 = Random.Range(0, _slot.LinkedOverlayList[ran].ColorPresets.Count - 1);
                            color = _slot.LinkedOverlayList[ran].ColorPresets[ran2].PresetColor;
                        }
                    }
                }
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._ArmBand.Color = color;
                }
            }
            else if (_slot.Place.name == "WristWear")
            {
                _DK_RPG_UMA._Equipment._Wrist.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Equipment._Wrist.Overlay = _overlay;
                    if (_overlay && _overlay.ColorPresets.Count > 0)
                    {
                        int ran2 = Random.Range(0, _overlay.ColorPresets.Count - 1);
                        color = _overlay.ColorPresets[ran2].PresetColor;
                    }
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Equipment._Wrist.Overlay = _slot.LinkedOverlayList[ran];
                        if (_slot.LinkedOverlayList[ran] && _slot.LinkedOverlayList[ran].ColorPresets.Count > 0)
                        {
                            int ran2 = Random.Range(0, _slot.LinkedOverlayList[ran].ColorPresets.Count - 1);
                            color = _slot.LinkedOverlayList[ran].ColorPresets[ran2].PresetColor;
                        }
                    }
                }
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Wrist.Color = color;
                }
            }
            else if (_slot.Place.name == "CloakWear")
            {
                _DK_RPG_UMA._Equipment._Cloak.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Equipment._Cloak.Overlay = _overlay;
                    if (_overlay && _overlay.ColorPresets.Count > 0)
                    {
                        int ran2 = Random.Range(0, _overlay.ColorPresets.Count - 1);
                        color = _overlay.ColorPresets[ran2].PresetColor;
                    }
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Equipment._Cloak.Overlay = _slot.LinkedOverlayList[ran];
                        if (_slot.LinkedOverlayList[ran] && _slot.LinkedOverlayList[ran].ColorPresets.Count > 0)
                        {
                            int ran2 = Random.Range(0, _slot.LinkedOverlayList[ran].ColorPresets.Count - 1);
                            color = _slot.LinkedOverlayList[ran].ColorPresets[ran2].PresetColor;
                        }
                    }
                }
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Cloak.Color = color;
                }
            }
            else if (_slot.Place.name == "Collar")
            {
                _DK_RPG_UMA._Equipment._Collar.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Equipment._Collar.Overlay = _overlay;
                    if (_overlay && _overlay.ColorPresets.Count > 0)
                    {
                        int ran2 = Random.Range(0, _overlay.ColorPresets.Count - 1);
                        color = _overlay.ColorPresets[ran2].PresetColor;
                    }
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Equipment._Collar.Overlay = _slot.LinkedOverlayList[ran];
                        if (_slot.LinkedOverlayList[ran] && _slot.LinkedOverlayList[ran].ColorPresets.Count > 0)
                        {
                            int ran2 = Random.Range(0, _slot.LinkedOverlayList[ran].ColorPresets.Count - 1);
                            color = _slot.LinkedOverlayList[ran].ColorPresets[ran2].PresetColor;
                        }
                    }
                }
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Collar.Color = color;
                }
            }
            #endregion Equipment
        }
        // for an Overlay element
        else if (_overlay)
        {
            //	Debug.Log ( "test");
            #region Equipment
            if (_overlay.OverlayType == "FeetWear")
            {
                _DK_RPG_UMA._Equipment._Feet.Slot    = null;
                _DK_RPG_UMA._Equipment._Feet.Overlay = _overlay;
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Feet.Color = color;
                }
            }
            else if (_overlay.OverlayType == "HandsWear")
            {
                _DK_RPG_UMA._Equipment._Hands.Slot    = null;
                _DK_RPG_UMA._Equipment._Hands.Overlay = _overlay;
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Hands.Color = color;
                }
            }
            else if (_overlay.OverlayType == "HeadWear")
            {
                _DK_RPG_UMA._Equipment._Head.Slot    = null;
                _DK_RPG_UMA._Equipment._Head.Overlay = _overlay;
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Head.Color = color;
                }
            }
            else if (_overlay.OverlayType == "LegsWear")
            {
                _DK_RPG_UMA._Equipment._Legs.Slot    = null;
                _DK_RPG_UMA._Equipment._Legs.Overlay = _overlay;
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Legs.Color = color;
                }
            }
            else if (_overlay.OverlayType == "TorsoWear")
            {
                _DK_RPG_UMA._Equipment._Torso.Slot    = null;
                _DK_RPG_UMA._Equipment._Torso.Overlay = _overlay;
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Torso.Color = color;
                }
            }
            else if (_overlay.OverlayType == "ArmbandWear")
            {
                _DK_RPG_UMA._Equipment._ArmBand.Slot    = null;
                _DK_RPG_UMA._Equipment._ArmBand.Overlay = _overlay;
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._ArmBand.Color = color;
                }
            }
            else if (_overlay.OverlayType == "WristWear")
            {
                _DK_RPG_UMA._Equipment._Wrist.Slot    = null;
                _DK_RPG_UMA._Equipment._Wrist.Overlay = _overlay;
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Wrist.Color = color;
                }
            }
            else if (_overlay.OverlayType == "CloakWear")
            {
                _DK_RPG_UMA._Equipment._Cloak.Slot    = null;
                _DK_RPG_UMA._Equipment._Cloak.Overlay = _overlay;
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Equipment._Cloak.Color = color;
                }
            }
            else if (_overlay.OverlayType == "Underwear")
            {
                _DK_RPG_UMA._Avatar._Body._Underwear.Slot    = null;
                _DK_RPG_UMA._Avatar._Body._Underwear.Overlay = _overlay;
                if (color != Color.black)
                {
                    _DK_RPG_UMA._Avatar._Body._Underwear.Color = color;
                }
            }
            #endregion Equipment
        }


        DK_RPG_ReBuild _DK_RPG_ReBuild = _DK_RPG_UMA.gameObject.GetComponent <DK_RPG_ReBuild>();
        if (_DK_RPG_ReBuild == null)
        {
            _DK_RPG_ReBuild = _DK_RPG_UMA.gameObject.AddComponent <DK_RPG_ReBuild>();
        }
        DKUMAData _DKUMAData = _DK_RPG_UMA.gameObject.GetComponent <DKUMAData>();
        _DK_RPG_ReBuild.Launch(_DKUMAData);
    }
Ejemplo n.º 8
0
    public static void EquipSlotElement(DKSlotData _slot, DKOverlayData _overlay, DK_RPG_UMA _DK_RPG_UMA, Color color)
    {
        // for a slot element
        if (_slot != null)
        {
            if (_slot.Place.name == "Head" && _slot.OverlayType == "Face")
            {
                _DK_RPG_UMA._Avatar._Face._Head.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Face._Head.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Face._Head.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Face._Head.Color = _DK_RPG_UMA._Avatar.SkinColor;
            }
            #region Face
            else if (_slot.Place.name == "Beard" && _slot.OverlayType == "Beard")
            {
                _DK_RPG_UMA._Avatar._Face._FaceHair._BeardSlotOnly.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Face._FaceHair._BeardSlotOnly.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Face._FaceHair._BeardSlotOnly.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Face._FaceHair._BeardSlotOnly.Color = _DK_RPG_UMA._Avatar.HairColor;
            }
            else if (_slot.Place.name == "Eyes" && _slot.slotName.Contains("Adjust") == false)
            {
                _DK_RPG_UMA._Avatar._Face._Eyes.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Face._Eyes.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Face._Eyes.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Face._Eyes.Color = _DK_RPG_UMA._Avatar.EyeColor;
            }
            else if (_slot.Place.name == "Eyelash")
            {
                Debug.Log("Test Eyelash");
                _DK_RPG_UMA._Avatar._Face._EyeLash.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Face._EyeLash.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Face._EyeLash.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Face._EyeLash.Color = _DK_RPG_UMA._Avatar.EyeColor;
            }
            else if (_slot.Place.name == "eyelid" && _slot.OverlayType == "Face")
            {
                _DK_RPG_UMA._Avatar._Face._EyeLids.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Face._EyeLids.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Face._EyeLids.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Face._EyeLids.Color = _DK_RPG_UMA._Avatar.SkinColor;
            }
            else if (_slot.Place.name == "Ears" && _slot.OverlayType == "Face")
            {
                _DK_RPG_UMA._Avatar._Face._Ears.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Face._Ears.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Face._Ears.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Face._Ears.Color = color;
            }
            else if (_slot.Place.name == "Nose" && _slot.OverlayType == "Face")
            {
                _DK_RPG_UMA._Avatar._Face._Nose.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Face._Nose.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Face._Nose.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Face._Nose.Color = _DK_RPG_UMA._Avatar.SkinColor;
            }
            else if (_slot.Place.name == "Mouth" && _slot.OverlayType == "Face")
            {
                _DK_RPG_UMA._Avatar._Face._Mouth.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Face._Mouth.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Face._Mouth.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Face._Mouth.Color = _DK_RPG_UMA._Avatar.SkinColor;
            }
            else if (_slot.Place.name == "InnerMouth" && _slot.OverlayType == "")
            {
                _DK_RPG_UMA._Avatar._Face._Mouth._InnerMouth.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Face._Mouth._InnerMouth.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Face._Mouth._InnerMouth.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                //	_DK_RPG_UMA._Avatar._Face._Mouth._InnerMouth.color = color;
            }
            else if (_slot.Place.name == "Hair" && _slot.OverlayType == "Hair")
            {
                _DK_RPG_UMA._Avatar._Hair._SlotOnly.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Hair._SlotOnly.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Hair._SlotOnly.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Hair._OverlayOnly.Overlay = null;
                _DK_RPG_UMA._Avatar._Hair._SlotOnly.Color      = _DK_RPG_UMA._Avatar.HairColor;
            }
            else if (_slot.Place.name == "Hair_Module" && _slot.OverlayType == "Hair")
            {
                _DK_RPG_UMA._Avatar._Hair._SlotOnly._HairModule.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Hair._SlotOnly._HairModule.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Hair._SlotOnly._HairModule.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Hair._SlotOnly._HairModule.Color = _DK_RPG_UMA._Avatar.HairColor;
            }
            #endregion Face

            #region Body
            else if (_slot.Place.name == "Torso" && _slot.OverlayType == "Flesh")
            {
                _DK_RPG_UMA._Avatar._Body._Torso.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Body._Torso.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Body._Torso.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Body._Torso.Color = _DK_RPG_UMA._Avatar.SkinColor;
            }
            else if (_slot.Place.name == "Hands" && _slot.OverlayType == "Flesh")
            {
                _DK_RPG_UMA._Avatar._Body._Hands.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Body._Hands.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Body._Hands.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Body._Hands.Color = _DK_RPG_UMA._Avatar.SkinColor;
            }
            else if (_slot.Place.name == "Legs" && _slot.OverlayType == "Flesh")
            {
                _DK_RPG_UMA._Avatar._Body._Legs.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Body._Legs.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Body._Legs.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Body._Legs.Color = _DK_RPG_UMA._Avatar.SkinColor;
            }
            else if (_slot.Place.name == "Feet" && _slot.OverlayType == "Flesh")
            {
                _DK_RPG_UMA._Avatar._Body._Feet.Slot = _slot;
                // if the overlay is already assigned
                if (_overlay)
                {
                    _DK_RPG_UMA._Avatar._Body._Feet.Overlay = _overlay;
                }
                // if the overlay is not assigned, random one from the linked overlays of the slot
                else
                {
                    if (_slot.LinkedOverlayList.Count > 0)
                    {
                        int ran = Random.Range(0, _slot.LinkedOverlayList.Count - 1);
                        _DK_RPG_UMA._Avatar._Body._Feet.Overlay = _slot.LinkedOverlayList[ran];
                    }
                }
                _DK_RPG_UMA._Avatar._Body._Feet.Color = _DK_RPG_UMA._Avatar.SkinColor;
            }
            #endregion Body
        }
        // for an Overlay element
        else if (_overlay)
        {
            #region Face
            if (_overlay.OverlayType == "Face" && _overlay.Place.name == "Head")
            {
                _DK_RPG_UMA._Avatar._Face._Head.Overlay = _overlay;
                if (_DK_RPG_UMA._Avatar._Face._Head.Color == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Face._Head.Color = _DK_RPG_UMA._Avatar.SkinColor;
                }
            }
            if (_overlay.OverlayType == "Tatoo" && _overlay.Place.name == "Head")
            {
                _DK_RPG_UMA._Avatar._Face._Head.Tattoo = _overlay;
                if (_DK_RPG_UMA._Avatar._Face._Head.TattooColor == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Face._Head.TattooColor = color;
                }
            }
            if (_overlay.OverlayType == "Makeup" && _overlay.Place.name == "Head")
            {
                _DK_RPG_UMA._Avatar._Face._Head.Makeup = _overlay;
                if (_DK_RPG_UMA._Avatar._Face._Head.MakeupColor == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Face._Head.MakeupColor = color;
                }
            }
            if (_overlay.OverlayType == "Eyebrow")
            {
                _DK_RPG_UMA._Avatar._Face._FaceHair.EyeBrows = _overlay;
                if (_DK_RPG_UMA._Avatar._Face._FaceHair.EyeBrowsColor == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Face._FaceHair.EyeBrowsColor = color;
                }
            }
            else if (_overlay.OverlayType == "Beard")
            {
                _DK_RPG_UMA._Avatar._Face._FaceHair._BeardSlotOnly.Slot      = null;
                _DK_RPG_UMA._Avatar._Face._FaceHair._BeardSlotOnly.Overlay   = null;
                _DK_RPG_UMA._Avatar._Face._FaceHair._BeardOverlayOnly.Beard1 = _overlay;
                if (_DK_RPG_UMA._Avatar._Face._FaceHair._BeardOverlayOnly.Beard1Color == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Face._FaceHair._BeardOverlayOnly.Beard1Color = color;
                }
            }
            else if (_overlay.Place.name == "Eyes" && _overlay.overlayName.Contains("Adjust"))
            {
                _DK_RPG_UMA._Avatar._Face._Eyes.Adjust = _overlay;
                if (_DK_RPG_UMA._Avatar._Face._Eyes.AdjustColor == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Face._Eyes.AdjustColor = color;
                }
            }
            else if (_overlay.Place.name == "Hair" && _overlay.OverlayType == "Hair")
            {
                _DK_RPG_UMA._Avatar._Hair._SlotOnly.Slot       = null;
                _DK_RPG_UMA._Avatar._Hair._SlotOnly.Overlay    = null;
                _DK_RPG_UMA._Avatar._Hair._OverlayOnly.Overlay = _overlay;
                if (_DK_RPG_UMA._Avatar._Hair._OverlayOnly.Color == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Hair._OverlayOnly.Color = color;
                }
            }
            #endregion Face

            #region Body
            else if (_overlay.OverlayType == "Tatoo" && _overlay.Place.name == "Torso")
            {
                _DK_RPG_UMA._Avatar._Body._Torso.Tattoo = _overlay;
                if (_DK_RPG_UMA._Avatar._Body._Torso.TattooColor == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Body._Torso.TattooColor = color;
                }
            }
            else if (_overlay.OverlayType == "Tatoo" && _overlay.Place.name == "Hands")
            {
                _DK_RPG_UMA._Avatar._Body._Hands.Tattoo = _overlay;
                if (_DK_RPG_UMA._Avatar._Body._Hands.TattooColor == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Body._Hands.TattooColor = color;
                }
            }
            else if (_overlay.OverlayType == "Tatoo" && _overlay.Place.name == "Legs")
            {
                _DK_RPG_UMA._Avatar._Body._Legs.Tattoo = _overlay;
                if (_DK_RPG_UMA._Avatar._Body._Hands.TattooColor == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Body._Legs.TattooColor = color;
                }
            }
            else if (_overlay.OverlayType == "Tatoo" && _overlay.Place.name == "Feet")
            {
                _DK_RPG_UMA._Avatar._Body._Feet.Tattoo = _overlay;
                if (_DK_RPG_UMA._Avatar._Body._Feet.TattooColor == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Body._Feet.TattooColor = color;
                }
            }
            else if (_overlay.OverlayType == "Makeup" && _overlay.Place.name == "Torso")
            {
                _DK_RPG_UMA._Avatar._Body._Torso.Makeup = _overlay;
                if (_DK_RPG_UMA._Avatar._Body._Torso.MakeupColor == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Body._Torso.MakeupColor = color;
                }
            }
            else if (_overlay.OverlayType == "Makeup" && _overlay.Place.name == "Hands")
            {
                _DK_RPG_UMA._Avatar._Body._Hands.Makeup = _overlay;
                if (_DK_RPG_UMA._Avatar._Body._Hands.MakeupColor == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Body._Hands.MakeupColor = color;
                }
            }
            else if (_overlay.OverlayType == "Makeup" && _overlay.Place.name == "Legs")
            {
                _DK_RPG_UMA._Avatar._Body._Legs.Makeup = _overlay;
                if (_DK_RPG_UMA._Avatar._Body._Legs.MakeupColor == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Body._Legs.MakeupColor = color;
                }
            }
            else if (_overlay.OverlayType == "Makeup" && _overlay.Place.name == "Feet")
            {
                _DK_RPG_UMA._Avatar._Body._Feet.Makeup = _overlay;
                if (_DK_RPG_UMA._Avatar._Body._Feet.MakeupColor == Color.black)
                {
                    _DK_RPG_UMA._Avatar._Body._Feet.MakeupColor = color;
                }
            }
            #endregion Body
        }
        Rebuild(_DK_RPG_UMA);
    }
Ejemplo n.º 9
0
 public static void PrepareChangeSlotElement(DKSlotData _slot, DKOverlayData overlay, DK_RPG_UMA _DK_RPG_UMA)
 {
     if (_slot)
     {
         // choose overlay
         if (overlay == null && _slot.LinkedOverlayList.Count > 0)
         {
             int ran = Random.Range(0, _slot.LinkedOverlayList.Count);
             _overlay = _slot.LinkedOverlayList[ran];
         }
         // if no linked overlays in the list
         if (overlay != null)
         {
             _overlay = overlay;
         }
         // for face
         else if (_slot.Place.name == "Head" && _slot.OverlayType == "Face")
         {
             ChooseFaceOverlay(_slot, _overlay, _DK_RPG_UMA);
         }
         // for face elements
         else if (_slot.Place.name == "Ears" ||
                  _slot.Place.name == "Nose" ||
                  _slot.Place.name == "Mouth" ||
                  _slot.Place.name == "eyelid")
         {
             if (_DK_RPG_UMA._Avatar._Face._Head.Overlay != null)
             {
                 ChooseFaceOverlay(_slot, _overlay, _DK_RPG_UMA);
             }
             _overlay = _DK_RPG_UMA._Avatar._Face._Head.Overlay;
         }
         // for body
         else if (_slot.Place.name == "Torso" && _slot.OverlayType == "Flesh")
         {
             ChooseBodyOverlay(_slot, _overlay, _DK_RPG_UMA);
         }
         // for face elements
         else if (_slot.Place.name != "Torso" && _slot.OverlayType == "Flesh")
         {
             if (_DK_RPG_UMA._Avatar._Body._Torso.Overlay != null)
             {
                 ChooseBodyOverlay(_slot, _overlay, _DK_RPG_UMA);
             }
             _overlay = _DK_RPG_UMA._Avatar._Body._Torso.Overlay;
         }
     }
     else if (overlay)
     {
         _overlay = overlay;
         // choose color
         if (_overlay && _overlay.ColorPresets.Count > 0)
         {
             int ran = Random.Range(0, _overlay.ColorPresets.Count);
             _color = _overlay.ColorPresets[ran].PresetColor;
         }
         // if no color overlay, randomise color
         else
         {
             float ran1 = Random.Range(0f, 0.99f);
             float ran2 = Random.Range(0f, 0.99f);
             float ran3 = Random.Range(0f, 0.99f);
             _color = new Color(ran1, ran2, ran3);
         }
     }
     if (_overlay != null && _DK_RPG_UMA != null /*&& _color != Color.black*/)
     {
         EquipSlotElement(_slot, _overlay, _DK_RPG_UMA, _color);
     }
 }
Ejemplo n.º 10
0
    public void ElementPreparations(DK_RPG_UMA dkRPGUMA)
    {
        _Engine._DK_RPG_UMA = dkRPGUMA;
        #region For Male Avatar
        // Slots : verify if the Element is available for a male avatar
        if (_Engine._DK_RPG_UMA.Gender == "Male")
        {
            // Slot Only Element
            if (_Element.Male_DK_Slot != null)
            {
                // verify if the Element is available for the race of the avatar
                if (_Element.Male_DK_Slot.Race.Contains(_Engine._DK_RPG_UMA.Race))
                {
                    // assign the tmp values
                    _Element._slot    = _Element.Male_DK_Slot;
                    _Element._overlay = _Element.Male_DK_Overlay;
                }
            }

            // Overlay only element
            else if (_Element.Male_DK_Overlay)
            {
                // verify if the Element is available for the race of the avatar
                if (_Element.Male_DK_Overlay.Race.Contains(_Engine._DK_RPG_UMA.Race))
                {
                    // assign the tmp values
                    _Element._slot    = null;
                    _Element._overlay = _Element.Male_DK_Overlay;
                }
            }
        }
        #endregion For Male Avatar
        else
        #region For Female Avatar
        // Slots : verify if the Element is available for a Female avatar
        if (_Engine._DK_RPG_UMA.Gender == "Female")
        {
            if (_Element.Female_DK_Slot != null)
            {
                // verify if the Element is available for the race of the avatar
                if (_Element.Female_DK_Slot.Race.Contains(_Engine._DK_RPG_UMA.Race))
                {
                    _Element._slot    = _Element.Female_DK_Slot;
                    _Element._overlay = _Element.Female_DK_Overlay;
                }
            }
            // Overlays : verify if the Element is available for a Female avatar
            else if (_Element.Female_DK_Overlay)
            {
                if (_Element.Female_DK_Overlay.Race.Contains(_Engine._DK_RPG_UMA.Race))
                {
                    _Element._slot    = null;
                    _Element._overlay = _Element.Female_DK_Overlay;
                }
            }
        }
        #endregion For Female Avatar

        #region set the color
        if (_Element._color == Color.black)
        {
            // using the assigned colorpreset
            if (_Element._ColorPreset)
            {
                float adjust = Random.Range(0.01f, 0.5f);
                _Element._color = _Element._ColorPreset.PresetColor + new Color(adjust, adjust, adjust);
            }

            // choose a colorpreset from the overlay if possible
            else if (_Element._overlay && _Element._overlay.ColorPresets.Count > 0)
            {
                int   ran    = Random.Range(0, _Element._overlay.ColorPresets.Count - 1);
                float adjust = Random.Range(0.01f, 0.5f);
                _Element._color = _Element._overlay.ColorPresets[ran].PresetColor + new Color(adjust, adjust, adjust);
            }

            // assign the white color if the previous possibilities do not match
            else
            {
                _Element._color = new Color(1, 1, 1, 1);
            }
        }
        #endregion set the color

        #region What to do ?
        // Auto Equip the element and launch the rebuilder for the avatar
        if (_ElementOptions.AutoEquip)
        {
            DK_UMA_RPG_Equip.EquipSlotElement(_Element._slot, _Element._overlay, _Engine._DK_RPG_UMA, _Element._color);
        }

        // destroy this gameobject if necessary
        if (_ElementOptions.DestroyWhenPickup)
        {
            DestroySelf();
        }
        #endregion What to do ?
    }
Ejemplo n.º 11
0
    public static void PrepareLists(DK_RPG_UMA_Generator _DK_RPG_UMA_Generator,
                                    DK_RPG_UMA _DK_RPG_UMA,
                                    GameObject _Selection,
                                    string SelectedType,
                                    DKSlotData SelectedSlot,
                                    DKOverlayData SelectedOverlay)
    {
        _DK_RPG_UMA_Generator = GameObject.Find("DK_UMA").GetComponent <DK_RPG_UMA_Generator>();
        if (_DK_RPG_UMA == null)
        {
            if (_DK_RPG_UMA == null)
            {
                _DK_RPG_UMA = _Selection.GetComponent <DK_RPG_UMA>();
            }
            if (_DK_RPG_UMA == null)
            {
                _DK_RPG_UMA = _Selection.GetComponentInChildren <DK_RPG_UMA>();
            }
            if (_DK_RPG_UMA == null)
            {
                _DK_RPG_UMA = _Selection.GetComponentInParent <DK_RPG_UMA>();
            }
        }

        if (_DK_RPG_UMA && _DK_RPG_UMA.RaceData == null)
        {
            DKRaceLibrary races = GameObject.Find("DKUMACrowd").GetComponent <DK_UMACrowd>().raceLibrary;
            foreach (DKRaceData race in races.raceElementList)
            {
                if (race.Race == _DK_RPG_UMA.Race)
                {
                    _DK_RPG_UMA.RaceData = race;
                }
            }
        }

        // Debug.Log (_DK_RPG_UMA.RaceData.raceName);
        if (_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Head.SlotList.Count == 0)
        {
            _DK_RPG_UMA_Generator.PopulateAllLists();
            Debug.Log("test list count :" + _DK_RPG_UMA.RaceData._Male._AvatarData._Face._Head.SlotList.Count);
        }

        #region Face Lists
        if (SelectedType == "Head")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Head.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Head.SlotList);
            }
            OverlayList.Clear();
        }
        else if (SelectedType == "Eyes")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Eyes.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Eyes.SlotList);
            }
            OverlayList.Clear();
        }
        else if (SelectedType == "Eyelash")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._EyeLash.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._EyeLash.SlotList);
            }
            OverlayList.Clear();
        }
        else if (SelectedType == "Eyelids")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._EyeLids.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._EyeLids.SlotList);
            }
            OverlayList.Clear();
        }
        else if (SelectedType == "Ears")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Ears.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Ears.SlotList);
            }
            OverlayList.Clear();
        }
        else if (SelectedType == "Nose")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Nose.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Nose.SlotList);
            }
            OverlayList.Clear();
        }
        else if (SelectedType == "Mouth")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Mouth.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Mouth.SlotList);
            }
            OverlayList.Clear();
        }
        else if (SelectedType == "Eyebrow")
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._FaceHair.EyeBrowsList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._FaceHair.EyeBrowsList);
            }
            SlotList.Clear();
        }
        else if (SelectedType == "Beard" && SelectedSlot)
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._FaceHair._BeardSlotOnly.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._FaceHair._BeardSlotOnly.SlotList);
            }
            OverlayList.Clear();
        }
        else if (SelectedType == "Beard" && SelectedSlot == null && SelectedOverlay)
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._FaceHair._BeardOverlayOnly.BeardList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._FaceHair._BeardOverlayOnly.BeardList);
            }
            SlotList.Clear();
        }
        else if (SelectedType == "Beard" && SelectedSlot == null && SelectedOverlay == null)
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._FaceHair._BeardOverlayOnly.BeardList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._FaceHair._BeardOverlayOnly.BeardList);
            }
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._FaceHair._BeardSlotOnly.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._FaceHair._BeardSlotOnly.SlotList);
            }
        }
        else if (SelectedType == "HeadTatoo")
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Head.TattooList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Head.TattooList);
            }
            SlotList.Clear();
        }
        else if (SelectedType == "HeadMakeup")
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Head.MakeupList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Head.MakeupList);
            }
            SlotList.Clear();
        }
        else if (SelectedType == "Hair" /*&& SelectedSlot*/)
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Hair._SlotOnly.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._AvatarData._Hair._OverlayOnly.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Hair._SlotOnly.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._AvatarData._Hair._OverlayOnly.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Hair._OverlayOnly.OverlayList);
                if (_DK_RPG_UMA.RaceData._Male._AvatarData._Hair._SlotOnly.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Hair._OverlayOnly.OverlayList);
                if (_DK_RPG_UMA.RaceData._Female._AvatarData._Hair._SlotOnly.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }

        /*	else if ( SelectedType == "Hair" && SelectedSlot == null && SelectedOverlay ){
         *              SlotList.Clear();
         *              if ( _DK_RPG_UMA.Gender == "Male" ) {
         *                      SlotList.AddRange (_DK_RPG_UMA.RaceData._Male._AvatarData._Hair._SlotOnly.SlotList);
         *                      if (_DK_RPG_UMA.RaceData._Male._AvatarData._Hair._OverlayOnly.OverlayList.Count == 0 ) OverlayList.Clear();
         *              }
         *              else if ( _DK_RPG_UMA.Gender == "Female" ) {
         *                      SlotList.AddRange (_DK_RPG_UMA.RaceData._Female._AvatarData._Hair._SlotOnly.SlotList);
         *                      if (_DK_RPG_UMA.RaceData._Female._AvatarData._Hair._OverlayOnly.OverlayList.Count == 0 ) OverlayList.Clear();
         *              }
         *              OverlayList.Clear();
         *              if ( _DK_RPG_UMA.Gender == "Male" ) {
         *                      OverlayList.AddRange (_DK_RPG_UMA.RaceData._Male._AvatarData._Hair._OverlayOnly.OverlayList);
         *                      if (_DK_RPG_UMA.RaceData._Male._AvatarData._Hair._SlotOnly.SlotList.Count == 0 ) SlotList.Clear();
         *              }
         *              else if ( _DK_RPG_UMA.Gender == "Female" ) {
         *                      OverlayList.AddRange (_DK_RPG_UMA.RaceData._Female._AvatarData._Hair._OverlayOnly.OverlayList);
         *                      if (_DK_RPG_UMA.RaceData._Female._AvatarData._Hair._SlotOnly.SlotList.Count == 0 ) SlotList.Clear();
         *              }
         *      }*/
        /*	else if ( SelectedType == "Hair" && SelectedSlot == null && SelectedOverlay == null ){
         *      OverlayList.Clear();
         *      if ( _DK_RPG_UMA.Gender == "Male" ) OverlayList.AddRange (_DK_RPG_UMA.RaceData._Male._AvatarData._Hair._OverlayOnly.OverlayList);
         *      else if ( _DK_RPG_UMA.Gender == "Female" ) OverlayList.AddRange (_DK_RPG_UMA.RaceData._Female._AvatarData._Hair._OverlayOnly.OverlayList);
         *      SlotList.Clear();
         *      if ( _DK_RPG_UMA.Gender == "Male" ) SlotList.AddRange (_DK_RPG_UMA.RaceData._Male._AvatarData._Hair._SlotOnly.SlotList);
         *      else if ( _DK_RPG_UMA.Gender == "Female" ) SlotList.AddRange (_DK_RPG_UMA.RaceData._Female._AvatarData._Hair._SlotOnly.SlotList);
         *      Debug.Log (OverlayList.Count);
         * }*/

        else if (SelectedType == "HairModule")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Hair._SlotOnly._HairModule.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Hair._SlotOnly._HairModule.SlotList);
            }
            OverlayList.Clear();
        }
        else if (SelectedType == "Lips")
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Head.LipsList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Head.LipsList);
            }
            SlotList.Clear();
        }
        else if (SelectedType == "Innermouth")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Mouth._InnerMouth.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Mouth._InnerMouth.SlotList);
            }
            OverlayList.Clear();
        }
        #endregion Face Lists

        #region Body Lists
        else if (SelectedType == "Torso")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Torso.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Torso.SlotList);
            }
            OverlayList.Clear();
        }
        else if (SelectedType == "TorsoTatoo")
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Torso.TattooList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Torso.TattooList);
            }
            SlotList.Clear();
        }
        else if (SelectedType == "TorsoMakeup")
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Torso.MakeupList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Torso.MakeupList);
            }
            SlotList.Clear();
        }
        else if (SelectedType == "Hands")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Hands.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Hands.SlotList);
            }
            OverlayList.Clear();
        }
        else if (SelectedType == "HandsTatoo")
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Hands.TattooList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Hands.TattooList);
            }
            SlotList.Clear();
        }
        else if (SelectedType == "HandsMakeup")
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Hands.MakeupList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Hands.MakeupList);
            }
            SlotList.Clear();
        }
        else if (SelectedType == "Legs")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Legs.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Legs.SlotList);
            }
            OverlayList.Clear();
        }
        else if (SelectedType == "LegsTatoo")
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Legs.TattooList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Legs.TattooList);
            }
            SlotList.Clear();
        }
        else if (SelectedType == "LegsMakeup")
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Legs.MakeupList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Legs.MakeupList);
            }
            SlotList.Clear();
        }
        else if (SelectedType == "Feet")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Feet.SlotList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Feet.SlotList);
            }
            OverlayList.Clear();
        }
        else if (SelectedType == "FeetTatoo")
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Feet.TattooList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Feet.TattooList);
            }
            SlotList.Clear();
        }
        else if (SelectedType == "FeetMakeup")
        {
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Feet.MakeupList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Feet.MakeupList);
            }
            SlotList.Clear();
        }
        #endregion Body Lists

        #region Wear Lists
        else if (SelectedType == "HeadWear" /*&& SelectedSlot == null && SelectedOverlay*/)
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Head.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Head.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Head.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Head.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Head.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Head.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Head.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Head.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }
        else if (SelectedType == "ShoulderWear" /*&& SelectedSlot == null && SelectedOverlay*/)
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Shoulder.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Shoulder.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Shoulder.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Shoulder.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Shoulder.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Shoulder.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Shoulder.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Shoulder.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }
        else if (SelectedType == "ArmbandWear" /*&& SelectedSlot == null && SelectedOverlay*/)
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Armband.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Armband.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Armband.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Armband.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Armband.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Armband.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Armband.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Armband.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }
        else if (SelectedType == "WristWear" /*&& SelectedSlot == null && SelectedOverlay*/)
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Wrist.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Wrist.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Wrist.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Wrist.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Wrist.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Wrist.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Wrist.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Wrist.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }
        else if (SelectedType == "CloakWear" /*&& SelectedSlot == null && SelectedOverlay*/)
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Cloak.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Cloak.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Cloak.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Cloak.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
        }

        else if (SelectedType == "TorsoWear" /*&& SelectedSlot == null && SelectedOverlay*/)
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Torso.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Torso.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Torso.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Torso.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Torso.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Torso.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Torso.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Torso.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }
        else if (SelectedType == "HandsWear")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Hands.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Hands.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Hands.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Hands.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Hands.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Hands.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Hands.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Hands.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }
        else if (SelectedType == "LegsWear")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Legs.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Legs.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Legs.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Legs.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Legs.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Legs.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Legs.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Legs.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }
        else if (SelectedType == "FeetWear")
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Feet.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Feet.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Feet.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Feet.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Feet.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Feet.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Feet.OverlayOnlyList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Feet.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }
        else if (SelectedType == "Underwear")
        {
            SlotList.Clear();
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Underwear.OverlayList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Underwear.OverlayList);
            }
        }
        else if (SelectedType == "HandledLeft" /*&& SelectedSlot == null && SelectedOverlay*/)
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._LeftHand.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._LeftHand.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._LeftHand.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._LeftHand.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._LeftHand.OverlayList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._LeftHand.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._LeftHand.OverlayList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._LeftHand.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }
        else if (SelectedType == "HandledRight" /*&& SelectedSlot == null && SelectedOverlay*/)
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._RightHand.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._RightHand.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._RightHand.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._RightHand.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._RightHand.OverlayList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._RightHand.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._RightHand.OverlayList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._RightHand.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }
        else if (SelectedType == "BeltWear" /*&& SelectedSlot == null && SelectedOverlay*/)
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Belt.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Belt.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Belt.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Belt.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Belt.OverlayList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Belt.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Belt.OverlayList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Belt.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }
        else if (SelectedType == "Cloak" /*&& SelectedSlot == null && SelectedOverlay*/)
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Cloak.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Cloak.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Cloak.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Cloak.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Cloak.OverlayList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Cloak.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Cloak.OverlayList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Cloak.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }
        else if (SelectedType == "Backpack" /*&& SelectedSlot == null && SelectedOverlay*/)
        {
            SlotList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Backpack.SlotList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Backpack.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                SlotList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Backpack.SlotList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Backpack.OverlayList.Count == 0)
                {
                    OverlayList.Clear();
                }
            }
            OverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._EquipmentData._Backpack.OverlayList);
                if (_DK_RPG_UMA.RaceData._Male._EquipmentData._Backpack.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                OverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._EquipmentData._Backpack.OverlayList);
                if (_DK_RPG_UMA.RaceData._Female._EquipmentData._Backpack.SlotList.Count == 0)
                {
                    SlotList.Clear();
                }
            }
        }
        #endregion Wear Lists
        PrepareOverlaysLists(_DK_RPG_UMA_Generator,
                             _DK_RPG_UMA,
                             _Selection,
                             SelectedType,
                             SelectedSlot,
                             SelectedOverlay);
    }
Ejemplo n.º 12
0
    public static void PrepareOverlaysLists(DK_RPG_UMA_Generator _DK_RPG_UMA_Generator,
                                            DK_RPG_UMA _DK_RPG_UMA,
                                            GameObject _Selection,
                                            string SelectedType,
                                            DKSlotData SelectedSlot,
                                            DKOverlayData SelectedOverlay)
    {
        _DK_RPG_UMA_Generator = GameObject.Find("DK_UMA").GetComponent <DK_RPG_UMA_Generator>();
        if (_DK_RPG_UMA == null)
        {
            if (_DK_RPG_UMA == null)
            {
                _DK_RPG_UMA = _Selection.GetComponent <DK_RPG_UMA>();
            }
            if (_DK_RPG_UMA == null)
            {
                _DK_RPG_UMA = _Selection.GetComponentInChildren <DK_RPG_UMA>();
            }
            if (_DK_RPG_UMA == null)
            {
                _DK_RPG_UMA = _Selection.GetComponentInParent <DK_RPG_UMA>();
            }
        }

        if (_DK_RPG_UMA && _DK_RPG_UMA.RaceData == null)
        {
            DKRaceLibrary races = GameObject.Find("DKUMACrowd").GetComponent <DK_UMACrowd>().raceLibrary;
            foreach (DKRaceData race in races.raceElementList)
            {
                if (race.Race == _DK_RPG_UMA.Race)
                {
                    _DK_RPG_UMA.RaceData = race;
                }
            }
        }
        #region Face Lists
        LinkedOverlayList.Clear();
        if (SelectedType == "Head")
        {
            LinkedOverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Head.OverlayList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Head.OverlayList);
            }
        }
        else if (SelectedType == "Eyes")
        {
            LinkedOverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Eyes.OverlayList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Eyes.OverlayList);
            }
        }
        else if (SelectedType == "Eyelash")
        {
            LinkedOverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._EyeLash.OverlayList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._EyeLash.OverlayList);
            }
        }
        else if (SelectedType == "Eyelids")
        {
            LinkedOverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._EyeLids.OverlayList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._EyeLids.OverlayList);
            }
        }
        else if (SelectedType == "Ears")
        {
            LinkedOverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Ears.OverlayList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Ears.OverlayList);
            }
        }
        else if (SelectedType == "Nose")
        {
            LinkedOverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Nose.OverlayList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Nose.OverlayList);
            }
        }
        else if (SelectedType == "Mouth")
        {
            LinkedOverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Mouth.OverlayList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Mouth.OverlayList);
            }
        }
        else if (SelectedType == "Innermouth")
        {
            LinkedOverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Face._Mouth._InnerMouth.OverlayList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Face._Mouth._InnerMouth.OverlayList);
            }
        }
        #endregion Face Lists

        #region Body Lists
        else if (SelectedType == "Torso")
        {
            LinkedOverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Torso.OverlayList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Torso.OverlayList);
            }
        }
        else if (SelectedType == "Hands")
        {
            LinkedOverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Hands.OverlayList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Hands.OverlayList);
            }
        }
        else if (SelectedType == "Legs")
        {
            LinkedOverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Legs.OverlayList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Legs.OverlayList);
            }
        }
        else if (SelectedType == "Feet")
        {
            LinkedOverlayList.Clear();
            if (_DK_RPG_UMA.Gender == "Male")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Male._AvatarData._Body._Feet.OverlayList);
            }
            else if (_DK_RPG_UMA.Gender == "Female")
            {
                LinkedOverlayList.AddRange(_DK_RPG_UMA.RaceData._Female._AvatarData._Body._Feet.OverlayList);
            }
        }
        if (SelectedSlot)
        {
            LinkedOverlayList.AddRange(SelectedSlot.LinkedOverlayList);
        }
        #endregion Body Lists
    }