public Dungeon(RealmInfomation realm_infomation) { _RealmInfomation = realm_infomation; _Valid = true; _Map = new Map(); _WaitingRoom = new List<Entity>(); _Updater = new TimesharingUpdater(1.0f / 30.0f); _Aboriginals = new List<Aboriginal>(); _EntityEnteranceResource = realm_infomation.EntityEnteranceResource; /*_EntityEnteranceResource = new Dictionary<ENTITY, int> { { ENTITY.ACTOR1, 10}, { ENTITY.ACTOR2, 20}, { ENTITY.ACTOR3, 20}, { ENTITY.ACTOR4, 20}, { ENTITY.ACTOR5, 20}, };*/ _EntityFieldResource = realm_infomation.EntityFieldResource; /*_EntityFieldResource = new Dictionary<ENTITY, int> { { ENTITY.ACTOR1, 10}, { ENTITY.ACTOR2, 10}, { ENTITY.ACTOR3, 10}, { ENTITY.ACTOR4, 10}, { ENTITY.ACTOR5, 10}, };*/ _LevelUnitToGroupBuilder = new Dictionary<Data.LEVEL_UNIT, EntityGroupBuilder>(); foreach (var mazeUnitInfomation in _RealmInfomation.Maze.MazeUnits) { _LevelUnitToGroupBuilder.Add(mazeUnitInfomation.Type , new EntityGroupBuilder(mazeUnitInfomation.Name, _Map, this)); } }
public void TestMapFind() { Map map = new Map(); Rect rect = new Rect(0.5f ,5,1,10); Polygon meshs1 = new Polygon(new[]{ new Vector2(1, 1), new Vector2(2, 1), new Vector2(2, 2), new Vector2(1, 2) }); Polygon meshs2 = new Polygon(new[]{ new Vector2(1, 1), new Vector2(2, 1), new Vector2(2, 2), new Vector2(1, 2) }); Polygon meshs3 = new Polygon(new[]{ new Vector2(1, 1), new Vector2(2, 1), new Vector2(2, 2), new Vector2(1, 2) }); Polygon meshs4 = new Polygon(new[]{ new Vector2(1, 1), new Vector2(2, 1), new Vector2(2, 2), new Vector2(1, 2) }); Polygon meshs5 = new Polygon(new[]{ new Vector2(1, 1), new Vector2(2, 1), new Vector2(2, 2), new Vector2(1, 2) }); meshs2.Offset(0,2); meshs3.Offset(0, 4); meshs4.Offset(0, 6); meshs5.Offset(0, 8); IIndividual[] visables = { new Entity(meshs1), new Entity(meshs2), new Entity(meshs3), new Entity(meshs4), new Entity(meshs5) }; foreach (var visable in visables) { map.JoinStaff(visable); } IMapFinder finder = map; var results = finder.Find(rect); foreach (var visable in visables) { map.Left(visable); } Assert.AreEqual(5, results.Length); }
private void _BuildTown(Map map) { if (_RealmInfomation.HaveTown() == false) return; var layout = new EntityGroupBuilder(_RealmInfomation.Town.Name, map, this); foreach (var updatable in layout.Create(0, new Vector2())) { _Updater.Add(updatable); } }
private Aboriginal _Create(Map map,ENTITY type, ItemProvider item_provider) { var entiry = EntityProvider.Create(type); var items = item_provider.FromStolen(); foreach (var item in items) { entiry.Bag.Add(item); } var wisdom = new StandardWisdom(entiry); var aboriginal = new Aboriginal(map, this, entiry, wisdom); return aboriginal; }
private void _BuildMaze(Map map) { var level = _CreateLevel(); foreach (var unit in level) { var builder = _LevelUnitToGroupBuilder[unit.Type]; var updaters = builder.Create(unit.Direction, unit.Center); foreach (var updatable in updaters) { _Updater.Add(updatable); } } }