My entry to Ludum Dare 53
at master 2.0 kB view raw
1namespace LD53; 2 3class PlayerController : Component 4{ 5 // Texture t = new("Images/Boat/boat_00.png"); 6 Transform transform; 7 BoatRenderer br; 8 public int Gold = 0; 9 MainScene main; 10 11 List<Vector3> v = new(); 12 13 public override void Awake() 14 { 15 transform = Get<Transform>(); 16 br = Get<BoatRenderer>(); 17 main = SceneHandler.Get<MainScene>(); 18 } 19 20 public override void Sleep() 21 { 22 23 } 24 25 public override void Update() 26 { 27 Debug.RegisterCommand("getpos", (args) => { 28 Debug.Log(transform.Position); 29 }); 30 31 float mSpeed = 70; // 70 32 33 if(Keyboard.Down(Key.A)) 34 { 35 transform.Angle -= 100f * DeltaTime; 36 } 37 38 if(Keyboard.Down(Key.D)) 39 { 40 transform.Angle += 100f * DeltaTime; 41 } 42 43 if(Keyboard.Down(Key.W)) 44 { 45 transform.Position += Helpers.LengthDir(mSpeed * DeltaTime, transform.Angle); 46 47 Random rand = new(); 48 if(rand.NextDouble() > 0.98) 49 br.v.Add(new Vector3(transform.Position + Helpers.LengthDir(10, transform.Angle + 180 + ((rand.NextDouble() - 0.5) * 50)), 1)); 50 } 51 52 if(Mouse.Pressed(MB.Left)) 53 { 54 Get<BoatShooterController>().Shoot(); 55 } 56 57 if(transform.Position.X < -3200 || transform.Position.X > 3200 || transform.Position.Y < -3200 || transform.Position.Y > 3200) 58 { 59 SceneHandler.Unload("Main"); 60 SceneHandler.Load("LostAtSea"); 61 } 62 63 for(var j = 0; j < main.Map.Count; j++) 64 { 65 foreach(var i in main.Islands[main.Map[j].Item1]) 66 { 67 if(Helpers.PointInside(transform.Position, new Vector4(i.Key.X * 16 - main.Map[j].Item2.X, i.Key.Y * 16 - main.Map[j].Item2.Y, 16, 16))) 68 { 69 transform.Position += Helpers.LengthDir(mSpeed * DeltaTime, transform.Angle + 180); 70 } 71 } 72 } 73 } 74}