Project

General

Profile

« Previous | Next » 

Revision 831368fd

Added by Leszek Koltunski about 6 hours ago

progress with remembering solves: new API to ObjectControl to create an Object with already scrambled state.

View differences:

src/main/java/org/distorted/config/ConfigActivity.java
154 154
        InputStream meshStream = object.getMeshStream(this);
155 155
        String name            = object.getUpperName();
156 156
        InitAssets asset       = new InitAssets(jsonStream,meshStream,null);
157
        control.changeIfDifferent(ordinal,name,iconMode,asset);
157
        control.changeIfDifferent(ordinal,name,iconMode,asset,null);
158 158
        }
159 159
      }
160 160

  
src/main/java/org/distorted/info/InfoActivity.java
108 108
        InputStream meshStream = object.getMeshStream(this);
109 109
        String name            = object.getUpperName();
110 110
        InitAssets asset       = new InitAssets(jsonStream,meshStream,null);
111
        control.changeIfDifferent(ordinal,name,iconMode,asset);
111
        control.changeIfDifferent(ordinal,name,iconMode,asset,null);
112 112
        }
113 113
      }
114 114

  
src/main/java/org/distorted/patterns/PatternActivity.java
203 203
      OSInterface os = view.getInterface();
204 204
      InitAssets asset = new InitAssets(jsonStream,meshStream,os);
205 205

  
206
      control.changeIfDifferent(mObjectOrdinal,name,iconMode,asset);
206
      control.changeIfDifferent(mObjectOrdinal,name,iconMode,asset,null);
207 207
      }
208 208
}
src/main/java/org/distorted/play/PlayActivity.java
164 164
      SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
165 165
      restorePreferences(preferences);
166 166

  
167
      ScreenList sl = mJustStarted ? (mModeFree ? ScreenList.FREE : ScreenList.SCRA) : ScreenList.getCurrentScreen();
168
      ScreenList.switchScreen(this, sl);
167
      if( !mModeResume )
168
        {
169
        ScreenList sl = mJustStarted ? (mModeFree ? ScreenList.FREE : ScreenList.SCRA) : ScreenList.getCurrentScreen();
170
        ScreenList.switchScreen(this, sl);
169 171

  
170
      if( !mJustStarted ) restoreMoves(preferences);
172
        if( !mJustStarted ) restoreMoves(preferences);
171 173

  
172
      if( !mObjectName.isEmpty() )
173
        {
174
        changeIfDifferent(mObjectName, mObjectLocal, mObjectOrdinal, control);
175
        }
174
        if( !mObjectName.isEmpty() )
175
          {
176
          changeIfDifferent(mObjectName, mObjectLocal, mObjectOrdinal, control, null);
177
          }
176 178

  
177
      if( !mModeResume )
178
        {
179 179
        if( mJustStarted && !mModeFree )
180 180
          {
181 181
          control.scrambleObject(mNumScrambles);
......
183 183
        }
184 184
      else
185 185
        {
186
        ScreenList sl = mJustStarted ? (mModeFree ? ScreenList.FREE : ScreenList.SOLV) : ScreenList.getCurrentScreen();
187
        ScreenList.switchScreen(this, sl);
188

  
189
        if( !mJustStarted ) restoreMoves(preferences);
190

  
191
        if( !mObjectName.isEmpty() )
192
          {
193
          changeIfDifferent(mObjectName, mObjectLocal, mObjectOrdinal, control, mQuats);
194
          }
195

  
186 196
        control.rotateNow(mRotQuat);
187
        TwistyObject object = control.getObject();
188
        object.setCubitQuats(mQuats);
197
        ScreenList curr = ScreenList.getCurrentScreen();
198

  
199
        if( curr == ScreenList.SOLV )
200
          {
201
          ScreenSolving solving = (ScreenSolving)ScreenList.SOLV.getScreenClass();
202
          solving.setElapsedAlready(mElapsed);
203
          }
189 204
        }
190 205

  
191 206
      mJustStarted = false;
......
273 288

  
274 289
///////////////////////////////////////////////////////////////////////////////////////////////////
275 290

  
276
    private void changeIfDifferent(String name, boolean local, int ordinal, ObjectControl control)
291
    private void changeIfDifferent(String name, boolean local, int ordinal, ObjectControl control, int[] initQuats)
277 292
      {
278 293
      if( local )
279 294
        {
......
281 296
        int iconMode = TwistyObject.MODE_NORM;
282 297
        InputStream jsonStream = files.openFile(this, name+"_object.json");
283 298
        InitAssets asset = new InitAssets(jsonStream, null, null);
284
        control.changeIfDifferent(ordinal,name,iconMode,asset);
299
        control.changeIfDifferent(ordinal, name, iconMode, asset, initQuats);
285 300
        }
286 301
      else
287 302
        {
......
292 307
        PlayView view = findViewById(R.id.playView);
293 308
        OSInterface os = view.getInterface();
294 309
        InitAssets asset = new InitAssets(jsonStream, meshStream, os);
295
        control.changeIfDifferent(ordinal, name, iconMode, asset);
310
        control.changeIfDifferent(ordinal, name, iconMode, asset, initQuats);
296 311
        }
297 312
      }
298 313

  
src/main/java/org/distorted/play/ScreenSolving.java
176 176
    return scores.setRecord(object, mLevel, (int)mElapsed);
177 177
    }
178 178

  
179
///////////////////////////////////////////////////////////////////////////////////////////////////
180

  
181
  public void setElapsedAlready(int elapsed)
182
    {
183
    mElapsed = elapsed;
184
    mStartTime = System.currentTimeMillis() - elapsed;
185
    }
186

  
179 187
///////////////////////////////////////////////////////////////////////////////////////////////////
180 188

  
181 189
  public void resetElapsed()
src/main/java/org/distorted/solvers/SolverActivity.java
247 247
      String name = object==null ? "NULL" : object.getUpperName();
248 248
      OSInterface os = view.getInterface();
249 249
      InitAssets asset = new InitAssets(jsonStream,meshStream,os);
250
      control.changeIfDifferent(mObjectOrdinal,name,TwistyObject.MODE_NORM,asset);
250
      control.changeIfDifferent(mObjectOrdinal,name,TwistyObject.MODE_NORM,asset,null);
251 251
      }
252 252

  
253 253
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/tutorials/TutorialActivity.java
182 182
      TutorialSurfaceView view = findViewById(R.id.tutorialSurfaceView);
183 183
      OSInterface os = view.getInterface();
184 184
      InitAssets asset = new InitAssets(jsonStream,meshStream,os);
185
      control.changeIfDifferent(ordinal,name,iconMode,asset);
185
      control.changeIfDifferent(ordinal,name,iconMode,asset,null);
186 186
      }
187 187

  
188 188
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff