public bool Init(List <List <Transform> > _llTrans, CSwayParam _Param, bool _bLR) { bool flag = true; this.m_bLR = _bLR; this.m_nNumBone = _llTrans.Count; for (int index1 = 0; index1 < this.m_nNumBone; ++index1) { this.m_listBone.Add(new CBoneData()); this.m_listSpringCtrl.Add(new SpringCtrl()); this.m_listPos.Add((Vector3)null); this.m_listRot.Add((Vector3)null); this.m_listOldWorldPos.Add((Vector3)null); if (Object.op_Inequality((Object)_llTrans[index1][0], (Object)null)) { flag &= this.setFrameInfo(this.m_listBone[index1].Bone, _llTrans[index1][0]); } if (Object.op_Inequality((Object)_llTrans[index1][1], (Object)null)) { flag &= this.setFrameInfo(this.m_listBone[index1].Reference, _llTrans[index1][1]); } this.m_listBone[index1].nNumLocater = _llTrans[index1].Count - 2; for (int index2 = 2; index2 < this.m_listBone[index1].nNumLocater + 2; ++index2) { this.m_listBone[index1].listLocater.Add(new CFrameInfo()); if (!Object.op_Equality((Object)_llTrans[index1][index2], (Object)null)) { flag &= this.setFrameInfo(this.m_listBone[index1].listLocater[index2], _llTrans[index1][index2]); } } _Param.listDetail.Add(new CSwayParamDetail()); flag &= this.m_listSpringCtrl[index1].Init(_Param.listDetail[index1].fMass, _Param.listDetail[index1].fTension, _Param.listDetail[index1].fShear, _Param.listDetail[index1].fAttenuation, _Param.listDetail[index1].fGravity, _Param.listDetail[index1].fDrag, 2U, 1U); if (flag) { this.m_listPos[index1] = this.m_listSpringCtrl[index1].listPoint[0].vPos; this.m_listSpringCtrl[index1].listPoint[0].bLock = true; this.setParamAll(_Param); } else { flag = false; } } return(flag); }
public void getParamAll(ref CSwayParam _Param) { _Param = (CSwayParam)this.m_Param.DeepCopy(); }
public void setParamAll(CSwayParam _Param) { this.m_Param = (CSwayParam)_Param.DeepCopy(); this.m_Param.bCalc = _Param.bCalc; this.m_Param.bEntry = _Param.bEntry; this.m_Param.fBlendTime = _Param.fBlendTime; this.m_Param.fMoveRate = _Param.fMoveRate; this.m_Param.nCatch = _Param.nCatch; this.m_Param.nPtn = _Param.nPtn; this.m_Param.strName = _Param.strName; this.m_Param.listDetail.Clear(); for (int index = 0; index < _Param.listDetail.Count; ++index) { this.m_Param.listDetail.Add(new CSwayParamDetail()); this.m_Param.listDetail[index].bAutoRotProc = _Param.listDetail[index].bAutoRotProc; this.m_Param.listDetail[index].bAutoRotUp = _Param.listDetail[index].bAutoRotUp; this.m_Param.listDetail[index].fAttenuation = _Param.listDetail[index].fAttenuation; this.m_Param.listDetail[index].fAutoRot = _Param.listDetail[index].fAutoRot; this.m_Param.listDetail[index].fCrushXYMax = _Param.listDetail[index].fCrushXYMax; this.m_Param.listDetail[index].fCrushXYMin = _Param.listDetail[index].fCrushXYMin; this.m_Param.listDetail[index].fCrushZMax = _Param.listDetail[index].fCrushZMax; this.m_Param.listDetail[index].fCrushZMin = _Param.listDetail[index].fCrushZMin; this.m_Param.listDetail[index].fDrag = _Param.listDetail[index].fDrag; this.m_Param.listDetail[index].fForceLimit = _Param.listDetail[index].fForceLimit; this.m_Param.listDetail[index].fForceScale = _Param.listDetail[index].fForceScale; this.m_Param.listDetail[index].fGravity = _Param.listDetail[index].fGravity; this.m_Param.listDetail[index].fInertiaScale = _Param.listDetail[index].fInertiaScale; this.m_Param.listDetail[index].fMass = _Param.listDetail[index].fMass; this.m_Param.listDetail[index].fShear = _Param.listDetail[index].fShear; this.m_Param.listDetail[index].fTension = _Param.listDetail[index].fTension; this.m_Param.listDetail[index].vAddR = _Param.listDetail[index].vAddR; this.m_Param.listDetail[index].vAddS = _Param.listDetail[index].vAddS; this.m_Param.listDetail[index].vAddT = _Param.listDetail[index].vAddT; this.m_Param.listDetail[index].vLimitMaxR = _Param.listDetail[index].vLimitMaxR; this.m_Param.listDetail[index].vLimitMaxT = _Param.listDetail[index].vLimitMaxT; this.m_Param.listDetail[index].vLimitMinR = _Param.listDetail[index].vLimitMinR; this.m_Param.listDetail[index].vLimitMinT = _Param.listDetail[index].vLimitMinT; this.m_Param.listDetail[index].Calc.fScaleR = _Param.listDetail[index].Calc.fScaleR; this.m_Param.listDetail[index].Calc.fScaleT = _Param.listDetail[index].Calc.fScaleT; this.m_Param.listDetail[index].Calc.fScaleYT = _Param.listDetail[index].Calc.fScaleYT; this.m_Param.listDetail[index].Calc.nCalcKind = _Param.listDetail[index].Calc.nCalcKind; this.m_Param.listDetail[index].Calc.nLocaterRIdx = _Param.listDetail[index].Calc.nLocaterRIdx; this.m_Param.listDetail[index].Calc.nLocaterTIdx = _Param.listDetail[index].Calc.nLocaterTIdx; this.m_Param.listDetail[index].Calc.nTransformKind = _Param.listDetail[index].Calc.nTransformKind; } this.setParamMoveRate(_Param.fMoveRate); this.setBoneCalc(_Param.bCalc); this.setBoneCatch(_Param.nCatch); // ISSUE: object of a compiler-generated type is created foreach (\u003C\u003E__AnonType5 <CSwayParamDetail, int> anonType5 in _Param.listDetail.Select <CSwayParamDetail, \u003C\u003E__AnonType5 <CSwayParamDetail, int> >((Func <CSwayParamDetail, int, \u003C\u003E__AnonType5 <CSwayParamDetail, int> >)((v, i) => new \u003C\u003E__AnonType5 <CSwayParamDetail, int>(v, i)))) { this.setParamLimitMaxT(anonType5.v.vLimitMaxT, anonType5.i); this.setParamLimitMinT(anonType5.v.vLimitMinT, anonType5.i); this.setParamLimitMaxR(anonType5.v.vLimitMaxR, anonType5.i); this.setParamLimitMinR(anonType5.v.vLimitMinR, anonType5.i); this.setParamAddR(anonType5.v.vAddR, anonType5.i); this.setParamAddT(anonType5.v.vAddT, anonType5.i); this.setParamAddS(anonType5.v.vAddS, anonType5.i); this.setParamForceScale(anonType5.v.fForceScale, anonType5.i); this.setParamForceLimit(anonType5.v.fForceLimit, anonType5.i); this.setParamCalcKind(anonType5.v.Calc.nCalcKind, anonType5.i); this.setParamTransformKind(anonType5.v.Calc.nTransformKind, anonType5.i); this.setParamScaleT(anonType5.v.Calc.fScaleT, anonType5.i); this.setParamScaleYT(anonType5.v.Calc.fScaleYT, anonType5.i); this.setParamScaleR(anonType5.v.Calc.fScaleR, anonType5.i); this.setCrushZScale(anonType5.v.fCrushZMax, anonType5.v.fCrushZMin, anonType5.i); this.setCrushXYScale(anonType5.v.fCrushXYMax, anonType5.v.fCrushXYMin, anonType5.i); this.setAutoRotProc(anonType5.v.bAutoRotProc, anonType5.i); this.setAutoRot(anonType5.v.fAutoRot, anonType5.i); this.setAutoRotUp(anonType5.v.bAutoRotUp, anonType5.i); this.m_listSpringCtrl[anonType5.i].SetParam(anonType5.v.fMass, anonType5.v.fTension, anonType5.v.fShear, anonType5.v.fAttenuation); } }