Ignore:
Timestamp:
2016-07-05 17:51:11 (3 years ago)
Author:
sieerinn
Message:

Vihollinen lisätty ja konfliktit taisteltu läpi

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2016/27/ohjaajat/VenienteFragore/VenienteFragore/VenienteFragore/VenienteFragore.cs

    r7810 r7811  
    4242            objectMethods.Add("moving", CreateMovingPlatform); 
    4343            objectMethods.Add("door", CreateDoor); 
     44            objectMethods.Add("goomba", CreateGoomba); 
    4445 
    4546            var tileMap = TiledTileMap.FromLevelAsset(lvlName); 
     
    100101        private void CreateObject(Vector position, double width, double height, Angle angle, Shape shape, string name, Dictionary<string, string> properties) 
    101102        { 
    102             objectMethods[name](position, width, height, properties); 
     103            if (objectMethods.ContainsKey(name)) 
     104                objectMethods[name](position, width, height, properties); 
     105            else 
     106                throw new Exception("Unknown object type: " + name); 
    103107        } 
    104108 
     
    114118            testObject.OnInteractedWith += Pickup; 
    115119            Add(testObject); 
     120        } 
     121 
     122        void CreateGoomba(Vector position, double width, double height, Dictionary<string, string> properties) 
     123        { 
     124            var goomba = new GoombaEnemy(TileSize * 0.99, TileSize * 0.99); 
     125            goomba.Position = position; 
     126            goomba.Color = Color.Pink; 
     127            goomba.Tag = "goomba"; 
     128            goomba.Speed = 50; 
     129            goomba.FallOffPlatforms = true; 
     130            Add(goomba); 
     131 
     132            goomba.AddCollisionHandler("player", (a, player) => 
     133            { 
     134                if (player.Bottom >= goomba.Top) 
     135                { 
     136                    goomba.Destroy(); 
     137                    player.Velocity = new Vector(player.Velocity.X, 400); 
     138                } 
     139                else 
     140                { 
     141                    player.Destroy(); 
     142                } 
     143            }); 
    116144        } 
    117145 
Note: See TracChangeset for help on using the changeset viewer.