public static void InitAid(OCIRoutePoint _ocirp) { bool flag = _ocirp.routePointInfo.aidInfo == null; if (flag) { _ocirp.routePointInfo.aidInfo = new OIRoutePointAidInfo(Studio.Studio.GetNewIndex()); } Transform transform = _ocirp.routePoint.objAid.get_transform(); if (flag) { _ocirp.routePointInfo.aidInfo.changeAmount.pos = transform.get_localPosition(); } GuideObject _guideObject = Singleton <GuideObjectManager> .Instance.Add(transform, _ocirp.routePointInfo.aidInfo.dicKey); _guideObject.enableRot = false; _guideObject.enableScale = false; _guideObject.enableMaluti = false; _guideObject.scaleSelect = 0.1f; _guideObject.scaleRot = 0.05f; _guideObject.parentGuide = _ocirp.guideObject; _guideObject.changeAmount.OnChange(); _guideObject.mode = GuideObject.Mode.World; _guideObject.moveCalc = GuideMove.MoveCalc.TYPE2; _ocirp.pointAidInfo = new OCIRoutePoint.PointAidInfo(_guideObject, _ocirp.routePointInfo.aidInfo); _ocirp.pointAidInfo.active = false; _ocirp.routePointInfo.aidInfo.changeAmount.onChangePosAfter += new Action(_ocirp.route.UpdateLine); }
private void Awake() { this.m_DicKey = -1; this.isActiveFunc = (GuideObject.IsActiveFunc)null; this.parentGuide = (GuideObject)null; this.enableMaluti = true; this.calcScale = true; this.visibleTranslation = Singleton <Studio.Studio> .Instance.workInfo.visibleAxisTranslation; this.visibleCenter = Singleton <Studio.Studio> .Instance.workInfo.visibleAxisCenter; this.SetVisibleCenter(false); Renderer component = (Renderer)this.objectSelect.GetComponent <Renderer>(); if (Object.op_Implicit((Object)component)) { component.get_material().set_renderQueue(3500); } ObservableExtensions.Subscribe <bool>((IObservable <M0>) this._visible, (Action <M0>)(_b => { foreach (GuideBase guideBase in this.guide) { guideBase.draw = _b & this.visibleOutside; } })); ObservableExtensions.Subscribe <bool>((IObservable <M0>) this._visibleOutside, (Action <M0>)(_b => { foreach (GuideBase guideBase in this.guide) { guideBase.draw = _b & this.visible; } })); for (int index = 0; index < this.guide.Length; ++index) { this.guide[index].guideObject = this; } }
private bool SetGuideObject(GuideObject _object) { bool flag = Input.GetKey((KeyCode)306) || Input.GetKey((KeyCode)305); bool key = Input.GetKey((KeyCode)120); if (flag && !key) { if (this.hashSelectObject.Contains(_object)) { return(false); } this.AddObject(_object); } else { foreach (GuideObject guideObject in this.hashSelectObject) { ChangeAmount changeAmount = guideObject.changeAmount; changeAmount.onChangePos -= new Action(this.SetInputTextPos); changeAmount.onChangeRot -= new Action(this.SetInputTextRot); changeAmount.onChangeScale -= new Action <Vector3>(this.SetInputTextScale); } this.hashSelectObject.Clear(); this.AddObject(_object); } return(true); }
public static void InitLookAt(OCIChar _ociChar) { bool flag = _ociChar.oiCharInfo.lookAtTarget == null; if (flag) { _ociChar.oiCharInfo.lookAtTarget = new LookAtTargetInfo(Studio.Studio.GetNewIndex()); } Transform lookAtTarget = _ociChar.preparation.LookAtTarget; if (flag) { _ociChar.oiCharInfo.lookAtTarget.changeAmount.pos = lookAtTarget.get_localPosition(); } GuideObject _guideObject = Singleton <GuideObjectManager> .Instance.Add(lookAtTarget, _ociChar.oiCharInfo.lookAtTarget.dicKey); _guideObject.enableRot = false; _guideObject.enableScale = false; _guideObject.enableMaluti = false; _guideObject.scaleRate = 0.5f; _guideObject.scaleSelect = 0.25f; _guideObject.parentGuide = _ociChar.guideObject; _guideObject.changeAmount.OnChange(); _guideObject.mode = GuideObject.Mode.World; _guideObject.moveCalc = GuideMove.MoveCalc.TYPE2; _ociChar.lookAtInfo = new OCIChar.LookAtInfo(_guideObject, _ociChar.oiCharInfo.lookAtTarget); _ociChar.lookAtInfo.active = false; }
public void AddSelectMultiple(GuideObject _object) { if (this.hashSelectObject.Contains(_object)) { return; } this.AddObject(_object); this.SetInputText(); }
public void AddSelectMultiple(GuideObject _object) { if (Object.op_Equality((Object)_object, (Object)null) || this.hashSelectObject.Contains(_object) || this.hashSelectObject.Count != 0 && !_object.enableMaluti) { return; } this.AddObject(_object, this.hashSelectObject.Count == 0); this.guideInput.AddSelectMultiple(_object); }
private void SetSelectObject(GuideObject _object, bool _multiple = true) { bool flag = Input.GetKey((KeyCode)306) || Input.GetKey((KeyCode)305); bool key = Input.GetKey((KeyCode)120); if (_multiple && flag && !key) { if (Object.op_Equality((Object)_object, (Object)null) || this.hashSelectObject.Contains(_object) || this.hashSelectObject.Count != 0 && !_object.enableMaluti) { return; } this.AddObject(_object, this.hashSelectObject.Count == 0); } else { switch (Studio.Studio.optionSystem.selectedState) { case 0: this.StopSelectObject(); break; case 1: GuideObject selectObject = this.selectObject; if (!Object.op_Equality((Object)selectObject, (Object)null)) { if (!selectObject.isChild) { if (Object.op_Implicit((Object)_object) && _object.isChild) { selectObject.SetActive(false, false); break; } this.StopSelectObject(); break; } selectObject.SetActive(false, false); break; } break; } this.hashSelectObject.Clear(); if (Object.op_Implicit((Object)_object) && !_object.enables[this.m_Mode]) { for (int index = 0; index < 3; ++index) { if (_object.enables[index]) { this.mode = index; break; } } } this.AddObject(_object, true); } this.guideInput.guideObject = _object; }
public static OCIFolder Load( OIFolderInfo _info, ObjectCtrlInfo _parent, TreeNodeObject _parentNode, bool _addInfo, int _initialPosition) { OCIFolder ociFolder = new OCIFolder(); ociFolder.objectInfo = (ObjectInfo)_info; GameObject gameObject = new GameObject(_info.name); if (Object.op_Equality((Object)gameObject, (Object)null)) { Studio.Studio.DeleteIndex(_info.dicKey); return((OCIFolder)null); } gameObject.get_transform().SetParent(Singleton <Scene> .Instance.commonSpace.get_transform()); ociFolder.objectItem = gameObject; GuideObject guideObject = Singleton <GuideObjectManager> .Instance.Add(gameObject.get_transform(), _info.dicKey); guideObject.isActive = false; guideObject.scaleSelect = 0.1f; guideObject.scaleRot = 0.05f; guideObject.enableScale = false; guideObject.SetVisibleCenter(true); ociFolder.guideObject = guideObject; ociFolder.childRoot = gameObject.get_transform(); if (_addInfo) { Studio.Studio.AddInfo((ObjectInfo)_info, (ObjectCtrlInfo)ociFolder); } else { Studio.Studio.AddObjectCtrlInfo((ObjectCtrlInfo)ociFolder); } TreeNodeObject _parent1 = !Object.op_Inequality((Object)_parentNode, (Object)null) ? (_parent == null ? (TreeNodeObject)null : _parent.treeNodeObject) : _parentNode; TreeNodeObject treeNodeObject = Studio.Studio.AddNode(_info.name, _parent1); treeNodeObject.treeState = _info.treeState; treeNodeObject.enableVisible = true; treeNodeObject.visible = _info.visible; treeNodeObject.baseColor = Utility.ConvertColor(180, 150, 5); treeNodeObject.colorSelect = treeNodeObject.baseColor; guideObject.guideSelect.treeNodeObject = treeNodeObject; ociFolder.treeNodeObject = treeNodeObject; if (_initialPosition == 1) { _info.changeAmount.pos = Singleton <Studio.Studio> .Instance.cameraCtrl.targetPos; } _info.changeAmount.OnChange(); Studio.Studio.AddCtrlInfo((ObjectCtrlInfo)ociFolder); _parent?.OnLoadAttach(!Object.op_Inequality((Object)_parentNode, (Object)null) ? _parent.treeNodeObject : _parentNode, (ObjectCtrlInfo)ociFolder); return(ociFolder); }
private void SetInputTextScale(Vector3 _value) { GuideObject guideObject = this.hashSelectObject.ElementAtOrDefault <GuideObject>(0); Vector3 baseValue = !Object.op_Inequality((Object)guideObject, (Object)null) ? Vector3.get_zero() : guideObject.changeAmount.scale; IEnumerable <Vector3> source = this.hashSelectObject.Select <GuideObject, Vector3>((Func <GuideObject, Vector3>)(v => v.changeAmount.scale)); for (int i = 0; i < 3; ++i) { this.inputScale[i].set_text(!source.All <Vector3>((Func <Vector3, bool>)(_v => Mathf.Approximately(((Vector3) ref _v).get_Item(i), ((Vector3) ref baseValue).get_Item(i)))) ? "-" : ((Vector3) ref baseValue).get_Item(i).ToString("0.#####")); } }
private void AddObject(GuideObject _object) { if (Object.op_Equality((Object)_object, (Object)null)) { return; } ChangeAmount changeAmount = _object.changeAmount; changeAmount.onChangePos += new Action(this.SetInputTextPos); changeAmount.onChangeRot += new Action(this.SetInputTextRot); changeAmount.onChangeScale += new Action <Vector3>(this.SetInputTextScale); this.hashSelectObject.Add(_object); }
private bool DeselectGuideObject(GuideObject _object) { if (Object.op_Equality((Object)_object, (Object)null) || !this.hashSelectObject.Contains(_object)) { return(false); } ChangeAmount changeAmount = _object.changeAmount; changeAmount.onChangePos -= new Action(this.SetInputTextPos); changeAmount.onChangeRot -= new Action(this.SetInputTextRot); changeAmount.onChangeScale -= new Action <Vector3>(this.SetInputTextScale); this.hashSelectObject.Remove(_object); return(true); }
public OCIRoutePoint( OCIRoute _route, OIRoutePointInfo _info, GameObject _obj, GuideObject _guide, TreeNodeObject _treeNode) { this.route = _route; this.objectInfo = (ObjectInfo)_info; this.objectItem = _obj; this.guideObject = _guide; this.treeNodeObject = _treeNode; this.routePoint = (RoutePointComponent)_obj.GetComponent <RoutePointComponent>(); this.isParentDelete = false; this._line = (VectorLine)null; }
public GuideObject Add(Transform _target, int _dicKey) { GameObject gameObject = (GameObject)Object.Instantiate <GameObject>((M0)this.objectOriginal); gameObject.get_transform().SetParent(this.transformWorkplace); GuideObject component1 = (GuideObject)gameObject.GetComponent <GuideObject>(); component1.transformTarget = _target; component1.dicKey = _dicKey; this.dicGuideObject.Add(_target, component1); Light component2 = (Light)((Component)_target).GetComponent <Light>(); if (Object.op_Implicit((Object)component2) && component2.get_type() != 1) { this.dicTransLight.Add(_target, component2); } return(component1); }
private static GuideObject AddBoneGuide( Transform _target, int _dicKey, GuideObject _parent, string _name) { GuideObject guideObject = Singleton <GuideObjectManager> .Instance.Add(_target, _dicKey); guideObject.enablePos = false; guideObject.enableScale = false; guideObject.enableMaluti = false; guideObject.calcScale = false; guideObject.scaleRate = 0.5f; guideObject.scaleRot = 0.025f; guideObject.scaleSelect = 0.05f; guideObject.parentGuide = _parent; return(guideObject); }
private void AddObject(GuideObject _object, bool _active = true) { if (Object.op_Equality((Object)_object, (Object)null)) { return; } if (_active) { _object.isActive = true; } Light _light = (Light)null; if (this.dicTransLight.TryGetValue(_object.transformTarget, out _light)) { this.drawLightLine.Add(_light); this.dicGuideLight.Add(_object, _light); } this.hashSelectObject.Add(_object); }
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); }
public void Delete(GuideObject _object, bool _destroy = true) { if (Object.op_Equality((Object)_object, (Object)null)) { return; } if (this.hashSelectObject.Contains(_object)) { this.SetSelectObject((GuideObject)null, false); } this.dicGuideObject.Remove(_object.transformTarget); this.dicTransLight.Remove(_object.transformTarget); this.dicGuideLight.Remove(_object); if (_destroy) { Object.DestroyImmediate((Object)((Component)_object).get_gameObject()); } if (!Object.op_Equality((Object)this.operationTarget, (Object)_object)) { return; } this.operationTarget = (GuideObject)null; }
public void InitBone(OCIItem _ociItem, Info.ItemLoadInfo _loadInfo, bool _isNew) { Transform transform = _ociItem.objectItem.get_transform(); _ociItem.listBones = new List <OCIChar.BoneInfo>(); foreach (string bone in _loadInfo.bones) { GameObject loop = transform.FindLoop(bone); if (Object.op_Equality((Object)loop, (Object)null)) { Debug.LogWarning((object)string.Format("無い : {0}", (object)bone)); } else { OIBoneInfo _boneInfo = (OIBoneInfo)null; if (!_ociItem.itemInfo.bones.TryGetValue(bone, out _boneInfo)) { _boneInfo = new OIBoneInfo(Studio.Studio.GetNewIndex()); _ociItem.itemInfo.bones.Add(bone, _boneInfo); } GuideObject _guideObject = Singleton <GuideObjectManager> .Instance.Add(loop.get_transform(), _boneInfo.dicKey); _guideObject.enablePos = false; _guideObject.enableScale = false; _guideObject.enableMaluti = false; _guideObject.calcScale = false; _guideObject.scaleRate = 0.5f; _guideObject.scaleRot = 0.025f; _guideObject.scaleSelect = 0.05f; _guideObject.parentGuide = _ociItem.guideObject; _ociItem.listBones.Add(new OCIChar.BoneInfo(_guideObject, _boneInfo, -1)); _guideObject.SetActive(false, true); this.listBones.Add(new ItemFKCtrl.TargetInfo(loop, _boneInfo.changeAmount, _isNew)); } } this.count = this.listBones.Count; }
private void SetDeselectObject(GuideObject _object) { if (Object.op_Equality((Object)_object, (Object)null)) { return; } bool isActive = _object.isActive; _object.isActive = false; Light _light = (Light)null; if (this.dicTransLight.TryGetValue(_object.transformTarget, out _light)) { this.drawLightLine.Remove(_light); this.dicGuideLight.Remove(_object); } this.hashSelectObject.Remove(_object); this.guideInput.deselectObject = _object; if (this.hashSelectObject.Count <= 0 || !isActive) { return; } this.selectObject.isActive = true; }
public static OCILight Load( OILightInfo _info, ObjectCtrlInfo _parent, TreeNodeObject _parentNode, bool _addInfo, int _initialPosition) { OCILight ociLight = new OCILight(); Info.LightLoadInfo lightLoadInfo = (Info.LightLoadInfo)null; if (!Singleton <Info> .Instance.dicLightLoadInfo.TryGetValue(_info.no, out lightLoadInfo)) { Debug.LogError((object)string.Format("存在しない番号[{0}]", (object)_info.no)); return((OCILight)null); } ociLight.objectInfo = (ObjectInfo)_info; GameObject gameObject = Utility.LoadAsset <GameObject>(lightLoadInfo.bundlePath, lightLoadInfo.fileName, lightLoadInfo.manifest); gameObject.get_transform().SetParent(Singleton <Scene> .Instance.commonSpace.get_transform()); ociLight.objectLight = gameObject; GuideObject guideObject = Singleton <GuideObjectManager> .Instance.Add(gameObject.get_transform(), _info.dicKey); guideObject.scaleSelect = 0.1f; guideObject.scaleRot = 0.05f; guideObject.isActive = false; guideObject.enableScale = false; guideObject.SetVisibleCenter(true); ociLight.guideObject = guideObject; ociLight.lightColor = (LightColor)gameObject.GetComponent <LightColor>(); if (Object.op_Implicit((Object)ociLight.lightColor)) { ociLight.lightColor.color = _info.color; } ociLight.lightTarget = lightLoadInfo.target; switch (lightLoadInfo.target) { case Info.LightLoadInfo.Target.Chara: int num1 = ociLight.light.get_cullingMask() ^ LayerMask.GetMask(new string[2] { "Map", "MapNoShadow" }); ociLight.light.set_cullingMask(num1); break; case Info.LightLoadInfo.Target.Map: int num2 = ociLight.light.get_cullingMask() ^ LayerMask.GetMask(new string[1] { "Chara" }); ociLight.light.set_cullingMask(num2); break; } if (_addInfo) { Studio.Studio.AddInfo((ObjectInfo)_info, (ObjectCtrlInfo)ociLight); } else { Studio.Studio.AddObjectCtrlInfo((ObjectCtrlInfo)ociLight); } TreeNodeObject _parent1 = !Object.op_Inequality((Object)_parentNode, (Object)null) ? (_parent == null ? (TreeNodeObject)null : _parent.treeNodeObject) : _parentNode; TreeNodeObject treeNodeObject = Studio.Studio.AddNode(lightLoadInfo.name, _parent1); treeNodeObject.enableAddChild = false; treeNodeObject.treeState = _info.treeState; guideObject.guideSelect.treeNodeObject = treeNodeObject; ociLight.treeNodeObject = treeNodeObject; if (_initialPosition == 1) { _info.changeAmount.pos = Singleton <Studio.Studio> .Instance.cameraCtrl.targetPos; } _info.changeAmount.OnChange(); Studio.Studio.AddCtrlInfo((ObjectCtrlInfo)ociLight); _parent?.OnLoadAttach(!Object.op_Inequality((Object)_parentNode, (Object)null) ? _parent.treeNodeObject : _parentNode, (ObjectCtrlInfo)ociLight); ociLight.Update(); return(ociLight); }
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 OCIItem Load( OIItemInfo _info, ObjectCtrlInfo _parent, TreeNodeObject _parentNode, bool _addInfo, int _initialPosition) { OCIItem _ociItem = new OCIItem(); Info.ItemLoadInfo loadInfo = AddObjectItem.GetLoadInfo(_info.group, _info.category, _info.no); if (loadInfo == null) { Debug.LogWarningFormat("存在しない : G[{0}] : C[{1}] : N[{2}]", new object[3] { (object)_info.group, (object)_info.category, (object)_info.no }); loadInfo = AddObjectItem.GetLoadInfo(0, 0, 399); } _ociItem.objectInfo = (ObjectInfo)_info; GameObject gameObject = CommonLib.LoadAsset <GameObject>(loadInfo.bundlePath, loadInfo.fileName, true, loadInfo.manifest); if (Object.op_Equality((Object)gameObject, (Object)null)) { Debug.LogError((object)string.Format("読み込み失敗 : {0} : {1} : {2}", (object)loadInfo.manifest, (object)loadInfo.bundlePath, (object)loadInfo.fileName)); Studio.Studio.DeleteIndex(_info.dicKey); return((OCIItem)null); } gameObject.get_transform().SetParent(Singleton <Scene> .Instance.commonSpace.get_transform()); _ociItem.objectItem = gameObject; _ociItem.itemComponent = (ItemComponent)gameObject.GetComponent <ItemComponent>(); _ociItem.arrayRender = ((IEnumerable <Renderer>)gameObject.GetComponentsInChildren <Renderer>()).Where <Renderer>((Func <Renderer, bool>)(v => v.get_enabled())).ToArray <Renderer>(); ParticleSystem[] componentsInChildren = (ParticleSystem[])gameObject.GetComponentsInChildren <ParticleSystem>(); if (!((IList <ParticleSystem>)componentsInChildren).IsNullOrEmpty <ParticleSystem>()) { _ociItem.arrayParticle = ((IEnumerable <ParticleSystem>)componentsInChildren).Where <ParticleSystem>((Func <ParticleSystem, bool>)(v => v.get_isPlaying())).ToArray <ParticleSystem>(); } MeshCollider component = (MeshCollider)gameObject.GetComponent <MeshCollider>(); if (Object.op_Implicit((Object)component)) { ((Collider)component).set_enabled(false); } _ociItem.dynamicBones = (DynamicBone[])gameObject.GetComponentsInChildren <DynamicBone>(); GuideObject guideObject = Singleton <GuideObjectManager> .Instance.Add(gameObject.get_transform(), _info.dicKey); guideObject.isActive = false; guideObject.scaleSelect = 0.1f; guideObject.scaleRot = 0.05f; guideObject.isActiveFunc += new GuideObject.IsActiveFunc(((ObjectCtrlInfo)_ociItem).OnSelect); guideObject.enableScale = !Object.op_Inequality((Object)_ociItem.itemComponent, (Object)null) || _ociItem.itemComponent.isScale; guideObject.SetVisibleCenter(true); _ociItem.guideObject = guideObject; if (Object.op_Inequality((Object)_ociItem.itemComponent, (Object)null) && Object.op_Inequality((Object)_ociItem.itemComponent.childRoot, (Object)null)) { _ociItem.childRoot = _ociItem.itemComponent.childRoot; } if (Object.op_Equality((Object)_ociItem.childRoot, (Object)null)) { _ociItem.childRoot = gameObject.get_transform(); } _ociItem.animator = (Animator)gameObject.GetComponentInChildren <Animator>(); if (Object.op_Implicit((Object)_ociItem.animator)) { ((Behaviour)_ociItem.animator).set_enabled(Object.op_Inequality((Object)_ociItem.itemComponent, (Object)null) && _ociItem.itemComponent.isAnime); } if (Object.op_Inequality((Object)_ociItem.itemComponent, (Object)null)) { _ociItem.itemComponent.SetGlass(); _ociItem.itemComponent.SetEmission(); if (_addInfo && _ociItem.itemComponent.check) { Color[] defColorMain = _ociItem.itemComponent.defColorMain; for (int index = 0; index < 3; ++index) { _info.colors[index].mainColor = defColorMain[index]; } Color[] defColorPattern = _ociItem.itemComponent.defColorPattern; for (int index = 0; index < 3; ++index) { _info.colors[index].pattern.color = defColorPattern[index]; _info.colors[index].metallic = _ociItem.itemComponent.info[index].defMetallic; _info.colors[index].glossiness = _ociItem.itemComponent.info[index].defGlossiness; _info.colors[index].pattern.clamp = _ociItem.itemComponent.info[index].defClamp; _info.colors[index].pattern.uv = _ociItem.itemComponent.info[index].defUV; _info.colors[index].pattern.rot = _ociItem.itemComponent.info[index].defRot; } _info.colors[3].mainColor = _ociItem.itemComponent.defGlass; _info.emissionColor = _ociItem.itemComponent.DefEmissionColor; _info.emissionPower = _ociItem.itemComponent.defEmissionStrength; _info.lightCancel = _ociItem.itemComponent.defLightCancel; } _ociItem.itemComponent.SetupSea(); } _ociItem.particleComponent = (ParticleComponent)gameObject.GetComponent <ParticleComponent>(); if (Object.op_Inequality((Object)_ociItem.particleComponent, (Object)null) && _addInfo) { _info.colors[0].mainColor = _ociItem.particleComponent.defColor01; } _ociItem.iconComponent = (IconComponent)gameObject.GetComponent <IconComponent>(); if (Object.op_Inequality((Object)_ociItem.iconComponent, (Object)null)) { _ociItem.iconComponent.Layer = LayerMask.NameToLayer("Studio/Camera"); } _ociItem.VisibleIcon = Singleton <Studio.Studio> .Instance.workInfo.visibleGimmick; _ociItem.panelComponent = (PanelComponent)gameObject.GetComponent <PanelComponent>(); if (_addInfo && Object.op_Inequality((Object)_ociItem.panelComponent, (Object)null)) { _info.colors[0].mainColor = _ociItem.panelComponent.defColor; _info.colors[0].pattern.uv = _ociItem.panelComponent.defUV; _info.colors[0].pattern.clamp = _ociItem.panelComponent.defClamp; _info.colors[0].pattern.rot = _ociItem.panelComponent.defRot; } _ociItem.seComponent = (SEComponent)gameObject.GetComponent <SEComponent>(); if (_addInfo && Object.op_Inequality((Object)_ociItem.itemComponent, (Object)null) && !((IList <ItemComponent.OptionInfo>)_ociItem.itemComponent.optionInfos).IsNullOrEmpty <ItemComponent.OptionInfo>()) { _info.option = Enumerable.Repeat <bool>(true, _ociItem.itemComponent.optionInfos.Length).ToList <bool>(); } if (_addInfo) { Studio.Studio.AddInfo((ObjectInfo)_info, (ObjectCtrlInfo)_ociItem); } else { Studio.Studio.AddObjectCtrlInfo((ObjectCtrlInfo)_ociItem); } TreeNodeObject _parent1 = !Object.op_Inequality((Object)_parentNode, (Object)null) ? (_parent == null ? (TreeNodeObject)null : _parent.treeNodeObject) : _parentNode; TreeNodeObject treeNodeObject = Studio.Studio.AddNode(loadInfo.name, _parent1); treeNodeObject.treeState = _info.treeState; treeNodeObject.onVisible += new TreeNodeObject.OnVisibleFunc(((ObjectCtrlInfo)_ociItem).OnVisible); treeNodeObject.enableVisible = true; treeNodeObject.visible = _info.visible; guideObject.guideSelect.treeNodeObject = treeNodeObject; _ociItem.treeNodeObject = treeNodeObject; if (!loadInfo.bones.IsNullOrEmpty <string>()) { _ociItem.itemFKCtrl = (ItemFKCtrl)gameObject.AddComponent <ItemFKCtrl>(); _ociItem.itemFKCtrl.InitBone(_ociItem, loadInfo, _addInfo); } else { _ociItem.itemFKCtrl = (ItemFKCtrl)null; } if (_initialPosition == 1) { _info.changeAmount.pos = Singleton <Studio.Studio> .Instance.cameraCtrl.targetPos; } _info.changeAmount.OnChange(); Studio.Studio.AddCtrlInfo((ObjectCtrlInfo)_ociItem); _parent?.OnLoadAttach(!Object.op_Inequality((Object)_parentNode, (Object)null) ? _parent.treeNodeObject : _parentNode, (ObjectCtrlInfo)_ociItem); if (Object.op_Implicit((Object)_ociItem.animator)) { if (_info.animePattern != 0) { _ociItem.SetAnimePattern(_info.animePattern); } _ociItem.animator.set_speed(_info.animeSpeed); if ((double)_info.animeNormalizedTime != 0.0 && _ociItem.animator.get_layerCount() != 0) { _ociItem.animator.Update(1f); AnimatorStateInfo animatorStateInfo = _ociItem.animator.GetCurrentAnimatorStateInfo(0); _ociItem.animator.Play(((AnimatorStateInfo) ref animatorStateInfo).get_shortNameHash(), 0, _info.animeNormalizedTime); } } _ociItem.SetupPatternTex(); _ociItem.SetMainTex(); _ociItem.UpdateColor(); _ociItem.ActiveFK(_ociItem.itemInfo.enableFK); _ociItem.UpdateFKColor(); _ociItem.ActiveDynamicBone(_ociItem.itemInfo.enableDynamicBone); _ociItem.UpdateOption(); _ociItem.particleComponent?.PlayOnLoad(); return(_ociItem); }
public static OCICamera Load( OICameraInfo _info, ObjectCtrlInfo _parent, TreeNodeObject _parentNode, bool _addInfo, int _initialPosition) { OCICamera ocic = new OCICamera(); ocic.objectInfo = (ObjectInfo)_info; GameObject gameObject = CommonLib.LoadAsset <GameObject>("studio/base/00.unity3d", "p_koi_stu_cameraicon00_00", true, string.Empty); if (Object.op_Equality((Object)gameObject, (Object)null)) { Studio.Studio.DeleteIndex(_info.dicKey); return((OCICamera)null); } gameObject.get_transform().SetParent(Singleton <Scene> .Instance.commonSpace.get_transform()); ocic.objectItem = gameObject; ocic.meshRenderer = (MeshRenderer)gameObject.GetComponent <MeshRenderer>(); GuideObject guideObject = Singleton <GuideObjectManager> .Instance.Add(gameObject.get_transform(), _info.dicKey); guideObject.isActive = false; guideObject.scaleSelect = 0.1f; guideObject.scaleRot = 0.05f; guideObject.enableScale = false; ocic.guideObject = guideObject; if (_addInfo) { Studio.Studio.AddInfo((ObjectInfo)_info, (ObjectCtrlInfo)ocic); } else { Studio.Studio.AddObjectCtrlInfo((ObjectCtrlInfo)ocic); } TreeNodeObject _parent1 = !Object.op_Inequality((Object)_parentNode, (Object)null) ? (_parent == null ? (TreeNodeObject)null : _parent.treeNodeObject) : _parentNode; TreeNodeObject treeNodeObject = Studio.Studio.AddNode(_info.name, _parent1); treeNodeObject.onVisible += new TreeNodeObject.OnVisibleFunc(((ObjectCtrlInfo)ocic).OnVisible); treeNodeObject.treeState = _info.treeState; treeNodeObject.enableVisible = true; treeNodeObject.enableAddChild = false; treeNodeObject.visible = _info.visible; treeNodeObject.baseColor = !_info.active ? AddObjectCamera.baseColor : AddObjectCamera.activeColor; treeNodeObject.colorSelect = treeNodeObject.baseColor; guideObject.guideSelect.treeNodeObject = treeNodeObject; ocic.treeNodeObject = treeNodeObject; ObservableExtensions.Subscribe <PointerEventData>((IObservable <M0>)ObservableTriggerExtensions.OnPointerClickAsObservable((UIBehaviour)treeNodeObject.buttonSelect), (Action <M0>)(_ped => { if (_ped.get_button() != 1) { return; } Singleton <Studio.Studio> .Instance.ChangeCamera(ocic); Singleton <Studio.Studio> .Instance.manipulatePanelCtrl.UpdateInfo(5); })); if (_initialPosition == 1) { _info.changeAmount.pos = Singleton <Studio.Studio> .Instance.cameraCtrl.targetPos; } _info.changeAmount.OnChange(); Studio.Studio.AddCtrlInfo((ObjectCtrlInfo)ocic); _parent?.OnLoadAttach(!Object.op_Inequality((Object)_parentNode, (Object)null) ? _parent.treeNodeObject : _parentNode, (ObjectCtrlInfo)ocic); Singleton <Studio.Studio> .Instance.ChangeCamera(ocic, _info.active, false); return(ocic); }
public PointAidInfo(GuideObject _guideObject, OIRoutePointAidInfo _aidInfo) { this.guideObject = _guideObject; this.aidInfo = _aidInfo; }
public static OCIRoutePoint LoadPoint( OCIRoute _ocir, OIRoutePointInfo _rpInfo, int _initialPosition) { int index = !_ocir.listPoint.IsNullOrEmpty <OCIRoutePoint>() ? _ocir.listPoint.Count - 1 : -1; GameObject gameObject = CommonLib.LoadAsset <GameObject>("studio/base/00.unity3d", "p_RoutePoint", true, string.Empty); if (Object.op_Equality((Object)gameObject, (Object)null)) { Studio.Studio.DeleteIndex(_rpInfo.dicKey); return((OCIRoutePoint)null); } gameObject.get_transform().SetParent(_ocir.objectItem.get_transform()); GuideObject _guide = Singleton <GuideObjectManager> .Instance.Add(gameObject.get_transform(), _rpInfo.dicKey); _guide.isActive = false; _guide.scaleSelect = 0.1f; _guide.scaleRot = 0.05f; _guide.enablePos = index != -1; _guide.enableRot = index == -1; _guide.enableScale = false; _guide.mode = GuideObject.Mode.World; _guide.moveCalc = GuideMove.MoveCalc.TYPE2; TreeNodeObject childRoot = _ocir.treeNodeObject.childRoot; _ocir.treeNodeObject.childRoot = (TreeNodeObject)null; TreeNodeObject _treeNode = Studio.Studio.AddNode(_rpInfo.name, _ocir.treeNodeObject); _treeNode.treeState = _rpInfo.treeState; _treeNode.enableChangeParent = false; _treeNode.enableDelete = index != -1; _treeNode.enableAddChild = false; _treeNode.enableCopy = false; _treeNode.enableVisible = false; _guide.guideSelect.treeNodeObject = _treeNode; _ocir.treeNodeObject.childRoot = childRoot; OCIRoutePoint _ocirp = new OCIRoutePoint(_ocir, _rpInfo, gameObject, _guide, _treeNode); _ocir.listPoint.Add(_ocirp); _ocir.UpdateNumber(); _treeNode.onVisible += new TreeNodeObject.OnVisibleFunc(((ObjectCtrlInfo)_ocirp).OnVisible); _guide.isActiveFunc += new GuideObject.IsActiveFunc(((ObjectCtrlInfo)_ocirp).OnSelect); Studio.Studio.AddCtrlInfo((ObjectCtrlInfo)_ocirp); AddObjectRoute.InitAid(_ocirp); if (_initialPosition == 1) { if (index == -1) { _rpInfo.changeAmount.pos = _ocir.objectInfo.changeAmount.pos; } else { OCIRoutePoint ociRoutePoint = _ocir.listPoint[index]; _rpInfo.changeAmount.pos = _ocir.objectItem.get_transform().InverseTransformPoint(ociRoutePoint.position); } } _rpInfo.changeAmount.OnChange(); _rpInfo.changeAmount.onChangePosAfter += new Action(_ocir.UpdateLine); _rpInfo.changeAmount.onChangeRot += new Action(_ocir.UpdateLine); _ocirp.connection = _ocirp.connection; return(_ocirp); }
private static OCIChar.IKInfo AddIKTarget( OCIChar _ociChar, IKCtrl _ikCtrl, int _no, Transform _target, bool _usedRot, Transform _bone, bool _isRed) { OIIKTargetInfo _targetInfo = (OIIKTargetInfo)null; bool flag = !_ociChar.oiCharInfo.ikTarget.TryGetValue(_no, out _targetInfo); if (flag) { _targetInfo = new OIIKTargetInfo(Studio.Studio.GetNewIndex()); _ociChar.oiCharInfo.ikTarget.Add(_no, _targetInfo); } switch (_no) { case 0: _targetInfo.group = OIBoneInfo.BoneGroup.Body; break; case 1: case 2: case 3: _targetInfo.group = OIBoneInfo.BoneGroup.LeftArm; break; case 4: case 5: case 6: _targetInfo.group = OIBoneInfo.BoneGroup.RightArm; break; case 7: case 8: case 9: _targetInfo.group = OIBoneInfo.BoneGroup.LeftLeg; break; case 10: case 11: case 12: _targetInfo.group = OIBoneInfo.BoneGroup.RightLeg; break; } GameObject gameObject = new GameObject(((Object)_target).get_name() + "(work)"); gameObject.get_transform().SetParent(((Component)_ociChar.charInfo).get_transform()); GuideObject _guideObject = Singleton <GuideObjectManager> .Instance.Add(gameObject.get_transform(), _targetInfo.dicKey); _guideObject.mode = GuideObject.Mode.LocalIK; _guideObject.enableRot = _usedRot; _guideObject.enableScale = false; _guideObject.enableMaluti = false; _guideObject.calcScale = false; _guideObject.scaleRate = 0.5f; _guideObject.scaleRot = 0.05f; _guideObject.scaleSelect = 0.1f; _guideObject.parentGuide = _ociChar.guideObject; _guideObject.guideSelect.color = !_isRed?Color.get_blue() : Color.get_red(); _guideObject.moveCalc = GuideMove.MoveCalc.TYPE3; OCIChar.IKInfo ikInfo = new OCIChar.IKInfo(_guideObject, _targetInfo, _target, gameObject.get_transform(), _bone); if (!flag) { _targetInfo.changeAmount.OnChange(); } _ikCtrl.addIKInfo = ikInfo; _ociChar.listIKTarget.Add(ikInfo); _guideObject.SetActive(false, true); return(ikInfo); }
public static OCIRoute Load( OIRouteInfo _info, ObjectCtrlInfo _parent, TreeNodeObject _parentNode, bool _addInfo, int _initialPosition) { OCIRoute _ocir = new OCIRoute(); _ocir.objectInfo = (ObjectInfo)_info; GameObject gameObject = CommonLib.LoadAsset <GameObject>("studio/base/00.unity3d", "p_Route", true, string.Empty); if (Object.op_Equality((Object)gameObject, (Object)null)) { Studio.Studio.DeleteIndex(_info.dicKey); return((OCIRoute)null); } gameObject.get_transform().SetParent(Singleton <Scene> .Instance.commonSpace.get_transform()); _ocir.objectItem = gameObject; GuideObject guideObject = Singleton <GuideObjectManager> .Instance.Add(gameObject.get_transform(), _info.dicKey); guideObject.isActive = false; guideObject.scaleSelect = 0.1f; guideObject.scaleRot = 0.05f; guideObject.enableScale = false; guideObject.SetVisibleCenter(true); _ocir.guideObject = guideObject; _ocir.childRoot = gameObject.get_transform().GetChild(0); if (_addInfo) { Studio.Studio.AddInfo((ObjectInfo)_info, (ObjectCtrlInfo)_ocir); } else { Studio.Studio.AddObjectCtrlInfo((ObjectCtrlInfo)_ocir); } TreeNodeObject _parent1 = !Object.op_Inequality((Object)_parentNode, (Object)null) ? (_parent == null ? (TreeNodeObject)null : _parent.treeNodeObject) : _parentNode; TreeNodeObject _parent2 = Studio.Studio.AddNode(_info.name, _parent1); _parent2.treeState = _info.treeState; _parent2.enableVisible = true; _parent2.enableChangeParent = false; _parent2.visible = _info.visible; _parent2.colorSelect = _parent2.baseColor; _parent2.onVisible += new TreeNodeObject.OnVisibleFunc(((ObjectCtrlInfo)_ocir).OnVisible); _parent2.onDelete += new Action(_ocir.OnDeleteNode); _parent2.checkChild += new TreeNodeObject.CheckFunc(_ocir.CheckParentLoop); _parent2.checkParent += new TreeNodeObject.CheckFunc(_ocir.CheckParentLoop); guideObject.guideSelect.treeNodeObject = _parent2; _ocir.treeNodeObject = _parent2; _ocir.routeComponent = (RouteComponent)gameObject.GetComponent <RouteComponent>(); TreeNodeObject treeNodeObject = Studio.Studio.AddNode("子接続先", _parent2); treeNodeObject.enableChangeParent = false; treeNodeObject.enableDelete = false; treeNodeObject.enableCopy = false; treeNodeObject.baseColor = Utility.ConvertColor(204, 128, 164); treeNodeObject.colorSelect = treeNodeObject.baseColor; _parent2.childRoot = treeNodeObject; _ocir.childNodeRoot = treeNodeObject; if (_info.route.IsNullOrEmpty <OIRoutePointInfo>()) { _ocir.routeInfo.route.Add(new OIRoutePointInfo(Studio.Studio.GetNewIndex())); } foreach (OIRoutePointInfo _rpInfo in _info.route) { AddObjectRoute.LoadPoint(_ocir, _rpInfo, -1); } Singleton <Studio.Studio> .Instance.treeNodeCtrl.RefreshHierachy(); if (_initialPosition == 1) { _info.changeAmount.pos = Singleton <Studio.Studio> .Instance.cameraCtrl.targetPos; } _info.changeAmount.OnChange(); Studio.Studio.AddCtrlInfo((ObjectCtrlInfo)_ocir); _parent?.OnLoadAttach(!Object.op_Inequality((Object)_parentNode, (Object)null) ? _parent.treeNodeObject : _parentNode, (ObjectCtrlInfo)_ocir); _info.changeAmount.onChangePos += new Action(_ocir.UpdateLine); _info.changeAmount.onChangeRot += new Action(_ocir.UpdateLine); _ocir.ForceUpdateLine(); _ocir.visibleLine = _ocir.visibleLine; if (_ocir.isPlay) { _ocir.Play(); } else { _ocir.Stop(true); } return(_ocir); }
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); }