Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 public void getParamAll(ref CSwayParam _Param)
 {
     _Param = (CSwayParam)this.m_Param.DeepCopy();
 }
Ejemplo n.º 3
0
 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);
     }
 }