示例#1
0
 // Token: 0x060023AC RID: 9132 RVA: 0x00413754 File Offset: 0x00411954
 private void InitNode(ref WoodRun.WoodNode woodNode, Transform wood)
 {
     woodNode.activeState  = 1;
     woodNode.timeStep     = 0f;
     woodNode.sampleStep   = 0;
     woodNode.SamplePoint1 = wood.localPosition;
     woodNode.SamplePoint2 = wood.localPosition + this.woodSamplePoint[0];
     woodNode.CurveHeight  = Vector3.Distance(woodNode.SamplePoint1, woodNode.SamplePoint2) * 0.4f;
 }
示例#2
0
    // Token: 0x060023AA RID: 9130 RVA: 0x004135E8 File Offset: 0x004117E8
    private void UpdateSampleControl(ref WoodRun.WoodNode woodNode)
    {
        Vector3 a = woodNode.SamplePoint2 - woodNode.SamplePoint1;

        woodNode.SampleControl1   = woodNode.SamplePoint1 + a * 0.25f;
        woodNode.SampleControl2   = woodNode.SamplePoint1 + a * 0.6f;
        woodNode.SampleControl1.y = woodNode.SampleControl1.y + woodNode.CurveHeight;
        woodNode.SampleControl2.y = woodNode.SampleControl2.y + woodNode.CurveHeight;
    }
示例#3
0
    // Token: 0x060023AB RID: 9131 RVA: 0x00413670 File Offset: 0x00411870
    private Vector3 Evaluate(float deltaTime, ref WoodRun.WoodNode woodNode)
    {
        float   num  = this.SampleTime[0];
        float   num2 = this.SampleTime[(int)(woodNode.sampleStep + 1)];
        float   d    = (woodNode.timeStep - num) / (num2 - num);
        Vector3 a    = woodNode.SamplePoint2 - (woodNode.SampleControl2 - woodNode.SampleControl1) * 3f - woodNode.SamplePoint1;
        Vector3 a2   = 3f * (woodNode.SampleControl2 + woodNode.SamplePoint1) - 6f * woodNode.SampleControl1;
        Vector3 a3   = (woodNode.SampleControl1 - woodNode.SamplePoint1) * 3f;

        return(woodNode.SamplePoint1 + d * (a3 + d * (a2 + d * a)));
    }
示例#4
0
 // Token: 0x060023AD RID: 9133 RVA: 0x004137C8 File Offset: 0x004119C8
 private bool UpdateNode(float deltaTime, ref WoodRun.WoodNode woodNode, Transform wood)
 {
     if (woodNode.activeState == 0)
     {
         return(false);
     }
     if (woodNode.activeState == 5)
     {
         wood.Rotate(Vector3.right, 64f * deltaTime, Space.Self);
         Vector3 position = wood.position;
         position.y   -= deltaTime * 7f;
         position.x   -= deltaTime * 2f;
         wood.position = position;
         if (position.y <= -1f)
         {
             wood.gameObject.SetActive(false);
         }
         return(true);
     }
     if (woodNode.timeStep > this.SampleTime[(int)(woodNode.sampleStep + 1)])
     {
         if (woodNode.sampleStep == 0)
         {
             Vector3 position2 = wood.position;
             base.checkHitParticle(ref position2);
         }
         if (woodNode.sampleStep >= 3)
         {
             woodNode.activeState = 5;
             return(false);
         }
         woodNode.timeStep      = 0f;
         woodNode.sampleStep   += 1;
         wood.localPosition     = woodNode.SamplePoint2;
         woodNode.SamplePoint1  = wood.localPosition;
         woodNode.SamplePoint2 += this.woodSamplePoint[(int)woodNode.sampleStep];
         woodNode.CurveHeight   = ((woodNode.sampleStep < 3) ? (Vector3.Distance(woodNode.SamplePoint1, woodNode.SamplePoint2) * 0.4f) : 0f);
     }
     this.UpdateSampleControl(ref woodNode);
     wood.localPosition = this.Evaluate(deltaTime, ref woodNode);
     woodNode.timeStep += deltaTime;
     return(true);
 }