Changeset 61c4fbc in galcon-client for src/com/example/helloandroid/GameView.java


Ignore:
Timestamp:
Jun 5, 2010, 5:08:40 PM (14 years ago)
Author:
dportnoy <devnull@…>
Branches:
master
Children:
0986844, 95509e1
Parents:
9ef6f68
Message:

The player can now send fleets by clicking on the source and destination planets.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/com/example/helloandroid/GameView.java

    r9ef6f68 r61c4fbc  
    171171        private double mY;
    172172       
    173         public Object planetsLock;
     173        public Object planetsLock, fleetsLock;
    174174       
    175175        public ArrayList<Planet> planets;
     176        public ArrayList<Fleet> fleets;
    176177        public Planet planetSelected;
    177178
     
    221222       
    222223            planetsLock = new Object();
     224            fleetsLock = new Object();
    223225           
    224226            planets = new ArrayList<Planet>();
    225227            planetSelected = null;
     228           
     229            fleets = new ArrayList<Fleet>();
    226230        }
    227231
     
    589593                }
    590594               
     595                synchronized(fleetsLock) {
     596                        for(Fleet f : fleets) {
     597                        f.draw(canvas, mLinePaint);
     598                }
     599                }
     600               
    591601            int yTop = mCanvasHeight - ((int) mY + mLanderHeight / 2);
    592602            int xLeft = (int) mX - mLanderWidth / 2;
     
    665675            }
    666676           
     677            synchronized(fleetsLock) {
     678                for(Fleet f : fleets) {
     679                        f.update(planets);
     680                }
     681            }
     682           
    667683            double dxOld = mDX;
    668684            double dyOld = mDY;
     
    734750        Log.i("Gencon", "Detected touch event");
    735751       
     752        if(event.getAction() != MotionEvent.ACTION_DOWN)
     753                return true;
     754       
    736755        synchronized(thread.planetsLock) {
    737756                if(thread.planetSelected != null) {
     757                        Planet target = null;
     758                       
     759                        for(Planet p : thread.planets) {
     760                                if(p.contains((int)event.getX(), (int)event.getY())) {
     761                                        target = p;
     762                                        break;
     763                                }
     764                        }
     765                       
     766                        if(target != null) {
     767                                synchronized(thread.fleetsLock) {
     768                                Fleet f = new Fleet(thread.planetSelected, target, 1, 1);
     769                                thread.fleets.add(f);
     770                    }
     771                        }
     772                               
    738773                        thread.planetSelected.unselect();
    739774                        thread.planetSelected = null;
     775                }else {
     776                        for(Planet p : thread.planets) {
     777                                if(p.contains((int)event.getX(), (int)event.getY())) {
     778                                        p.select();
     779                                        thread.planetSelected = p;
     780                                        break;
     781                                }
     782                        }
    740783                }
    741                
    742                 for(Planet p : thread.planets) {
    743                         if(p.contains((int)event.getX(), (int)event.getY())) {
    744                                 p.select();
    745                                 thread.planetSelected = p;
    746                                 break;
    747                         }
    748                 }
    749784        }
    750785       
Note: See TracChangeset for help on using the changeset viewer.