public void Create() { particleSource0 = new ParticleSource(70, ParticleSource.TYPE_RED, 5, 0.5f, 0.25f); particleSource0.x = -0.0f; particleSource0.y = 0.9f; particleSource0.rot = -3.141f / 2.0f; particleSource0.on = true; particleSource1 = new ParticleSource(70, ParticleSource.TYPE_BLUE, 5, 0.5f, 0.25f); particleSource1.x = -0.8f; particleSource1.y = 0.9f; particleSource1.rot = -3.141f / 2.0f; particleSource1.on = true; magnet0 = new Magnet(Magnet.TYPE_RED, 0.2f, 0.2f, 0.2f); magnet0.x = 0.2f; magnet0.y = -0.8f; magnet1 = new Magnet(Magnet.TYPE_RED, 0.2f, 0.2f, 0.2f); magnet1.x = 0.4f; magnet1.y = -0.9f; detector = new Detector(0.8f, 40); detector.y = -0.8f; detector.x = 0.0f; grid = new Grid(0.2f, 0.2f); complete0 = 0; complete1 = 0; complete2 = 0; }
public void Render() { GLES20.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); particleSource0.AddField(magnet0); particleSource0.AddField(magnet1); particleSource1.AddField(magnet0); particleSource1.AddField(magnet1); boolean s0 = particleSource0.AddDetector(detector); boolean s1 = particleSource1.AddDetector(detector); int maxScore = 500; int incValue = 20; int decValue = 3; int winThreshold = maxScore - 20; if (s0) complete0 += incValue; else complete0 -= decValue; if (s1) complete1 += incValue; else complete1 -= decValue; if (complete0 < 0) complete0 = 0; if (complete1 < 0) complete1 = 0; if (complete0 > maxScore) complete0 = maxScore; if (complete1 > maxScore) complete1 = maxScore; if (complete0 >= winThreshold && complete1 >= winThreshold) { SharedPreferences userPref = context.getSharedPreferences("userPref", 0); int saveState = userPref.getInt("saveState", 20); if (saveState < windowId + 1) { SharedPreferences.Editor editorPref = userPref.edit(); editorPref.putInt("saveState", windowId + 1); editorPref.commit(); } manager.Activate(windowId + 1); } magnet0.AddSourceCollision(particleSource0); magnet0.AddSourceCollision(particleSource1); magnet1.AddSourceCollision(particleSource0); magnet1.AddSourceCollision(particleSource1); magnet0.AddMagnetCollision(magnet1); magnet1.AddMagnetCollision(magnet0); grid.Render(); particleSource0.RenderSourceSprite(); particleSource1.RenderSourceSprite(); magnet0.Render(); magnet1.Render(); particleSource0.Render(); particleSource1.Render(); detector.Render(); }