Exemplo n.º 1
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="body"></param>
 /// <param name="model"></param>
 /// <param name="team"></param>
 public AbstractFlag(AbstractBody body, PrimitiveBuilder model, AbstractTeam team)
     : base(body, model)
 {
     this.Team = team;
     this.InitialPosition = body.GetPosition();
     EntityTable.Instance.Add(this.Body, this);
 }
Exemplo n.º 2
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="body"></param>
 /// <param name="model"></param>
 /// <param name="team"></param>
 /// <param name="enemyTeam"></param>
 public BotPlayer(AbstractBody body, PrimitiveBuilder model, AbstractTeam team, AbstractTeam enemyTeam)
     : base(body, model, team, enemyTeam)
 {
     this.SetCollisionBehaviors(new CollisionBehaviors(this));
     this.MovementBehavior = new MovementBehavior();
     this.AttackBehavior = new AttackBehavior();
 }
Exemplo n.º 3
0
        /// <summary>
        /// Creates the "default" instance of this class
        /// </summary>
        /// <param name="color"></param>
        /// <param name="team"></param>
        /// <param name="enemyTeam"></param>
        /// <returns></returns>
        public static UserPlayer Default(Color color, AbstractTeam team, AbstractTeam enemyTeam)
        {
            CircleBody body = BodyFactory.Circle(false,
                AppSettingsFacade.PlayerMass,
                AppSettingsFacade.PlayerMaxSpeed,
                AppSettingsFacade.PlayerFrictionCoefficient,
                true,
                AppSettingsFacade.PlayerRadius);

            PrimitiveBuilder model = new PrimitiveBuilder(color);
            model.Add(PrimitiveFactory.Circle(color, AppSettingsFacade.PlayerRadius, 3));
            model.Add(PrimitiveFactory.Line(color, Vector2.Zero, Vector2.UnitX * body.GetRadius()));

            UserPlayer result = new UserPlayer(body, model, team, enemyTeam);
            team.AddPlayer(result);

            return result;
        }
Exemplo n.º 4
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="body"></param>
 /// <param name="model"></param>
 /// <param name="team"></param>
 /// <param name="enemyTeam"></param>
 public UserPlayer(AbstractBody body, PrimitiveBuilder model, AbstractTeam team, AbstractTeam enemyTeam)
     : base(body, model, team, enemyTeam)
 {
     this.SetCollisionBehaviors(new CollisionBehaviors(this));
 }
Exemplo n.º 5
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="body"></param>
        /// <param name="model"></param>
        /// <param name="team"></param>
        protected AbstractPlayer(AbstractBody body, PrimitiveBuilder model, AbstractTeam team, AbstractTeam enemyTeam)
            : base(body, model)
        {
            this.Team = team;
            this.EnemyTeam = enemyTeam;
            this.Health = AppSettingsFacade.PlayerHealth;

            this.HealthLabel = new TextLabel(String.Empty,
                SpriteFontRepository.Instance.Get("test"),
                Vector2.Zero,
                LabelAlignment.Center,
                Color.White);

            this._messageQueue = new TextLabelQueue(
                SpriteFontRepository.Instance.Get("test"),
                Vector2.Zero,
                LabelAlignment.Center,
                Color.White,
                3000);

            this._healthBar = new CircleProgressBar(new Color(20, 20, 30));

            EntityTable.Instance.Add(this.Body, this);

            this.IsAlive = true;
        }
Exemplo n.º 6
0
 /// <summary>
 /// Add team
 /// </summary>
 /// <param name="team"></param>
 public void AddTeam(AbstractTeam team)
 {
     this.Teams.Add(team);
 }
Exemplo n.º 7
0
 /// <summary>
 /// Gets the closest player to the given location on the given team
 /// </summary>
 /// <param name="team"></param>
 /// <param name="position"></param>
 /// <returns></returns>
 public AbstractPlayer GetClosestPlayer(AbstractTeam team, Vector2 position)
 {
     return team.GetClosestPlayer(position);
 }
Exemplo n.º 8
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="body"></param>
 /// <param name="model"></param>
 /// <param name="team"></param>
 public Flag(AbstractBody body, PrimitiveBuilder model, AbstractTeam team)
     : base(body, model, team)
 {
     this.SetCollisionBehaviors(new CollisionBehaviors(this));
 }