public static void InitIKTarget(OCIChar _ociChar, bool _addInfo) { IKSolverFullBodyBiped solver = (IKSolverFullBodyBiped)_ociChar.finalIK.solver; BipedReferences references = (BipedReferences)_ociChar.finalIK.references; _ociChar.ikCtrl = _ociChar.preparation.IKCtrl; AddObjectAssist.AddIKTarget(_ociChar, _ociChar.ikCtrl, 0, solver.get_bodyEffector(), false, (Transform)references.pelvis); AddObjectAssist.AddIKTarget(_ociChar, _ociChar.ikCtrl, 1, solver.get_leftShoulderEffector(), false, (Transform)references.leftUpperArm); AddObjectAssist.AddIKTarget(_ociChar, _ociChar.ikCtrl, 2, solver.get_leftArmChain(), false, (Transform)references.leftForearm); AddObjectAssist.AddIKTarget(_ociChar, _ociChar.ikCtrl, 3, solver.get_leftHandEffector(), true, (Transform)references.leftHand); AddObjectAssist.AddIKTarget(_ociChar, _ociChar.ikCtrl, 4, solver.get_rightShoulderEffector(), false, (Transform)references.rightUpperArm); AddObjectAssist.AddIKTarget(_ociChar, _ociChar.ikCtrl, 5, solver.get_rightArmChain(), false, (Transform)references.rightForearm); AddObjectAssist.AddIKTarget(_ociChar, _ociChar.ikCtrl, 6, solver.get_rightHandEffector(), true, (Transform)references.rightHand); AddObjectAssist.AddIKTarget(_ociChar, _ociChar.ikCtrl, 7, solver.get_leftThighEffector(), false, (Transform)references.leftThigh); AddObjectAssist.AddIKTarget(_ociChar, _ociChar.ikCtrl, 8, solver.get_leftLegChain(), false, (Transform)references.leftCalf); AddObjectAssist.AddIKTarget(_ociChar, _ociChar.ikCtrl, 9, solver.get_leftFootEffector(), true, (Transform)references.leftFoot); AddObjectAssist.AddIKTarget(_ociChar, _ociChar.ikCtrl, 10, solver.get_rightThighEffector(), false, (Transform)references.rightThigh); AddObjectAssist.AddIKTarget(_ociChar, _ociChar.ikCtrl, 11, solver.get_rightLegChain(), false, (Transform)references.rightCalf); AddObjectAssist.AddIKTarget(_ociChar, _ociChar.ikCtrl, 12, solver.get_rightFootEffector(), true, (Transform)references.rightFoot); if (!_addInfo) { return; } _ociChar.ikCtrl.InitTarget(); }
private static void ArrangeNamesLoop(Transform _target) { string name = ((Object)_target).get_name(); if (Regex.Match(name, "c_J_hairF[CLRU]+[a-b]_(\\d*)", RegexOptions.IgnoreCase).Success) { ((Object)_target).set_name(name.Replace("c_J_hairF", "c_J_hair_F")); } else if (Regex.Match(name, "c_J_hairB[CLRU]+[a-b]_(\\d*)", RegexOptions.IgnoreCase).Success) { ((Object)_target).set_name(name.Replace("c_J_hairB", "c_J_hair_B")); } if (_target.get_childCount() == 0) { return; } IEnumerator enumerator = _target.GetEnumerator(); try { while (enumerator.MoveNext()) { AddObjectAssist.ArrangeNamesLoop((Transform)enumerator.Current); } } finally { if (enumerator is IDisposable disposable) { disposable.Dispose(); } } }
public void Duplicate() { Dictionary <int, ObjectInfo> _dicObject = new Dictionary <int, ObjectInfo>(); Dictionary <int, Studio.Studio.DuplicateParentInfo> dictionary = new Dictionary <int, Studio.Studio.DuplicateParentInfo>(); TreeNodeObject[] selectNodes = this.treeNodeCtrl.selectNodes; for (int index = 0; index < selectNodes.Length; ++index) { this.SavePreprocessingLoop(selectNodes[index]); ObjectCtrlInfo objectCtrlInfo = (ObjectCtrlInfo)null; if (this.dicInfo.TryGetValue(selectNodes[index], out objectCtrlInfo)) { _dicObject.Add(objectCtrlInfo.objectInfo.dicKey, objectCtrlInfo.objectInfo); if (objectCtrlInfo.parentInfo != null) { dictionary.Add(objectCtrlInfo.objectInfo.dicKey, new Studio.Studio.DuplicateParentInfo(objectCtrlInfo.parentInfo, objectCtrlInfo.treeNodeObject.parent)); } } } if (_dicObject.Count == 0) { return; } byte[] buffer = (byte[])null; using (MemoryStream memoryStream = new MemoryStream()) { using (BinaryWriter _writer = new BinaryWriter((Stream)memoryStream)) { this.sceneInfo.Save(_writer, _dicObject); buffer = memoryStream.ToArray(); } } using (MemoryStream memoryStream = new MemoryStream(buffer)) { using (BinaryReader _reader = new BinaryReader((Stream)memoryStream)) this.sceneInfo.Import(_reader, this.sceneInfo.version); } foreach (KeyValuePair <int, ObjectInfo> keyValuePair in this.sceneInfo.dicImport) { Studio.Studio.DuplicateParentInfo duplicateParentInfo = (Studio.Studio.DuplicateParentInfo)null; if (dictionary.TryGetValue(this.sceneInfo.dicChangeKey[keyValuePair.Key], out duplicateParentInfo)) { AddObjectAssist.LoadChild(keyValuePair.Value, duplicateParentInfo.info, duplicateParentInfo.node); } else { AddObjectAssist.LoadChild(keyValuePair.Value, (ObjectCtrlInfo)null, (TreeNodeObject)null); } } if (this._routeControl.visible) { this._routeControl.Init(); } this.treeNodeCtrl.RefreshHierachy(); this._cameraSelector.Init(); }
public static void LoadChild( List <ObjectInfo> _child, ObjectCtrlInfo _parent, TreeNodeObject _parentNode) { foreach (ObjectInfo _child1 in _child) { AddObjectAssist.LoadChild(_child1, _parent, _parentNode); } }
public static void LoadChild( Dictionary <int, ObjectInfo> _child, ObjectCtrlInfo _parent = null, TreeNodeObject _parentNode = null) { foreach (KeyValuePair <int, ObjectInfo> keyValuePair in _child) { AddObjectAssist.LoadChild(keyValuePair.Value, _parent, _parentNode); } }
public bool ImportScene(string _path) { if (!File.Exists(_path) || !this.sceneInfo.Import(_path)) { return(false); } AddObjectAssist.LoadChild(this.sceneInfo.dicImport, (ObjectCtrlInfo)null, (TreeNodeObject)null); this.treeNodeCtrl.RefreshHierachy(); this._cameraSelector.Init(); return(true); }
private static void TransformLoop(Transform _src, List <Transform> _list) { if (Object.op_Equality((Object)_src, (Object)null)) { return; } _list.Add(_src); for (int index = 0; index < _src.get_childCount(); ++index) { AddObjectAssist.TransformLoop(_src.GetChild(index), _list); } }
public static OCIRoute Load( OIRouteInfo _info, ObjectCtrlInfo _parent, TreeNodeObject _parentNode) { ChangeAmount _source = _info.changeAmount.Clone(); OCIRoute ociRoute = AddObjectRoute.Load(_info, _parent, _parentNode, false, -1); _info.changeAmount.Copy(_source, true, true, true); AddObjectAssist.LoadChild(_info.child, (ObjectCtrlInfo)ociRoute, (TreeNodeObject)null); return(ociRoute); }
public static OCIItem Load( OIItemInfo _info, ObjectCtrlInfo _parent, TreeNodeObject _parentNode) { ChangeAmount _source = _info.changeAmount.Clone(); OCIItem ociItem = AddObjectItem.Load(_info, _parent, _parentNode, false, -1); _info.changeAmount.Copy(_source, true, true, true); AddObjectAssist.LoadChild(_info.child, (ObjectCtrlInfo)ociItem, (TreeNodeObject)null); return(ociItem); }
public static OCIFolder Load( OIFolderInfo _info, ObjectCtrlInfo _parent, TreeNodeObject _parentNode) { ChangeAmount _source = _info.changeAmount.Clone(); OCIFolder ociFolder = AddObjectFolder.Load(_info, _parent, _parentNode, false, -1); _info.changeAmount.Copy(_source, true, true, true); AddObjectAssist.LoadChild(_info.child, (ObjectCtrlInfo)ociFolder, (TreeNodeObject)null); return(ociFolder); }
private static OCIChar.IKInfo AddIKTarget( OCIChar _ociChar, IKCtrl _ikCtrl, int _no, FBIKChain _chain, bool _usedRot, Transform _bone) { OCIChar.IKInfo ikInfo = AddObjectAssist.AddIKTarget(_ociChar, _ikCtrl, _no, (Transform)((IKConstraintBend)_chain.bendConstraint).bendGoal, _usedRot, _bone, false); ((IKConstraintBend)_chain.bendConstraint).weight = (__Null)1.0; ((IKConstraintBend)_chain.bendConstraint).bendGoal = (__Null)ikInfo.targetObject; return(ikInfo); }
private static OCIChar.IKInfo AddIKTarget( OCIChar _ociChar, IKCtrl _ikCtrl, int _no, IKEffector _effector, bool _usedRot, Transform _bone) { OCIChar.IKInfo ikInfo = AddObjectAssist.AddIKTarget(_ociChar, _ikCtrl, _no, (Transform)_effector.target, _usedRot, _bone, true); _effector.positionWeight = (__Null)1.0; _effector.rotationWeight = !_usedRot ? (__Null)0.0 : (__Null)1.0; _effector.target = (__Null)ikInfo.targetObject; return(ikInfo); }
public static OCICharFemale Load( OICharInfo _info, ObjectCtrlInfo _parent, TreeNodeObject _parentNode) { OCICharFemale ociCharFemale = AddObjectFemale.Add(Singleton <Character> .Instance.CreateChara((byte)1, Singleton <Scene> .Instance.commonSpace, -1, _info.charFile), _info, _parent, _parentNode, false, -1); foreach (KeyValuePair <int, List <ObjectInfo> > keyValuePair in _info.child) { KeyValuePair <int, List <ObjectInfo> > v = keyValuePair; AddObjectAssist.LoadChild(v.Value, (ObjectCtrlInfo)ociCharFemale, ociCharFemale.dicAccessoryPoint.First <KeyValuePair <TreeNodeObject, int> >((Func <KeyValuePair <TreeNodeObject, int>, bool>)(x => x.Value == v.Key)).Key); } return(ociCharFemale); }
public static void ArrangeNames(Transform _target) { IEnumerator enumerator = _target.GetEnumerator(); try { while (enumerator.MoveNext()) { AddObjectAssist.ArrangeNamesLoop((Transform)enumerator.Current); } } finally { if (enumerator is IDisposable disposable) { disposable.Dispose(); } } }
public bool LoadScene(string _path) { if (!File.Exists(_path)) { return(false); } this.InitScene(false); this.sceneInfo = new SceneInfo(); if (!this.sceneInfo.Load(_path)) { return(false); } AddObjectAssist.LoadChild(this.sceneInfo.dicObject, (ObjectCtrlInfo)null, (TreeNodeObject)null); ChangeAmount _source = this.sceneInfo.caMap.Clone(); this.AddMap(this.sceneInfo.map, false, false, true); this.mapList.UpdateInfo(); this.sceneInfo.caMap.Copy(_source, true, true, true); Singleton <MapCtrl> .Instance.Reflect(); this.bgmCtrl.Play(this.bgmCtrl.no); this.envCtrl.Play(this.envCtrl.no); this.outsideSoundCtrl.Play(this.outsideSoundCtrl.fileName); this.m_BackgroundCtrl.Load(this.sceneInfo.background); this.m_BackgroundList.UpdateUI(); this._frameCtrl.Load(this.sceneInfo.frame); this._frameList.UpdateUI(); this.m_SystemButtonCtrl.UpdateInfo(); this.treeNodeCtrl.RefreshHierachy(); if (this.sceneInfo.cameraSaveData != null) { this.m_CameraCtrl.Import(this.sceneInfo.cameraSaveData); } this.cameraLightCtrl.Reflect(); this._cameraSelector.Init(); this.sceneInfo.dataVersion = this.sceneInfo.version; this.rootButtonCtrl.OnClick(-1); return(true); }
public static void InitHairBone(OCIChar _ociChar, Dictionary <int, Info.BoneInfo> _dicBoneInfo) { GameObject referenceInfo = _ociChar.charReference.GetReferenceInfo(ChaReference.RefObjKey.HeadParent); Dictionary <int, OCIChar.BoneInfo> dictionary = new Dictionary <int, OCIChar.BoneInfo>(); foreach (KeyValuePair <int, Info.BoneInfo> keyValuePair in _dicBoneInfo.Where <KeyValuePair <int, Info.BoneInfo> >((Func <KeyValuePair <int, Info.BoneInfo>, bool>)(b => MathfEx.RangeEqualOn <int>(7, b.Value.group, 9)))) { GameObject loop = referenceInfo.get_transform().FindLoop(keyValuePair.Value.bone); if (!Object.op_Equality((Object)loop, (Object)null)) { OCIChar.BoneInfo boneInfo1 = (OCIChar.BoneInfo)null; if (dictionary.TryGetValue(keyValuePair.Value.sync, out boneInfo1)) { boneInfo1.AddSyncBone(loop); } else { OIBoneInfo _boneInfo = (OIBoneInfo)null; if (!_ociChar.oiCharInfo.bones.TryGetValue(keyValuePair.Key, out _boneInfo)) { _boneInfo = new OIBoneInfo(Studio.Studio.GetNewIndex()); _ociChar.oiCharInfo.bones.Add(keyValuePair.Key, _boneInfo); } _boneInfo.group = OIBoneInfo.BoneGroup.Hair; _boneInfo.level = keyValuePair.Value.level; GuideObject _guideObject = AddObjectAssist.AddBoneGuide(loop.get_transform(), _boneInfo.dicKey, _ociChar.guideObject, keyValuePair.Value.name); OCIChar.BoneInfo boneInfo2 = new OCIChar.BoneInfo(_guideObject, _boneInfo, keyValuePair.Key); _ociChar.listBones.Add(boneInfo2); _guideObject.SetActive(false, true); if (keyValuePair.Value.sync != -1) { dictionary.Add(keyValuePair.Key, boneInfo2); } } } } _ociChar.UpdateFKColor(OIBoneInfo.BoneGroup.Hair); }
private static OCICharFemale Add( ChaControl _female, OICharInfo _info, ObjectCtrlInfo _parent, TreeNodeObject _parentNode, bool _addInfo, int _initialPosition) { OCICharFemale ociCharFemale = new OCICharFemale(); ChaFileStatus _status = new ChaFileStatus(); _status.Copy(_female.fileStatus); _female.ChangeNowCoordinate(false, true); _female.Load(true); _female.InitializeExpression(1, true); ociCharFemale.charInfo = _female; ociCharFemale.charReference = (ChaReference)_female; ociCharFemale.preparation = (Preparation)_female.objAnim.GetComponent <Preparation>(); ociCharFemale.finalIK = _female.fullBodyIK; ociCharFemale.charInfo.hideMoz = false; for (int index = 0; index < 2; ++index) { GameObject gameObject = _female.objHair.SafeGet <GameObject>(index); if (Object.op_Inequality((Object)gameObject, (Object)null)) { AddObjectAssist.ArrangeNames(gameObject.get_transform()); } } AddObjectAssist.SetupAccessoryDynamicBones((OCIChar)ociCharFemale); AddObjectAssist.DisableComponent((OCIChar)ociCharFemale); ociCharFemale.objectInfo = (ObjectInfo)_info; GuideObject guideObject = Singleton <GuideObjectManager> .Instance.Add(((Component)_female).get_transform(), _info.dicKey); guideObject.scaleSelect = 0.1f; guideObject.scaleRot = 0.05f; guideObject.isActiveFunc += new GuideObject.IsActiveFunc(((ObjectCtrlInfo)ociCharFemale).OnSelect); guideObject.SetVisibleCenter(true); ociCharFemale.guideObject = guideObject; ociCharFemale.optionItemCtrl = (OptionItemCtrl)((Component)_female).get_gameObject().AddComponent <OptionItemCtrl>(); ociCharFemale.optionItemCtrl.animator = _female.animBody; ociCharFemale.optionItemCtrl.oiCharInfo = _info; _info.changeAmount.onChangeScale += new Action <Vector3>(ociCharFemale.optionItemCtrl.ChangeScale); ociCharFemale.charAnimeCtrl = ociCharFemale.preparation?.CharAnimeCtrl; if (Object.op_Implicit((Object)ociCharFemale.charAnimeCtrl)) { ociCharFemale.charAnimeCtrl.oiCharInfo = _info; } ociCharFemale.yureCtrl = ociCharFemale.preparation.YureCtrl; ociCharFemale.yureCtrl.Init((OCIChar)ociCharFemale); if (_info.animeInfo.group == 0 && _info.animeInfo.category == 2 && _info.animeInfo.no == 11) { int group = _info.animeInfo.group; int category = _info.animeInfo.category; int no = _info.animeInfo.no; float animeNormalizedTime = _info.animeNormalizedTime; ociCharFemale.LoadAnime(0, 1, 0, 0.0f); _female.animBody.Update(0.0f); _info.animeInfo.group = group; _info.animeInfo.category = category; _info.animeInfo.no = no; _info.animeNormalizedTime = animeNormalizedTime; } IKSolver ikSolver = ((IK)ociCharFemale.finalIK).GetIKSolver(); if (!ikSolver.get_initiated()) { ikSolver.Initiate(((Component)ociCharFemale.finalIK).get_transform()); } if (_addInfo) { Studio.Studio.AddInfo((ObjectInfo)_info, (ObjectCtrlInfo)ociCharFemale); } else { Studio.Studio.AddObjectCtrlInfo((ObjectCtrlInfo)ociCharFemale); } TreeNodeObject _parent1 = !Object.op_Inequality((Object)_parentNode, (Object)null) ? (_parent == null ? (TreeNodeObject)null : _parent.treeNodeObject) : _parentNode; TreeNodeObject treeNodeObject = Studio.Studio.AddNode(_info.charFile.parameter.fullname, _parent1); treeNodeObject.enableChangeParent = true; treeNodeObject.treeState = _info.treeState; treeNodeObject.onVisible += new TreeNodeObject.OnVisibleFunc(((ObjectCtrlInfo)ociCharFemale).OnVisible); treeNodeObject.enableVisible = true; treeNodeObject.visible = _info.visible; guideObject.guideSelect.treeNodeObject = treeNodeObject; ociCharFemale.treeNodeObject = treeNodeObject; _info.changeAmount.OnChange(); AddObjectAssist.InitBone((OCIChar)ociCharFemale, _female.objBodyBone.get_transform(), Singleton <Info> .Instance.dicBoneInfo); AddObjectAssist.InitIKTarget((OCIChar)ociCharFemale, _addInfo); AddObjectAssist.InitLookAt((OCIChar)ociCharFemale); AddObjectAssist.InitAccessoryPoint((OCIChar)ociCharFemale); ociCharFemale.voiceCtrl.ociChar = (OCIChar)ociCharFemale; ociCharFemale.InitKinematic(((Component)_female).get_gameObject(), ociCharFemale.finalIK, _female.neckLookCtrl, (DynamicBone[])null, AddObjectFemale.GetSkirtDynamic(_female.objClothes)); treeNodeObject.enableAddChild = false; Studio.Studio.AddCtrlInfo((ObjectCtrlInfo)ociCharFemale); _parent?.OnLoadAttach(!Object.op_Inequality((Object)_parentNode, (Object)null) ? _parent.treeNodeObject : _parentNode, (ObjectCtrlInfo)ociCharFemale); if (_initialPosition == 1) { _info.changeAmount.pos = Singleton <Studio.Studio> .Instance.cameraCtrl.targetPos; } ociCharFemale.LoadAnime(_info.animeInfo.group, _info.animeInfo.category, _info.animeInfo.no, _info.animeNormalizedTime); for (int index = 0; index < 5; ++index) { ociCharFemale.ActiveIK((OIBoneInfo.BoneGroup)(1 << index), _info.activeIK[index], false); } ociCharFemale.ActiveKinematicMode(OICharInfo.KinematicMode.IK, _info.enableIK, true); // ISSUE: object of a compiler-generated type is created foreach (\u003C\u003E__AnonType18 <OIBoneInfo.BoneGroup, int> anonType18 in ((IEnumerable <OIBoneInfo.BoneGroup>)FKCtrl.parts).Select <OIBoneInfo.BoneGroup, \u003C\u003E__AnonType18 <OIBoneInfo.BoneGroup, int> >((Func <OIBoneInfo.BoneGroup, int, \u003C\u003E__AnonType18 <OIBoneInfo.BoneGroup, int> >)((p, i) => new \u003C\u003E__AnonType18 <OIBoneInfo.BoneGroup, int>(p, i)))) { ociCharFemale.ActiveFK(anonType18.p, ociCharFemale.oiCharInfo.activeFK[anonType18.i], false); } ociCharFemale.ActiveKinematicMode(OICharInfo.KinematicMode.FK, _info.enableFK, true); for (int categoryNo = 0; categoryNo < _info.expression.Length; ++categoryNo) { ociCharFemale.charInfo.EnableExpressionCategory(categoryNo, _info.expression[categoryNo]); } ociCharFemale.animeSpeed = ociCharFemale.animeSpeed; ociCharFemale.animeOptionParam1 = ociCharFemale.animeOptionParam1; ociCharFemale.animeOptionParam2 = ociCharFemale.animeOptionParam2; foreach (byte num in _female.fileStatus.siruLv) { num = (byte)0; } _status.visibleSonAlways = _info.visibleSon; ociCharFemale.SetSonLength(_info.sonLength); ociCharFemale.SetVisibleSimple(_info.visibleSimple); ociCharFemale.SetSimpleColor(_info.simpleColor); AddObjectAssist.UpdateState((OCIChar)ociCharFemale, _status); return(ociCharFemale); }
public static void InitBone( OCIChar _ociChar, Transform _transformRoot, Dictionary <int, Info.BoneInfo> _dicBoneInfo) { Dictionary <int, OCIChar.BoneInfo> dictionary = new Dictionary <int, OCIChar.BoneInfo>(); foreach (KeyValuePair <int, Info.BoneInfo> keyValuePair in _dicBoneInfo) { if (_ociChar.sex != 1 || keyValuePair.Value.level != 2) { GameObject loop; switch (keyValuePair.Value.group) { case 7: case 8: case 9: loop = _ociChar.charReference.GetReferenceInfo(ChaReference.RefObjKey.HeadParent).get_transform().FindLoop(keyValuePair.Value.bone); break; default: loop = _transformRoot.FindLoop(keyValuePair.Value.bone); if (Object.op_Equality((Object)loop, (Object)null)) { Debug.LogWarning((object)keyValuePair.Value.bone); break; } break; } if (!Object.op_Equality((Object)loop, (Object)null)) { OCIChar.BoneInfo boneInfo1 = (OCIChar.BoneInfo)null; if (dictionary.TryGetValue(keyValuePair.Value.sync, out boneInfo1)) { boneInfo1.AddSyncBone(loop); } else { OIBoneInfo _boneInfo = (OIBoneInfo)null; if (!_ociChar.oiCharInfo.bones.TryGetValue(keyValuePair.Key, out _boneInfo)) { _boneInfo = new OIBoneInfo(Studio.Studio.GetNewIndex()); _ociChar.oiCharInfo.bones.Add(keyValuePair.Key, _boneInfo); } switch (keyValuePair.Value.group) { case 0: case 1: case 2: case 3: case 4: _boneInfo.group = (OIBoneInfo.BoneGroup)(1 << keyValuePair.Value.group | 1); break; case 7: case 8: case 9: _boneInfo.group = OIBoneInfo.BoneGroup.Hair; break; case 10: _boneInfo.group = OIBoneInfo.BoneGroup.Neck; break; case 11: case 12: _boneInfo.group = OIBoneInfo.BoneGroup.Breast; break; case 13: _boneInfo.group = OIBoneInfo.BoneGroup.Skirt; break; default: _boneInfo.group = (OIBoneInfo.BoneGroup)(1 << keyValuePair.Value.group); break; } _boneInfo.level = keyValuePair.Value.level; GuideObject _guideObject = AddObjectAssist.AddBoneGuide(loop.get_transform(), _boneInfo.dicKey, _ociChar.guideObject, keyValuePair.Value.name); switch (_boneInfo.group) { case OIBoneInfo.BoneGroup.RightHand: case OIBoneInfo.BoneGroup.LeftHand: _guideObject.scaleSelect = 0.025f; break; } OCIChar.BoneInfo boneInfo2 = new OCIChar.BoneInfo(_guideObject, _boneInfo, keyValuePair.Key); _ociChar.listBones.Add(boneInfo2); _guideObject.SetActive(false, true); if (keyValuePair.Value.no == 65) { _ociChar.transSon = loop.get_transform(); } if (keyValuePair.Value.sync != -1) { dictionary.Add(keyValuePair.Key, boneInfo2); } } } } } _ociChar.UpdateFKColor(FKCtrl.parts); }