public FileInfo(OCIChar _char = null) { if (_char == null) { return; } this.group = _char.oiCharInfo.animeInfo.group; this.category = _char.oiCharInfo.animeInfo.category; this.no = _char.oiCharInfo.animeInfo.no; this.normalizedTime = _char.charAnimeCtrl.normalizedTime; this.enableIK = _char.oiCharInfo.enableIK; for (int index = 0; index < this.activeIK.Length; ++index) { this.activeIK[index] = _char.oiCharInfo.activeIK[index]; } foreach (KeyValuePair <int, OIIKTargetInfo> keyValuePair in _char.oiCharInfo.ikTarget) { this.dicIK.Add(keyValuePair.Key, keyValuePair.Value.changeAmount.Clone()); } this.enableFK = _char.oiCharInfo.enableFK; for (int index = 0; index < this.activeFK.Length; ++index) { this.activeFK[index] = _char.oiCharInfo.activeFK[index]; } OIBoneInfo.BoneGroup fkGroup = OIBoneInfo.BoneGroup.Body | OIBoneInfo.BoneGroup.RightLeg | OIBoneInfo.BoneGroup.LeftLeg | OIBoneInfo.BoneGroup.RightArm | OIBoneInfo.BoneGroup.LeftArm | OIBoneInfo.BoneGroup.RightHand | OIBoneInfo.BoneGroup.LeftHand | OIBoneInfo.BoneGroup.Neck | OIBoneInfo.BoneGroup.Breast; foreach (KeyValuePair <int, OIBoneInfo> keyValuePair in _char.oiCharInfo.bones.Where <KeyValuePair <int, OIBoneInfo> >((Func <KeyValuePair <int, OIBoneInfo>, bool>)(b => (fkGroup & b.Value.group) != (OIBoneInfo.BoneGroup) 0))) { this.dicFK.Add(keyValuePair.Key, keyValuePair.Value.changeAmount.Clone()); } for (int index = 0; index < this.expression.Length; ++index) { this.expression[index] = _char.oiCharInfo.expression[index]; } }
public void CopyBoneRotation(OIBoneInfo.BoneGroup _target) { foreach (OCIChar.IKInfo ikInfo in this.listIKInfo.Where <OCIChar.IKInfo>((Func <OCIChar.IKInfo, bool>)(l => (l.boneGroup & _target) != (OIBoneInfo.BoneGroup) 0))) { ikInfo.CopyBoneRotation(); } }
public void SetEnable(OIBoneInfo.BoneGroup _group, bool _enable) { foreach (FKCtrl.TargetInfo targetInfo in this.listBones.Where <FKCtrl.TargetInfo>((Func <FKCtrl.TargetInfo, bool>)(l => (l.group & _group) != (OIBoneInfo.BoneGroup) 0))) { targetInfo.enable = _enable; } }
public void CopyBone(OIBoneInfo.BoneGroup _target) { foreach (FKCtrl.TargetInfo targetInfo in this.listBones.Where <FKCtrl.TargetInfo>((Func <FKCtrl.TargetInfo, bool>)(l => (l.group & _target) != (OIBoneInfo.BoneGroup) 0))) { targetInfo.CopyBone(); } }
public TargetInfo( GameObject _gameObject, ChangeAmount _changeAmount, OIBoneInfo.BoneGroup _group, int _level) { this.gameObject = _gameObject; this.changeAmount = _changeAmount; this.group = _group; this.level = _level; if ((this.group & OIBoneInfo.BoneGroup.Hair) == (OIBoneInfo.BoneGroup) 0 && (this.group & OIBoneInfo.BoneGroup.Skirt) == (OIBoneInfo.BoneGroup) 0 && (this.group & OIBoneInfo.BoneGroup.Body) == (OIBoneInfo.BoneGroup) 0) { return; } ObservableExtensions.Subscribe <bool>((IObservable <M0>) this._enable, (Action <M0>)(_b => { if (_b) { return; } this.transform.set_localRotation(Quaternion.get_identity()); this.syncBoneInfo.SafeProc <OCIChar.SyncBoneInfo>((Action <OCIChar.SyncBoneInfo>)(_sbi => _sbi.LocalRotation = Quaternion.get_identity())); })); }
public void CopyHandToTwin(OIBoneInfo.BoneGroup fkLimb) { this._scheduleNextIKPostUpdate = this.CopyHandToTwinInternal; this._nextFKCopy = fkLimb; }
public void CopyLimbToTwin(FullBodyBipedChain ikLimb, OIBoneInfo.BoneGroup fkLimb) { this._scheduleNextIKPostUpdate = this.CopyLimbToTwinInternal; this._nextIKCopy = ikLimb; this._nextFKCopy = fkLimb; }