public Cursor(EntityState es, Town t, XmlParser xp) : base(es, "Cursor") { _town = t; //Current data path is GameState->Town->Cursor var path = es.Name + "->" + _town.Name + "->" + Name; Body = new Body(this, "Body"); AddComponent(Body); Physics = new Physics(this, "Physics"); AddComponent(Physics); ImageRender = new ImageRender(this, "ImageRender"); AddComponent(ImageRender); _aimleftkey = new DoubleInput(this, "AimLeftKey", Keys.A, Buttons.DPadLeft, PlayerIndex.One); AddComponent(_aimleftkey); _aimrightkey = new DoubleInput(this, "AimRightKeys", Keys.D, Buttons.DPadRight, PlayerIndex.One); AddComponent(_aimrightkey); _quickaimkey = new DoubleInput(this, "QuickAimKey", Keys.LeftShift, Buttons.RightShoulder, PlayerIndex.One); AddComponent(_quickaimkey); ParseXml(xp, path); ImageRender.Origin = new Vector2(ImageRender.Texture.Width / 2f, ImageRender.Texture.Height / 2f); Body.Position = _town.Body.Position + (_town.TileRender.Origin - Vector2.UnitY * 40 - ImageRender.Origin) * ImageRender.Scale; }
public override void Start() { if (!_alreadystarted) { base.Start(); _alreadystarted = true; XmlParser xp = new XmlParser(@"States/Game/Game.xml"); _bgimage = new Image(this, "BGImage"); _bgimage.ParseXml(xp, Name + "->" + _bgimage.Name); AddEntity(_bgimage); _town = new Town(this, xp); AddEntity(_town); _scoretext = new Text(this, "ScoreText"); _scoretext.ParseXml(xp, Name + "->" + _scoretext.Name); _scoretext.Body.Position = new Vector2( GameRef.Viewport.Width / 2 - _scoretext.TextRender.DrawRect.Width / 2, 10); AddEntity(_scoretext); _healthtext = new Text(this, "HealthText"); _healthtext.ParseXml(xp, Name + "->" + _healthtext.Name); _healthtext.Body.Position = new Vector2( GameRef.Viewport.Width / 2 - _healthtext.TextRender.DrawRect.Width / 2, 50); AddEntity(_healthtext); _difficultytext = new Text(this, "DifficultyText"); _difficultytext.ParseXml(xp, Name + "->" + _difficultytext.Name); _difficultytext.Body.Position = new Vector2( GameRef.Viewport.Width / 2 - _difficultytext.TextRender.DrawRect.Width / 2, 90); AddEntity(_difficultytext); _es = new EnemySpawner(this, xp); EntityRemoved += _es.RemoveEnemy; _es.Targets.Add(_town); AddEntity(_es); _town.Targets.List = _es.Enemies; } }