private static void InitialiseInhab(Inhabitant thing,Room room,AMaterialStats stats)
        {
            int trytimes = 0;
            bool done = false;
            Coord size = new Coord(3, 3);

            while (!done && trytimes < 20)
            {
                //Random distribution HACK! u can make more distribution types
                int tryx = MyRandom.Random.Next(0, room.RoomOccupiedGrid.GetLength(0) - size.X);
                int tryy = MyRandom.Random.Next(0, room.RoomOccupiedGrid.GetLength(1) - size.Y);

                if (CheckClear(new Coord(tryx, tryy), size,room.RoomOccupiedGrid))
                {
                    MakeNotCLear(new Coord(tryx, tryy), size, room.RoomOccupiedGrid);

                    thing.Initialise(size - new Coord(1, 1)
                   , room.Position + (new Vector2(tryx+1.5f, tryy+1.5f)*Globals.SmallGridSize)
                   , room.RoomAmbient.RoomColour, room.RoomAmbient.GlowColour, stats
                   , room.RoomAmbient.RoomTileset);
                    done = true;
                }
                trytimes++;
            }
        }
Esempio n. 2
0
 public CaveBlock(Game game, Vector2 position, Color color,AMaterialStats stats,bool gtbS,Tileset tset,Color glowcolour)
     : base(game, position, color, stats,tset,glowcolour)
 {
     NeighbourList =  new List<CaveBlock>();
     GoingtobeSolid = gtbS;
     krypton = Game.Services.GetService<KryptonEngine>();
     _world = Game.Services.GetService<World>();
 }
 public DestructibleSmallBlock01(Game game, Vector2 position, Color color, AMaterialStats stats,Tileset tset,Color glowcolour)
     : base(game, position, color,tset, glowcolour)
 {
     _stats = stats;
     HP = _stats.HP;
 }