Ejemplo n.º 1
0
        private static void HScene_PreChangeAnimation()
        {
            if (applySavedOffsets.Value)
            {
                shouldApplyOffsets = true;
            }

            if (hScene == null)
            {
                return;
            }

            SliderUI.ClearBaseReplacements();
            bBaseReplacement   = false;
            bIdleGlowException = false;
            bFootJobException  = false;
            bTwoFootException  = false;
        }
Ejemplo n.º 2
0
        public static void FixMotionList(string fileFemale)
        {
            SliderUI.ClearBaseReplacements();
            bBaseReplacement   = false;
            bIdleGlowException = false;
            bFootJobException  = false;
            bTwoFootException  = false;

            if (!fixAttachmentPoints.Value || maleCharacters == null || maleCharacters[0] == null || femaleCharacters == null || femaleCharacters[0] == null)
            {
                return;
            }

            if (siriReplaceList.Contains(fileFemale))
            {
                Transform leftContact  = femaleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("k_f_siriL_00")).FirstOrDefault();
                Transform rightContact = femaleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("k_f_siriR_00")).FirstOrDefault();

                if (leftContact != null)
                {
                    SliderUI.SetBaseReplacement(0, (int)BodyPart.LeftHand, leftContact);
                }

                if (rightContact != null)
                {
                    SliderUI.SetBaseReplacement(0, (int)BodyPart.RightHand, rightContact);
                }

                bBaseReplacement = true;
            }
            else if (kosiReplaceList.Contains(fileFemale))
            {
                Transform leftContact  = femaleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("k_f_kosi02_00")).FirstOrDefault();
                Transform rightContact = femaleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("k_f_kosi02_01")).FirstOrDefault();

                if (leftContact != null)
                {
                    SliderUI.SetBaseReplacement(0, (int)BodyPart.LeftHand, leftContact);
                }

                if (rightContact != null)
                {
                    SliderUI.SetBaseReplacement(0, (int)BodyPart.RightHand, rightContact);
                }

                bBaseReplacement = true;
            }
            else if (huggingReplaceList.Contains(fileFemale))
            {
                Transform leftContact  = maleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("k_f_spine03_00")).FirstOrDefault();
                Transform rightContact = femaleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("k_f_armlowL_00")).FirstOrDefault();

                if (leftContact != null)
                {
                    SliderUI.SetBaseReplacement(maleCharacters.Count, (int)BodyPart.LeftHand, leftContact);
                }

                if (rightContact != null)
                {
                    SliderUI.SetBaseReplacement(maleCharacters.Count, (int)BodyPart.RightHand, rightContact);
                }

                bBaseReplacement = true;
            }
            else if (footReplaceList.Contains(fileFemale))
            {
                Transform leftAnkleReference = femaleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("f_k_foot_L")).FirstOrDefault();
                Transform leftDanReference   = maleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("k_m_dansao00_00")).FirstOrDefault();

                if (leftAnkleReference != null)
                {
                    SliderUI.SetBaseReplacement(maleCharacters.Count, (int)BodyPart.LeftFoot, leftAnkleReference);
                }
                if (leftDanReference != null)
                {
                    SliderUI.SetBaseReplacement(maleCharacters.Count, (int)BodyPart.LeftHand, leftDanReference);
                }

                bFootJobException = true;

                if (fileFemale != footReplaceList[0])
                {
                    Transform rightAnkleReference = femaleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("f_k_foot_R")).FirstOrDefault();
                    Transform rightDanReference   = maleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("k_m_dansao00_01")).FirstOrDefault();


                    if (rightAnkleReference != null)
                    {
                        SliderUI.SetBaseReplacement(maleCharacters.Count, (int)BodyPart.RightFoot, rightAnkleReference);
                    }
                    if (rightDanReference != null)
                    {
                        SliderUI.SetBaseReplacement(maleCharacters.Count, (int)BodyPart.RightHand, rightDanReference);
                    }

                    bTwoFootException = true;
                }
            }
            else if (rightKokanReplaceList.Contains(fileFemale))
            {
                Transform rightContact = femaleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("k_f_kokan_00")).FirstOrDefault();
                if (rightContact != null)
                {
                    SliderUI.SetBaseReplacement(0, (int)BodyPart.RightHand, rightContact);
                }

                bBaseReplacement   = true;
                bIdleGlowException = true;
            }
            else if (leftKokanReplaceList.Contains(fileFemale))
            {
                Transform leftContact = femaleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("k_f_kokan_00")).FirstOrDefault();
                if (leftContact != null)
                {
                    SliderUI.SetBaseReplacement(0, (int)BodyPart.LeftHand, leftContact);
                }

                bBaseReplacement   = true;
                bIdleGlowException = true;
            }
            else if (rightKosiReplaceList.Contains(fileFemale))
            {
                Transform rightContact = femaleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("k_f_kosi02_00")).FirstOrDefault();
                if (rightContact != null)
                {
                    SliderUI.SetBaseReplacement(0, (int)BodyPart.RightHand, rightContact);
                }

                bBaseReplacement   = true;
                bIdleGlowException = true;
            }
            else if (leftKosiReplaceList.Contains(fileFemale))
            {
                Transform leftContact = femaleCharacters[0].GetComponentsInChildren <Transform>().Where(x => x.name.Contains("k_f_kosi02_00")).FirstOrDefault();
                if (leftContact != null)
                {
                    SliderUI.SetBaseReplacement(0, (int)BodyPart.LeftHand, leftContact);
                }

                bBaseReplacement   = true;
                bIdleGlowException = true;
            }

            useReplacements = bBaseReplacement && !bFootJobException && (!bIdleGlowException || (!currentMotion.Contains("Idle") && !currentMotion.Contains("_A")));
        }