예제 #1
0
        // ***************************************************************************
        // Konstruktor 1
        public GameObject(ILocationBehavior locationBehavior, IRenderBehavior renderBehavior)
        {
            this.LocationBehavior = locationBehavior;
            this.Renderer = renderBehavior;

            GetRect = RectDefault;
        }
예제 #2
0
        public StaticObject(ILocationBehavior location, IRenderBehavior renderer, bool locationSizing)
            : base(location, renderer)
        {
            if (locationSizing)
                LocationSizing();

            allowToRotate = true;
        }
예제 #3
0
파일: Player.cs 프로젝트: StWol/Last-Man
        /// <summary>
        ///   Kosntruktor
        /// </summary>
        /// <param name="locationBehavior"> Position des Spielers auf der Map </param>
        /// <param name="maxHealth"> Maximal Leben </param>
        /// <param name="health"> Aktuelles Leben </param>
        /// <param name="speed"> Bewegungsgeschwindigkeit </param>
        public Player(ILocationBehavior locationBehavior, float maxHealth, float health, float speed)
            : base(locationBehavior)
        {
            Buffs = new Dictionary<EBuffType, Buff>();
            Speed = speed;
            MaxHealth = maxHealth;
            Health = maxHealth;

            // Texturen für Renderer laden
            RendererStanding = LoadedRenderer.GetStatic("S_Player_Standing");
            RendererBigWeapon = LoadedRenderer.GetStatic("S_Player_BW");
            RendererBigWeaponShot = LoadedRenderer.GetStatic("S_Player_BW_Shot");
            RendererSmallWeapon = LoadedRenderer.GetStatic("S_Player_SW");
            RendererSmallWeaponShot = LoadedRenderer.GetStatic("S_Player_SW_Shot");

            RendererDying = LoadedRenderer.GetAnimation("A_Splatter_01");
            RendererDying.PlayOnce();

            Texture2D[] textureFootMoving = new[]
                                                {
                                                    Main.ContentManager.Load<Texture2D>("images/character/left_foot"),
                                                    Main.ContentManager.Load<Texture2D>("images/character/right_foot")
                                                };
            RendererFootMoving = new AnimationRenderer(textureFootMoving, 4F);

            _footRenderer = new NoRenderer();

            // Location für die Füße
            _footLocation = new MapLocation(locationBehavior.Position,
                                           new Vector2(textureFootMoving[0].Width, textureFootMoving[0].Height));

            // Standardmäßig den StandingRenderer zuweisen
            //Renderer = RendererBigWeapon;

            // LocationSize anpassen
            LocationSizing();
            LocationBehavior.Size = Renderer.Size; // Sollte LocationSizing machen

            // InventarListe init
            Inventar = new Dictionary<int, int>();

            Shortcuts = new Dictionary<int, Weapon>();
            // Schusstime auf 0 setzten
            _shotTimer = 0;

            // Poweruplist init
            ActivePowerups = new List<Powerup>();

            // Liquids auf 0 setzten
            Liquids = new Vector3(0, 0, 0);

            // Rect Methode setzten
            base.GetRect = base.RectPlayer;
        }
예제 #4
0
파일: Enemy.cs 프로젝트: StWol/Last-Man
        public Enemy(ILocationBehavior locationBehavoir, IRenderBehavior renderBehavior, float ratOfFire, float attackDistance,
            float sightiningDistance, float maxHealth, float speed, float health, EEnemyType typeOfEnemy)
            : base(locationBehavoir, renderBehavior)
        {
            this.buffList = new List<Buff>();
            this.ratOfFire = ratOfFire;
            this.AttackDistance = attackDistance;
            this.SightiningDistance = sightiningDistance;
            this.MaxHealth = maxHealth;
            TypOfEnemy = typeOfEnemy;

            lastAttack = 0;

            this.Speed = speed;
            this.Health = health;

            switch (typeOfEnemy)
            {
                case EEnemyType.E1:
                    moveRenderer = LoadedRenderer.Get("A_Krabbler_Move");
                    standRenderer = LoadedRenderer.Get("A_Krabbler_Stand");
                    break;
                case EEnemyType.E2:
                    moveRenderer = LoadedRenderer.Get("A_Schleimer_Move");
                    standRenderer = LoadedRenderer.Get("A_Schleimer_Stand");
                    break;
                case EEnemyType.E3:
                    moveRenderer = LoadedRenderer.Get("A_StachelKrabbe_Move");
                    standRenderer = LoadedRenderer.Get("A_StachelKrabbe_Stand");
                    break;
                case EEnemyType.E4:
                    moveRenderer = LoadedRenderer.Get("A_Schleimer_Move");
                    standRenderer = LoadedRenderer.Get("A_Schleimer_Stand");
                    break;
                case EEnemyType.E5:
                    moveRenderer = LoadedRenderer.Get("A_RoterDrache_Move");
                    standRenderer = LoadedRenderer.Get("A_RoterDrache_Stand");
                    break;
                case EEnemyType.E6:
                    moveRenderer = LoadedRenderer.Get("A_Hellboy_Move");
                    standRenderer = LoadedRenderer.Get("A_Hellboy_Stand");
                    break;
            }

            this.Activity = new NoActivity();
        }
예제 #5
0
 public StaticObject(ILocationBehavior location, IRenderBehavior renderer)
     : this(location, renderer, true)
 {
 }