Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using SFML.Audio;
- using SFML.Graphics;
- using SFML.Window;
- using DanmakufuDotNet;
- public class TemplatePlayer : Player
- {
- public bool Focused { get; set; }
- public bool CanMove { get; set; }
- public bool CanFocus { get; set; }
- public bool CanShoot { get; set; }
- public float Speed { get; set; }
- public float FocusSpeed { get; set; }
- public Sprite HitboxSprite { get; set; }
- public Sprite FocusAuraSprite { get; set; }
- public TemplatePlayer() : base("TemplatePlayer")
- {
- Sprite = new Sprite(ResourcesImages["TemplatePlayer"]);
- X = 640/2;
- Y = 480/2;
- CanMove = true;
- CanFocus = true;
- CanShoot = true;
- Speed = 1.3f;
- FocusSpeed = 0.75f;
- HitboxSprite = new Sprite(ResourcesImages["Hitbox"]);
- HitboxSprite.Origin = new Vector2(HitboxSprite.Image.Width / 2, HitboxSprite.Image.Height / 2);
- FocusAuraSprite = new Sprite(ResourcesImages["FocusAura"]);
- FocusAuraSprite.Origin = new Vector2(FocusAuraSprite.Image.Width / 2, FocusAuraSprite.Image.Height / 2);
- }
- public override void Update()
- {
- base.Update();
- if(CanFocus)
- UpdateFocus();
- if(CanMove)
- UpdateMovement();
- if(CanShoot)
- UpdateShoot();
- }
- public void UpdateFocus()
- {
- if(Game.RenderWindow.Input.IsKeyDown(KeyCode.LShift))
- {
- Focused = true;
- }
- else
- {
- Focused = false;
- }
- }
- public void UpdateMovement()
- {
- float nextX = 0;
- float nextY = 0;
- float nextSpeed = 0;
- if(Focused)
- {
- nextSpeed = FocusSpeed;
- }
- else
- {
- nextSpeed = Speed;
- }
- if(Game.RenderWindow.Input.IsKeyDown(KeyCode.Up))
- {
- nextY = -1;
- }
- else if(Game.RenderWindow.Input.IsKeyDown(KeyCode.Down))
- {
- nextY = 1;
- }
- if(Game.RenderWindow.Input.IsKeyDown(KeyCode.Left))
- {
- nextX = -1;
- }
- else if(Game.RenderWindow.Input.IsKeyDown(KeyCode.Right))
- {
- nextX = 1;
- }
- if (nextX != 0f && nextY != 0f)
- {
- nextX *= 0.707106781f;
- nextY *= 0.707106781f;
- }
- X += nextX * nextSpeed;
- Y += nextY * nextSpeed;
- }
- public void UpdateShoot()
- {
- if(Game.RenderWindow.Input.IsKeyDown(KeyCode.Z))
- {
- TemplatePlayerShot playerShot = new TemplatePlayerShot();
- playerShot.Sprite = new Sprite(ResourcesImages["PlayerShot"]);
- playerShot.Speed = Helper.Random.Next(10,40) / 10f + 1;
- playerShot.Angle = 180 + 90;
- playerShot.Sprite.Scale = new Vector2(Helper.Random.Next(10, 60) / 100f + 0.2f, Helper.Random.Next(10, 60) / 100f + 0.2f);
- playerShot.X = Helper.Random.Next(-9, 9) + X;
- playerShot.Y = Y - 18;
- playerShot.Curve = Helper.Random.Next(-4, 4) / 10f;
- playerShot.Sprite.Color = new Color(Convert.ToByte(Helper.Random.Next(0, 255)), Convert.ToByte(Helper.Random.Next(0, 255)), Convert.ToByte(Helper.Random.Next(0, 255)), 255);
- Game.Manager.AddEntity(playerShot);
- }
- }
- public override void Draw()
- {
- base.Draw();
- if(Focused)
- {
- HitboxSprite.Position = new Vector2(X, Y);
- Game.RenderWindow.Draw(HitboxSprite);
- FocusAuraSprite.Position = new Vector2(X, Y);
- FocusAuraSprite.Rotation += 0.5f;
- Game.RenderWindow.Draw(FocusAuraSprite);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment