コード例 #1
0
 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];
     }
 }
コード例 #2
0
 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();
     }
 }
コード例 #3
0
 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;
     }
 }
コード例 #4
0
 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();
     }
 }
コード例 #5
0
 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()));
     }));
 }
コード例 #6
0
 public void CopyHandToTwin(OIBoneInfo.BoneGroup fkLimb)
 {
     this._scheduleNextIKPostUpdate = this.CopyHandToTwinInternal;
     this._nextFKCopy = fkLimb;
 }
コード例 #7
0
 public void CopyLimbToTwin(FullBodyBipedChain ikLimb, OIBoneInfo.BoneGroup fkLimb)
 {
     this._scheduleNextIKPostUpdate = this.CopyLimbToTwinInternal;
     this._nextIKCopy = ikLimb;
     this._nextFKCopy = fkLimb;
 }