Ignore:
Timestamp:
2019-06-14 12:56:55 (2 months ago)
Author:
paharvol
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2016/27/PaavoH/GoldbergMachineSimulator/GoldbergMachineSimulator/GoldbergMachineSimulator/GoldbergMachineSimulator.cs

    r10077 r10141  
    5050                     
    5151        }, null); 
    52         Mouse.Listen( MouseButton.Left, ButtonState.Up, delegate { paalla = false; if(bottle != null)bottle.IgnoresPhysicsLogics = false; }, null); 
     52        Mouse.Listen( MouseButton.Left, ButtonState.Up, delegate { paalla = false; if(bottle != null)bottle.IgnoresPhysicsLogics = false; bottle = null; }, null); 
     53 
     54        //Keyboard.Listen(Key.A, ButtonState.Pressed, irrota, null); 
     55    } 
     56 
     57    void irrota(PhysicsObject collidingObject, PhysicsObject otherObject) 
     58    { 
     59        bottle = bottle; 
     60        if(bottle != null) 
     61        { 
     62            SynchronousList<GameObject> lapset = bottle.Objects; 
     63            foreach(PhysicsObject a in lapset) 
     64            { 
     65                PhysicsObject b = a as PhysicsObject; 
     66                Vector pos = b.AbsolutePosition; 
     67                bottle.Remove(b); 
     68                DoNextUpdate(() => Add(b)); 
     69                b.Position = pos; 
     70                b.IgnoresPhysicsLogics = false; 
     71                b.IgnoresCollisionResponse = false; 
     72 
     73            } 
     74        } 
    5375    } 
    5476 
     
    78100        bottle.Position = (new Vector (0, 0)); 
    79101        bottle.Mass = 5; 
    80         //bottle.CollisionIgnoreGroup = 2; 
     102        bottle.CollisionIgnoreGroup = 2; 
    81103        Add(bottle); 
    82104        bottle.Tag = "Bottle"; 
    83105 
    84         PhysicsObject cap = new PhysicsObject(5.0, 2.0); 
     106        PhysicsObject cap = new PhysicsObject(10.0, 5.0); 
    85107        cap.Color = Color.Red; 
    86         cap.Position = (bottle.Position + new Vector(0, 30)); 
     108        bottle.Add(cap); 
     109        cap.Position = new Vector(0, 0); 
    87110        cap.Mass = 2; 
    88         //cap.CollisionIgnoreGroup = 2; 
    89         Add(cap); 
     111        cap.CollisionIgnoreGroup = 2; 
     112        AddCollisionHandler(cap, irrota); 
    90113 
    91         AxleJoint bottlestructure = new AxleJoint(cap, bottle); 
    92         bottlestructure.Softness = 0; 
    93         Add(bottlestructure); 
     114 
     115 
    94116    } 
    95117 
     
    98120        if (paalla) 
    99121        { 
     122             
    100123            bottle.Position = Mouse.PositionOnWorld; 
    101124        } 
Note: See TracChangeset for help on using the changeset viewer.