12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- using System;
- using UnityEngine;
- public class BoneHair3
- {
- public BoneHair3(TBodySkin bodyskin)
- {
- this.m_BodySkin = bodyskin;
- this.m_Body = bodyskin.body;
- }
- public void WarpInit()
- {
- if (this.m_SkirtBone != null)
- {
- this.m_SkirtBone.m_bResetPos = true;
- }
- }
- public void Init()
- {
- }
- public void Uninit()
- {
- if (this.m_SkirtBone != null)
- {
- this.m_SkirtBone.Uninit();
- UnityEngine.Object.DestroyImmediate(this.m_SkirtBone);
- this.m_SkirtBone = null;
- }
- }
- public bool InitGameObject(GameObject f_goRoot, MPN f_mpn)
- {
- if (!this.m_Body.m_bNewSkirtPhyscs)
- {
- return false;
- }
- Transform transform = this.SearchSkirtBone(f_goRoot.transform);
- if (transform == null)
- {
- return false;
- }
- Transform parent = transform.parent;
- NDebug.Assert(this.m_SkirtBone == null, () => "DynamicSkirtBoneコンポーネントが二重に付けられました。");
- string f_strFileName = f_goRoot.name.Replace("_SM_", string.Empty);
- DynamicSkirtBone dynamicSkirtBone = ImportCM.TryLoadDynamicSkirtBone(f_goRoot, parent, f_strFileName, this.m_BodySkin.body);
- if (dynamicSkirtBone == null)
- {
- string f_strFileName2 = "default_skirt";
- dynamicSkirtBone = ImportCM.TryLoadDynamicSkirtBone(f_goRoot, parent, f_strFileName2, this.m_BodySkin.body);
- if (dynamicSkirtBone == null)
- {
- return false;
- }
- }
- this.m_SkirtBone = dynamicSkirtBone;
- this.m_SkirtBone.InitGameObject(f_goRoot, this.m_BodySkin, parent);
- this.WarpInit();
- return true;
- }
- private Transform SearchSkirtBone(Transform f_goParent)
- {
- if (f_goParent.name.Contains("_yure_skirt_"))
- {
- return f_goParent;
- }
- for (int i = 0; i < f_goParent.childCount; i++)
- {
- Transform transform = this.SearchSkirtBone(f_goParent.GetChild(i));
- if (transform != null)
- {
- return transform;
- }
- }
- return null;
- }
- public void UpdateSelf()
- {
- if (this.m_SkirtBone != null)
- {
- this.m_SkirtBone.UpdateSelf();
- }
- }
- private TBody m_Body;
- private TBodySkin m_BodySkin;
- private DynamicSkirtBone m_SkirtBone;
- }
|