public TriangleControllerEvil(IScene scene,ActiveTriangle model)
        {
            this.model = model;
            this.scene = scene;

            lastUpdate = DateTime.UtcNow;
        }
 public ActiveTriangleView(ActiveTriangle model)
 {
     this.model = model;
 }
Esempio n. 3
0
        public void onKeyPress(object o, KeyPressEventArgs args)
        {
            Logger.Log ("key press " + args.Event.Key);

            if (args.Event.Key == Gdk.Key.p && state != MyState.AddingPoints) {
                state = MyState.AddingPoints;
                return;
            }

            if (args.Event.Key == Gdk.Key.p && state == MyState.AddingPoints) {
                foreach (PointD p in demo.points) {
                    VertexStructure.Add (ref vertices,p);
                }
                demo.points.Clear ();
                demo.vertexStructs.Add (vertices);
                state = MyState.NotAddingPoints;
                vertices = null;
                return;
            }

            if (args.Event.Key == Gdk.Key.t) {
                foreach (VertexStructure polygon in demo.vertexStructs) {
                    List<PointD> pointList = Geometry.ComputationalGeometry.GetTriangulateTrianglePoints (polygon,VertexStructure.Count(polygon));
                    List<PointD>.Enumerator iter = pointList.GetEnumerator();

                    iter.MoveNext ();
                    do {
                        PointD a = iter.Current;
                        iter.MoveNext ();
                        PointD b = iter.Current;
                        iter.MoveNext ();
                        PointD c = iter.Current;

                        Triangle t = new Triangle (a, b, c);

                        ActiveTriangle nt = new ActiveTriangle (demo,t);

                        demo.addObject(nt);

                    } while(iter.MoveNext ());

                    Logger.Log ("Iterated");
                }
                demo.vertexStructs.Clear ();
                return;
            }

            if (args.Event.Key == Gdk.Key.e || args.Event.Key == Gdk.Key.n) {
                List<IGameObject> goList = demo.getObjectsByTag (ActiveTriangle.tag);
                foreach (IGameObject go in goList){
                    ActiveTriangle t = (ActiveTriangle) go;
                    switch (args.Event.Key) {
                    case Gdk.Key.e:
                        t.setEvil ();
                        break;
                    case Gdk.Key.n:
                        t.setNeutral ();
                        break;
                    default:
                        t.setNeutral ();
                        break;
                    }
                }
            }

            if (args.Event.Key == Gdk.Key.o) {
                demo.addObject (new Protagonist (demo));
            }
        }
 public TriangleControllerNeutral(ActiveTriangle model)
 {
     this.model = model;
 }