void PlayerObject_PlayerDeath(DodgerX arg1, Player arg2)
 {
     int pos = 0;
     if (-1 < (pos = arg1.HighScoreData.Eligible((int)CurrentScore)))
     {
         ValueEntryState ves = new ValueEntryState("High Score (#" + (pos+1).ToString() + ")", GetUsername(), "YOu got a High Score! Please Enter your name.", HighScoreEntered);
         arg1.CurrentState = ves;
     }
 }
Example #2
0
        private bool CheckPlayerCollision(DodgerX go,Player playerobject)
        {
            if (playerobject == null) return false;
            List<Player.PlayerCircleItem> removethese = new List<Player.PlayerCircleItem>();

            Vector2 ourCenter = new Vector2(Location.X + Texture.Width / 2, Location.Y + Texture.Height / 2);
            bool returnvalue = false;
            foreach (var iterate in playerobject.CircleItems)
            {
                Vector2 iteratecenter = new Vector2(iterate.X + iterate.Texture.Width / 2, iterate.Y + iterate.Texture.Height / 2);
                if(Distance(ourCenter,iteratecenter)
                    < (Texture.Width / 2 + iterate.Texture.Width / 2))
                {
                    //HIT.
                    //destroy.

                    DestructionReturnType destructiontype = Destroy(iterate);
                    if ((destructiontype & DestructionReturnType.Destruct_PlayerPiece) == DestructionReturnType.Destruct_PlayerPiece)
                    {
                        iterate.hitcount++;
                        if(iterate.hitcount > iterate.Textures.Length-1)
                            removethese.Add(iterate);

                        DodgerX.soundBank.GetCue("gren").Play();

                    }
                    if ((destructiontype & DestructionReturnType.Destruct_Heal) == DestructionReturnType.Destruct_Heal)
                    {

                        if (iterate.hitcount > 0)
                        {
                            DodgerX.soundBank.GetCue("charge").Play();
                            iterate.hitcount--;
                        }
                        else
                        {
                            playerobject.Heal(1);
                        }

                    }
                    if ((destructiontype & DestructionReturnType.Destruct_Self) == DestructionReturnType.Destruct_Self)
                    {
                        returnvalue = true;
                        break;
                    }

                }

            }

            foreach (var removethis in removethese)
            {

                playerobject.CircleItems.Remove(removethis);
            }

            return returnvalue;
        }
Example #3
0
 protected override AttackingObject.DestructionReturnType Destroy(Player.PlayerCircleItem impactwith)
 {
     return DestructionReturnType.Destruct_Heal | DestructionReturnType.Destruct_Self;
 }
Example #4
0
 protected virtual DestructionReturnType Destroy(Player.PlayerCircleItem impactwith)
 {
     return DestructionReturnType.Destruct_Both;
 }