public void GameState_Create() { GameState gt = new GameState("test"); gt.Size = this.form.Size; gt.Form = this.form; gt.Construct(); }
private List<Entity> parseStringList(List<String> list, int x, int y, GameState game) { List<Entity> eList = new List<Entity>(); foreach(String s in list){ String entityName = s.Split(':')[0]; int depth = int.Parse(s.Split(':')[1]); int xOffset = int.Parse(s.Split(':')[2]); int yOffset = int.Parse(s.Split(':')[3]); Entity entity = game.getEntityHandler().parse(entityName, new Point((TILE_WIDTH*x)+xOffset, (TILE_HEIGHT*y)+yOffset), depth); entity.SetPosition(entity.posVector.x + (entity.Sprite.Image.Width / 2), entity.posVector.y - entity.Sprite.Image.Height); bool iface = entity.GetType().GetInterfaces().Any(i => i.IsGenericType && i.GetGenericTypeDefinition() == typeof(IEntityParent<>)); if(iface) { try { var meth = entity.GetType().GetMethod("GetChildrenAsEntities"); List<Entity> children = (List<Entity>)meth.Invoke(entity, null); foreach(Entity c in children) { c.SetPosition(c.posVector.x + (entity.Sprite.Image.Width / 2), c.posVector.y - entity.Sprite.Image.Height); } eList.AddRange(children); } catch(Exception e) { Console.WriteLine(e.ToString()); } } eList.Add(entity); } return eList; }