public void CheckCollide(ArcanaPlayer player) { if (Vector2.Distance(CollisionCenter, player.CollisionCenter) < (CollisionRadius + player.CollisionRadius)) { if (OnPlayerCollision(player)) { OnPickup (this, new GenericEventArgs<ArcanaPlayer> (player)); } } }
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(); }
public override bool OnPlayerCollision(ArcanaPlayer p) { //TODO: Add some effect return true; }
public override bool OnPlayerCollision(ArcanaPlayer p) { p.Health += 50; return true; }
public override bool OnPlayerCollision(ArcanaPlayer p) { return true; }
public override bool OnPlayerCollision(ArcanaPlayer p) { //gen.ApplyPowerup(this); return true; }
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; } }
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(); } }
public abstract bool OnPlayerCollision(ArcanaPlayer p);
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)); }
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); } }