public void DrawDebugConsole(Toilet_time_main.Gui_Manager guimanager) { MouseInformation.text = "Mouse: | " + guimanager.Cursor.x.ToString() + "," + guimanager.Cursor.y.ToString() + " | " + guimanager.LatestInput.MouseButton.Visit <string>(() => { return(""); }, item => { return("" + item.ToString()); }) + " |"; MouseInformation.Draw(this); InputInformation.text = "Input: | " + guimanager.LatestInput.Walk.Visit <string>(() => { return(""); }, item => { return(" " + item.ToString()); }) + guimanager.LatestInput.MoveAction.Visit <string>(() => { return(""); }, item => { return(" " + item.ToString()); }) + guimanager.LatestInput.CharacterActivity.Visit <string>(() => { return(""); }, item => { return(" " + item.ToString()); }) + guimanager.LatestInput.Settings.Visit <string>(() => { return(""); }, item => { return(" " + item.ToString()); }) + " |"; InputInformation.Draw(this); CooldownInformation.text = "Countdowns: | B: " + ((int)(guimanager.buttoncooldown)).ToString() + " | P: " + ((int)guimanager.pickupcooldown).ToString() + " | C: " + ((int)guimanager.Controls_Cooldown).ToString() + " | E " + ((int)guimanager.End_Of_Level_Cooldown).ToString() + " |"; CooldownInformation.Draw(this); ScreenStats.text = ("Scr: " + guimanager.screen.ToString() + " | Input: " + guimanager.inputmechanism.ToString()) + " | GPonl: " + guimanager.Gamepadonline.ToString() + " | IsLvl: " + guimanager.Current_screen.islevel.ToString(); ScreenStats.Draw(this); LevelStats.text = ("Fallable: " + guimanager.Fallable_Objects.Count().ToString() + " | Inter: " + guimanager.Interacting_Objects.Count().ToString() + " | Stable: " + guimanager.Stable_Objects.Count().ToString() + " | Gui: " + guimanager.Gui_stuff.Count().ToString()); LevelStats.Draw(this); Toilet_time_main.Fallable_Object main = guimanager.GetMain_Character(); if (main != null) { MainInformation.text = "MainY: " + main.position.y.ToString() + " | Vel: " + ((int)(main.velocity)).ToString() + " | Baby: " + main.HasBaby.ToString() + " | Next: " + main.nextscreen.ToString(); } MainInformation.Draw(this); PerformanceInformation.text = ((int)(1 / guimanager.drawdt)).ToString() + " fps | " + ((int)(1 / guimanager.updatedt)).ToString() + " ups"; PerformanceInformation.Draw(this); }
public override void Update(float dt, Gui_Manager guimanager) { base.Update(dt, guimanager); // makes spider walk if (left) { new_x_add -= speed * dt; } else { new_x_add += speed * dt; } x_addition = (int)(new_x_add); this.steps_out += x_addition; new_x_add = new_x_add - x_addition; Fallable_Object main = guimanager.GetMain_Character(); if (main != null) { if (left == false && !guimanager.Check_Collision(this, this.position.x + x_addition + 2, this.position.y, this.size.x, this.size.y)) { this.left = true; } else if (left == true && (!guimanager.Check_Collision(this, this.position.x - x_addition - 2, this.position.y, this.size.x, this.size.y))) { this.left = false; } else { if (!((this.position.x + x_addition + 2 < main.position.x + main.size.x && this.position.x + x_addition - 2 + this.size.x > main.position.x && this.position.y + this.size.y > main.position.y && this.position.y < main.position.y + main.size.y))) { this.position.x += x_addition; } else { guimanager.Main_Dead(); } } } if (this.position.y > 600) { Console.WriteLine("respawning"); this.position.y = startposition.y; this.position.x = this.startposition.x - guimanager.movementchange; } }
public override void Update(float dt, Gui_Manager guimanager) { if (cooldown > 0) { cooldown = cooldown - (1 * dt); } else { cooldown = 0; } // adds new spike if (cooldown <= 0) { Spike spike_to_add = new Spike(position.x, position.y); spike_to_add.velocity = -3; droppingobjects.Add(spike_to_add); cooldown = interval; } // gives dropping objects their functionality droppingobjects.Reset(); while (droppingobjects.GetNext().Visit <bool>(() => false, _ => true)) { Spike droppingobject = droppingobjects.GetCurrent().Visit <Spike>(() => throw new Exception("spike error"), item => item); droppingobject.position.x = this.position.x; droppingobject.Update(dt, guimanager); Fallable_Object main = guimanager.GetMain_Character(); if (main != null) { if (main.position.x < droppingobject.position.x + droppingobject.size.x && main.position.x + main.size.x > droppingobject.position.x) { if (main.position.y + main.size.y > droppingobject.position.y && main.position.y < droppingobject.position.y + droppingobject.size.y) { guimanager.Main_Dead(); // main dead on touch } } } if (droppingobject.position.y > 2000) // remove when falling below 2000 pixels { // removing from list List <Spike> COPYdroppingobjects = droppingobjects; List <Spike> Newdroppingobjects = new List <Spike>(); { COPYdroppingobjects.Reset(); while (COPYdroppingobjects.GetNext().Visit <bool>(() => false, _ => true)) { Spike dropob = COPYdroppingobjects.GetCurrent().Visit <Spike>(() => throw new Exception("copyfail"), item => item); if (dropob.position.y != droppingobject.position.y) { Newdroppingobjects.Add(dropob); } } } droppingobjects = Newdroppingobjects; } } }
public override void Update(float dt, Gui_Manager guimanager) { if (cooldown > 0) { cooldown = cooldown - (1 * dt); } else { cooldown = 0; } // spawns new object when if (cooldown <= 0) { Toilet_Paper To_add = new Toilet_Paper(position.x, position.y); To_add.velocity = -3; droppingobjects.Add(To_add); cooldown = interval; } droppingobjects.Reset(); while (droppingobjects.GetNext().Visit <bool>(() => false, _ => true)) { Toilet_Paper droppingobject = droppingobjects.GetCurrent().Visit <Toilet_Paper>(() => throw new Exception("toiletpaper error"), item => item); droppingobject.position.x = this.position.x; droppingobject.Update(dt, guimanager); // making main die when touching droppingobject Fallable_Object main = guimanager.GetMain_Character(); if (main != null) { if (main.position.x < droppingobject.position.x + droppingobject.size.x && main.position.x + main.size.x > droppingobject.position.x) { if (main.position.y + main.size.y > droppingobject.position.y && main.position.y < droppingobject.position.y + droppingobject.size.y) { //touches main guimanager.Main_Dead(); } } // removing objects form list when below 2000 pixels if (droppingobject.position.y > 2000) { List <Toilet_Paper> COPYdroppingobjects = droppingobjects; List <Toilet_Paper> Newdroppingobjects = new List <Toilet_Paper>(); { COPYdroppingobjects.Reset(); while (COPYdroppingobjects.GetNext().Visit <bool>(() => false, _ => true)) { Toilet_Paper dropob = COPYdroppingobjects.GetCurrent().Visit <Toilet_Paper>(() => throw new Exception("copyfail"), item => item); if (dropob.position.y != droppingobject.position.y) { Newdroppingobjects.Add(dropob); } } } droppingobjects = Newdroppingobjects; } } } }