Project

General

Profile

« Previous | Next » 

Revision 4a389a4e

Added by Leszek Koltunski over 2 years ago

Fix setDefaultRotation() when changing an object; do it at exactly the right time when the 'old' object has already disappeared, but the new hasn't been attached to the Nodee yet.

View differences:

src/main/java/org/distorted/objectlib/effects/objectchange/ObjectChangeEffect.java
130 130
      }
131 131
    }
132 132

  
133
///////////////////////////////////////////////////////////////////////////////////////////////////
134

  
135
  private void phase0finished()
136
    {
137
    mPhaseActive[1] = true;
138
    mEffectFinished[1] = createEffectsPhase1(mDuration);
139
    assignEffects(1);
140
    int numFaces = mObject[1].getNumFaces();
141
    mPre.setDefaultRotation(numFaces);
142
    mObjectNode.attach(mObject[1].getNode());
143
    mObjectNode.setFOV(mObject[1].getFOV());
144
    }
145

  
133 146
///////////////////////////////////////////////////////////////////////////////////////////////////
134 147

  
135 148
  private void effectReturned(int phase)
......
140 153
      {
141 154
      switch(phase)
142 155
        {
143
        case 0: mPhaseActive[1] = true;
144
                mEffectFinished[1] = createEffectsPhase1(mDuration);
145
                assignEffects(1);
146
                mObjectNode.attach(mObject[1].getNode());
147
                mObjectNode.setFOV(mObject[1].getFOV());
156
        case 0: phase0finished();
148 157
                break;
149 158
        case 1: mPre.effectFinished(FAKE_EFFECT_ID);
150 159
                break;
......
240 249
      mEffectFinished[0] = createEffectsPhase0(mDuration);
241 250
      assignEffects(0);
242 251
      }
243
    else
244
      {
245
      mPhaseActive[1] = true;
246
      mEffectFinished[1] = createEffectsPhase1(mDuration);
247
      assignEffects(1);
248
      mObjectNode.attach(mObject[1].getNode());
249
      mObjectNode.setFOV(mObject[1].getFOV());
250
      }
252
    else phase0finished();
251 253

  
252 254
    return FAKE_EFFECT_ID;
253 255
    }

Also available in: Unified diff