Example #1
0
 public void CheckCollide(ArcanaPlayer player)
 {
     if (Vector2.Distance(CollisionCenter, player.CollisionCenter) < (CollisionRadius + player.CollisionRadius))
     {
         if (OnPlayerCollision(player))
         {
             OnPickup (this, new GenericEventArgs<ArcanaPlayer> (player));
         }
     }
 }
Example #2
0
        public static void WriteCharacter(XmlTextWriter writer, ArcanaPlayer player)
        {
            writer.WriteStartElement ("Character");

            writer.WriteElementString ("CharacterID", player.CharacterID.ToString ());
            writer.WriteElementString ("Name", player.Name);
            writer.WriteElementString ("Class", player.Class);
            writer.WriteElementString ("Level", player.Level.ToString ());

            writer.WriteEndElement();
        }
Example #3
0
 public override bool OnPlayerCollision(ArcanaPlayer p)
 {
     //TODO: Add some effect
     return true;
 }
Example #4
0
 public override bool OnPlayerCollision(ArcanaPlayer p)
 {
     p.Health += 50;
     return true;
 }
Example #5
0
 public override bool OnPlayerCollision(ArcanaPlayer p)
 {
     return true;
 }
Example #6
0
 public override bool OnPlayerCollision(ArcanaPlayer p)
 {
     //gen.ApplyPowerup(this);
     return true;
 }
Example #7
0
 public CharacterInformation(ArcanaPlayer player = null)
 {
     if (player != null)
     {
         this.Name = player.Name;
         this.Class = player.Class;
         this.Texture = Moxy.ContentManager.Load<Texture2D> ("Interface//cf_" + player.Class.ToLower());
         this.Player = player;
     }
 }
Example #8
0
        private void ReadWriteTestStructure()
        {
            string saveRoot = Path.Combine (Environment.CurrentDirectory, "saves");
            string characterPath = Path.Combine (saveRoot, "NullSoldier");

            if (!Directory.Exists (saveRoot))
                Directory.CreateDirectory (saveRoot);

            if (!File.Exists (characterPath))
            {
                ArcanaPlayer testPlayer = new ArcanaPlayer
                {
                    CharacterID = 0,
                    Name = "NullSoldier",
                    Class = "Mage",
                    Level = 4
                };

                File.Create (Path.Combine (characterPath)).Close ();
                XmlTextWriter testWriter = new XmlTextWriter (characterPath, Encoding.UTF8);
                CharacterSerializer.WriteCharacter (testWriter, testPlayer);
                testWriter.Flush();
                testWriter.Close();
            }
        }
Example #9
0
 public abstract bool OnPlayerCollision(ArcanaPlayer p);
Example #10
0
 public void CheckCollide(ArcanaPlayer player)
 {
     var distance = Vector2.Distance(player.CollisionCenter, CollisionCenter);
     if (Alive && distance < player.CollisionRadius + CollisionRadius && OnCollisionWithPlayer != null)
         OnCollisionWithPlayer (this, new GenericEventArgs<ArcanaPlayer> (player));
 }
Example #11
0
        public void Update(GameTime gameTime)
        {
            GamePadState padState = Moxy.CurrentPadStates[PlayerIndex];
            GamePadState lastState = Moxy.LastPadStates[PlayerIndex];
            IsConnected = padState.IsConnected;

            if (frameState == FrameState.WaitingForPlayer)
            {
                if (Moxy.WasPadButtonPressed (PlayerIndex, Buttons.Start) || Moxy.WasPadButtonPressed (PlayerIndex, Buttons.A))
                {
                    charInfo = CharacterHolder.GetCharacterSlot (characterSlot = 0);
                    frameState = FrameState.SelectCharacter;
                    IsActive = true;
                }
            }
            else if (frameState == FrameState.Ready)
            {
                if (Moxy.WasPadButtonPressed (PlayerIndex, Buttons.B))
                {
                    frameState = FrameState.SelectCharacter;
                    IsReady = false;
                }
            }
            else if (frameState == FrameState.SelectCharacter)
            {
                bool selectNew = false;
                if (Moxy.WasPadButtonPressed (PlayerIndex, Buttons.DPadRight))
                {
                    characterSlot = Helpers.GetLoopableInt (++characterSlot, 0, CharacterHolder.Count - 1);
                    selectNew = true;
                }
                else if (Moxy.WasPadButtonPressed (PlayerIndex, Buttons.DPadLeft))
                {
                    characterSlot = Helpers.GetLoopableInt (--characterSlot, 0, CharacterHolder.Count - 1);
                    selectNew = true;
                }
                else if (Moxy.WasPadButtonPressed (PlayerIndex, Buttons.DPadDown)
                    || Moxy.WasPadButtonPressed (PlayerIndex, Buttons.DPadUp))
                {
                    frameState = FrameState.DisplayCreateCharacter;
                }
                else if (Moxy.WasPadButtonPressed (PlayerIndex, Buttons.A))
                {
                    Character = charInfo.Player;
                    IsReady = true;
                    frameState = FrameState.Ready;
                }

                if (selectNew)
                    charInfo = CharacterHolder.GetCharacterSlot (characterSlot);
            }
            else if (frameState == FrameState.DisplayCreateCharacter)
            {
                if (Moxy.WasPadButtonPressed (PlayerIndex, Buttons.DPadDown)
                    || Moxy.WasPadButtonPressed (PlayerIndex, Buttons.DPadUp))
                {
                    frameState = FrameState.SelectCharacter;
                }
                else if (Moxy.WasPadButtonPressed (PlayerIndex, Buttons.A))
                {
                    classInfo = CharacterHolder.GetClassSlot (classSlot = 0);
                    frameState = FrameState.PickClass;
                }
            }
            else if (frameState == FrameState.PickClass)
            {
                bool selectNew = false;
                if (Moxy.WasPadButtonPressed (PlayerIndex, Buttons.DPadRight))
                {
                    classSlot = Helpers.GetLoopableInt (++classSlot, 0, CharacterHolder.ClassCount - 1);
                    selectNew = true;
                }
                else if (Moxy.WasPadButtonPressed (PlayerIndex, Buttons.DPadLeft))
                {
                    classSlot = Helpers.GetLoopableInt (--classSlot, 0, CharacterHolder.ClassCount - 1);
                    selectNew = true;
                }
                else if (Moxy.WasPadButtonPressed (PlayerIndex, Buttons.B))
                {
                    // Go back to new screen
                    frameState = FrameState.SelectCharacter;
                }
                else if (Moxy.WasPadButtonPressed (PlayerIndex, Buttons.A))
                {
                    CharacterHolder.Characters.Add (new CharacterInformation (new ArcanaPlayer
                    {
                        Name = "No Name",
                        Class = classInfo.Class,
                    }));

                    // Select our newly created character
                    charInfo = CharacterHolder.GetCharacterSlot (characterSlot = CharacterHolder.Count - 1);
                    frameState = FrameState.SelectCharacter;
                }

                if (selectNew)
                    classInfo = CharacterHolder.GetClassSlot (classSlot);
            }
        }