Exemple #1
0
        public Racer(Texture2D spritesheet, Rectangle hitbox, Vector2 hitboxoffset)
            : base(spritesheet, hitbox, hitboxoffset)
        {
            _idleAnim = new SpriteAnim(spritesheet, 0, 1, 41,41,0, new Vector2(20f,20f));

            Speed = Vector2.Zero;
        }
Exemple #2
0
 public Hero(Texture2D spritesheet, Rectangle hitbox, Vector2 hitboxoffset)
     : base(spritesheet, hitbox, null, hitboxoffset)
 {
     _idleAnim = new SpriteAnim(spritesheet, 0, 1, 16,16,0, new Vector2(8f,16f));
     _runAnim = new SpriteAnim(spritesheet, 1, 7, 16, 16, 60, new Vector2(8f,16f));
     _runAnim.Play();
 }
Exemple #3
0
 public Lunger(Texture2D spritesheet, Rectangle hitbox, List<Vector2> hitPolyPoints, Vector2 hitboxoffset)
     : base(spritesheet, hitbox, hitPolyPoints, hitboxoffset)
 {
     _idleAnim = new SpriteAnim(spritesheet, 5, 6, 16, 16, 100, new Vector2(8, 8), false, false, 0);
     _idleAnim.Pause();
     _hitAnim = new SpriteAnim(spritesheet, 11, 6, 16, 16, 100, new Vector2(8, 8), false, false, _idleAnim.CurrentFrame);
     _hitAnim.Pause();
 }
Exemple #4
0
        public ManOWar(Texture2D spritesheet, Rectangle hitbox, List<Vector2> hitPolyPoints, Vector2 hitboxoffset)
            : base(spritesheet, hitbox, hitPolyPoints, hitboxoffset)
        {
            _idleAnim = new SpriteAnim(spritesheet, 1, 4, 16, 16, 500, new Vector2(8, 8), true, false, Helper.Random.Next(4));
            _idleAnim.Play();
            _hitAnim = new SpriteAnim(spritesheet, 7, 4, 16, 16, 500, new Vector2(8, 8), true, false, _idleAnim.CurrentFrame);
            _hitAnim.Play();

            Speed.X = Helper.RandomFloat(-0.1f, 0.1f);
        }
Exemple #5
0
 public void playAnimation(string name)
 {
     for (var i = 0; i < _animation.Count; i++)
     {
         if (((SpriteAnim)_animation[i]).name == name)
         {
             _currAnimation = (SpriteAnim)_animation[i];
         }
     }
 }
Exemple #6
0
        public Gorger(Texture2D spritesheet, Rectangle hitbox, List<Vector2> hitPolyPoints, Vector2 hitboxoffset)
            : base(spritesheet, hitbox, hitPolyPoints, hitboxoffset)
        {
            _idleAnim = new SpriteAnim(spritesheet, 3, 6, 16, 16, 100, new Vector2(8, 8), false, false, 0);
            _idleAnim.Pause();
            _hitAnim = new SpriteAnim(spritesheet, 9, 6, 16, 16, 100, new Vector2(8, 8), false, false, _idleAnim.CurrentFrame);
            _hitAnim.Pause();

            Speed.Y = Helper.RandomFloat(-0.2f, 0.2f);
        }
    public static uint CreatePlayer()
    {
        int playerCount = ComponentManager.PlayerComponent.Count();

        if (playerCount >= MAX_PLAYERS)
            return uint.MaxValue;

        uint playerID = IDManager.GetNewID();

        Player player = new Player()
        {
            EntityID = playerID,
            PlayerID = (ushort)playerCount
        };
        ComponentManager.PlayerComponent.Add(playerID, player);

        Position playerPosition = new Position()
        {
            EntityID = playerID,
            Center = new Vector3()
        };
        ComponentManager.PositionComponent.Add(playerID, playerPosition);

        ComponentManager.PlaneComponent.Add(playerID);

        Movement playerMovement = new Movement()
        {
            EntityID = playerID,
            MoveDirection = Vector2.zero,
            Speed = BASE_SPEED
        };
        ComponentManager.MovementComponent.Add(playerID, playerMovement);

        SpriteAnim playerAnim = new SpriteAnim()
        {
            EntityID = playerID,
            AnimArray = new List<Sprite>(),
            AnimIndex = 0,
            AnimType = SpriteType.Loop,
            FPS = 1.0f,
            FrameIncrement = 0,
            TimeLeft = 1.0f
        };
        playerAnim = SpriteHelper.SetMageAnim(playerAnim.EntityID, SpriteHelper.AnimList.IdleDown);
        ComponentManager.SpriteAnimComponent.Add(playerID, playerAnim);

        RenderEntity playerRender = new RenderEntity()
        {
            EntityID = playerID
        };
        ComponentManager.RenderComponent.Add(playerID, playerRender);

        return playerID;
    }
Exemple #8
0
        public Eyes(Texture2D spritesheet, Rectangle hitbox, List<Vector2> hitPolyPoints, Vector2 hitboxoffset)
            : base(spritesheet, hitbox, hitPolyPoints, hitboxoffset)
        {
            _idleAnim = new SpriteAnim(spritesheet, 2, 4, 16, 16, 100, new Vector2(8, 8), true, true, 0);
            _idleAnim.Play();
            _hitAnim = new SpriteAnim(spritesheet, 8, 4, 16, 16, 100, new Vector2(8, 8), true, true, _idleAnim.CurrentFrame);
            _hitAnim.Play();

            Speed.X = Helper.RandomFloat(-0.3f, 0.3f);
            Speed.Y = Helper.RandomFloat(-0.2f, 0.2f);
        }
Exemple #9
0
        public Turret(Texture2D spritesheet, Rectangle hitbox, List<Vector2> hitPolyPoints, Vector2 hitboxoffset)
            : base(spritesheet, hitbox, hitPolyPoints, hitboxoffset)
        {
            _idleAnim = new SpriteAnim(spritesheet, 4, 2, 16, 16, 200, new Vector2(8, 8), true, false, 0);
            _idleAnim.Play();
            _hitAnim = new SpriteAnim(spritesheet, 10, 2, 16, 16, 200, new Vector2(8, 8), true, false, _idleAnim.CurrentFrame);
            _hitAnim.Play();

            gunLoop = AudioController.CreateInstance("minigun");
            gunLoop.IsLooped = true;
            gunLoop.Volume = 0f;
            gunLoop.Play();
            gunLoop.Pause();

            Speed.X = Helper.Random.Next(2) == 0 ? -0.1f : 0.1f;
        }
Exemple #10
0
        public Flyer(Texture2D spritesheet, Rectangle hitbox, List<Vector2> hitPolyPoints, Vector2 hitboxoffset)
            : base(spritesheet, hitbox, hitPolyPoints, hitboxoffset)
        {
            _idleAnim = new SpriteAnim(spritesheet, 0, 1, 16, 16, 100, new Vector2(8, 8), false, false, 0);
            _idleAnim.Pause();
            _hitAnim = new SpriteAnim(spritesheet, 6, 1, 16, 16, 100, new Vector2(8, 8), false, false, _idleAnim.CurrentFrame);
            _hitAnim.Pause();

            _faceDir = Helper.Random.Next(2) == 0 ? -1 : 1;

            gunLoop = AudioController.CreateInstance("minigun");
            gunLoop.IsLooped = true;
            gunLoop.Volume = 0f;
            gunLoop.Play();
            gunLoop.Pause();
        }
Exemple #11
0
    public void addAnimation(string name, int[] data, float speed)
    {
        for (var i = 0; i < _animation.Count; i++)
        {
            if (((SpriteAnim)_animation[i]).name == name)
            {
                _animation.RemoveAt(i);
            }
        }

        SpriteAnim anim = new SpriteAnim();
        anim.name = name;
        anim.data = data;
        anim.speed = speed;

        _animation.Add(anim);
    }
Exemple #12
0
        public Boss(Texture2D spritesheet, Rectangle hitbox, List<Vector2> hitPolyPoints, Vector2 hitboxoffset)
            : base(spritesheet, hitbox, hitPolyPoints, hitboxoffset)
        {
            _idleAnim = new SpriteAnim(spritesheet, 0, 1, 32, 32, 0, new Vector2(16,16));
            _hitAnim = new SpriteAnim(spritesheet, 5, 1, 32, 32, 0, new Vector2(16, 16));

            _headGobAnim = new SpriteAnim(spritesheet, 1, 2, 32, 32, 0, new Vector2(16, 16));
            _headGobAnimHit = new SpriteAnim(spritesheet, 6, 2, 32, 32, 0, new Vector2(16, 16));
            _headEyeAnim = new SpriteAnim(spritesheet, 2, 6, 32, 32, 0, new Vector2(16, 16));
            _headEyeAnimHit = new SpriteAnim(spritesheet, 7, 6, 32, 32, 0, new Vector2(16, 16));
            _bodyAnim = new SpriteAnim(spritesheet, 3, 1, 32, 32, 0, new Vector2(16, 16));
            _bodyAnimHit = new SpriteAnim(spritesheet, 8, 1, 32, 32, 0, new Vector2(16, 16));
            _tailAnim = new SpriteAnim(spritesheet, 4, 1, 32, 32, 0, new Vector2(16, 16));
            _tailAnimHit = new SpriteAnim(spritesheet, 9, 1, 32, 32, 0, new Vector2(16, 16));

            laughLoop = AudioController.CreateInstance("boss");
            laughLoop.Volume = 0f;
            laughLoop.Pause();
        }
Exemple #13
0
        public Ship(Texture2D spritesheet, Rectangle hitbox, List<Vector2> hitPolyPoints, Vector2 hitboxoffset)
            : base(spritesheet, hitbox, hitPolyPoints, hitboxoffset)
        {
            Instance = this;

            engineLoop = AudioController.CreateInstance("boost");
            engineLoop.Volume = 0f;
            engineLoop.IsLooped = true;
            engineLoop.Play();
            engineLoop.Pause();
            engineLoop.Volume = 0.3f;
            gunLoop = AudioController.CreateInstance("minigun");
            gunLoop.IsLooped = true;
            gunLoop.Volume = 0f;
            gunLoop.Play();
            gunLoop.Pause();
            gunLoop.Volume = 0.3f;
            hitLoop = AudioController.CreateInstance("shiphit");
            hitLoop.IsLooped = false;
            hitLoop.Volume = 1f;

            _idleAnim = new SpriteAnim(spritesheet, 0, 1, 16, 16, 100, new Vector2(8, 8));
            _idleAnim.Play();
            _upAnim = new SpriteAnim(spritesheet, 1, 2, 16, 16, 500, new Vector2(8, 8), false, false, 0);
            _upAnim.Pause();
            _downAnim = new SpriteAnim(spritesheet, 2, 2, 16, 16, 500, new Vector2(8, 8), false, false, 0);
            _downAnim.Pause();

            _idleHitAnim = new SpriteAnim(spritesheet, 3, 1, 16, 16, 100, new Vector2(8, 8));
            _idleHitAnim.Play();
            _upHitAnim = new SpriteAnim(spritesheet, 4, 2, 16, 16, 500, new Vector2(8, 8), false, false, 0);
            _upHitAnim.Pause();
            _downHitAnim = new SpriteAnim(spritesheet, 5, 2, 16, 16, 500, new Vector2(8, 8), false, false, 0);
            _downHitAnim.Pause();

            Active = true;
        }
Exemple #14
0
        // Use this for initialization
        void Start()
        {
            //
            if( m_MoveDir.x != 1 && m_MoveDir.y != 1 && m_MoveDir.z != 1 &&
               m_MoveDir.x != -1 && m_MoveDir.y != -1 && m_MoveDir.z != -1 )
            {
                Debug.LogWarning( "The MoveDir is invalid. Set it to default.", this );
                m_MoveDir = Vector3.right;
            }

            UIEventTrigger trigger = this.transform.GetComponent<UIEventTrigger>();

            if(trigger == null)
            {
                trigger = this.gameObject.AddComponent<UIEventTrigger>();
            }

            EventDelegate.Add(trigger.onHoverOver,this.OnHoverIn);
            EventDelegate.Add(trigger.onHoverOut,this.OnHoverOut);

            m_SpriteAnim = this.GetComponent<SpriteAnim>();

            if( m_SpriteAnim == null )
                Debug.LogWarning( "This GameObject has not Component:'SpriteAnim'.", this );
            else
                m_SpriteAnim.Pause();

            //
            StartCoroutine( DelayInit() );
        }
 private static void ReplaceAnim(uint AnimEntityID, SpriteAnim newAnim)
 {
     SpriteAnim targetAnim = ComponentManager.SpriteAnimComponent[AnimEntityID];
 }
    public static SpriteAnim SetMageAnim(uint ownerID, AnimList anim)
    {
        SpriteAnim spriteAnim = new SpriteAnim()
        {
            EntityID = ownerID,
            AnimArray = new List<Sprite>(),
            FPS = 10,
            AnimIndex = 0,
            TimeLeft = 0,
            FrameIncrement = 1,
            AnimType = SpriteType.Loop
        };

        switch (anim)
        {
            case AnimList.Left:
            {
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID,CharPosition.Left2));
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID,CharPosition.Left1));
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID,CharPosition.Left2));
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID,CharPosition.Left3));

                spriteAnim.AnimID = AnimList.Left;
                break;
            }

            case AnimList.Right:
            {
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID,CharPosition.Right2));
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID,CharPosition.Right1));
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID,CharPosition.Right2));
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID, CharPosition.Right3));

                spriteAnim.AnimID = AnimList.Right;
                break;
            }

            case AnimList.Up:
            {
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID,CharPosition.Up2));
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID,CharPosition.Up1));
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID,CharPosition.Up2));
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID, CharPosition.Up3));

                spriteAnim.AnimID = AnimList.Up;
                break;
            }

            case AnimList.Down:
            {
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID,CharPosition.Down2));
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID,CharPosition.Down1));
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID,CharPosition.Down2));
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID, CharPosition.Down3));

                spriteAnim.AnimID = AnimList.Down;
                break;
            }
            case AnimList.IdleUp:
            {
                spriteAnim.FrameIncrement = 0;
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID, CharPosition.IdleUp));

                spriteAnim.AnimID = AnimList.IdleUp;
                break;
            }
            case AnimList.IdleDown:
            {
                spriteAnim.FrameIncrement = 0;
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID, CharPosition.IdleDown));

                spriteAnim.AnimID = AnimList.IdleDown;
                break;
            }
            case AnimList.IdleLeft:
            {
                spriteAnim.FrameIncrement = 0;
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID, CharPosition.IdleLeft));

                spriteAnim.AnimID = AnimList.IdleLeft;
                break;
            }
            case AnimList.IdleRight:
            {
                spriteAnim.FrameIncrement = 0;
                spriteAnim.AnimArray.Add(SetMageSprite(ownerID, CharPosition.IdleRight));

                spriteAnim.AnimID = AnimList.IdleRight;
                break;
            }

            default:
            {
                throw new UnityException("PlayerAnimList is null or does not exist");
            }

        }

        return spriteAnim;
    }
Exemple #17
0
 void Start()
 {
     sprAnim = GetComponent <SpriteAnim>();
     sprAnim.Play(0);
 }
Exemple #18
0
        void Update()
        {
            // Store the sprite anim component if we haven't already
            if (m_anim == null)
            {
                m_anim = GetComponent <SpriteAnim>();
            }

            // If we're currently shooting, don't do anything else
            if (m_anim.IsPlaying(m_shoot))
            {
                return;
            }

            // Handle movement
            // Check if we're pressing left/right, and set a direction variable if we are
            float direction = 0;

            if (Input.GetKey(KeyCode.LeftArrow))
            {
                direction = -1;
            }

            if (Input.GetKey(KeyCode.RightArrow))
            {
                direction = 1;
            }

            if (direction == 0)
            {
                // If there's no direction pressed, return to the idle animation
                if (m_anim.Clip != m_idle)           // (check we're not already in the animation first though)
                {
                    m_anim.Play(m_idle);
                }
            }
            else
            {
                // If direction is set, play the run animation (after checking we're not already playing it)
                if (m_anim.Clip != m_run)
                {
                    m_anim.Play(m_run);
                }

                // Move the character in the chosen direction
                transform.Translate(new Vector3(direction * m_speed * Time.deltaTime, 0, 0));
                if (transform.localScale.x != direction)
                {
                    transform.localScale = new Vector3(direction, 1, 1);
                }
            }

            // Shooting stuff!

            // Choose weapon with the '1' or '2' keys
            if (Input.GetKeyDown(KeyCode.Alpha1))
            {
                GetComponentInChildren <PlayRandomAnim>().SetClip(0);
            }
            if (Input.GetKeyDown(KeyCode.Alpha2))
            {
                GetComponentInChildren <PlayRandomAnim>().SetClip(1);
            }

            // Start shooting animation with the spacebar
            if (Input.GetKeyDown(KeyCode.Space))
            {
                m_anim.Play(m_shoot);
            }
        }