private void loadingScreen() { loading = false; gsm.unloadState(gsm.stage); gsm.stage = Stage.mainMenu; gsm.loadState(gsm.stage); }
public override void mouse_click(object sender, MouseEventArgs e) { //MessageBox.Show(string.Format("{0},{1}",e.X,e.Y)); Rectangle cursor = new Rectangle(e.X, e.Y, 10, 10); if (!selected) { for (int i = 0; i < rosterField.Count; i++) { if (rosterField[i].IntersectsWith(cursor) && !roster_bool[i]) { index = i; selected = true; roster_bool[i] = true; break; } } } if (selected) { for (int i = 0; i < karacters.Count; i++) { if (cursor.IntersectsWith(karacters[i].getSelect())) { selected = false; karacters[i].setKaracter(player.myCharacter[index]); player.currentCharacters.Add(karacters[i].GetKarakter()); index = -1; break; } } } for (int i = 0; i < battleRect.Length; i++) { if (battleRect[i].IntersectsWith(cursor)) { if (i == 2) { gsm.dif = Stage.easyState; } if (i == 1) { gsm.dif = Stage.mediumState; } if (i == 0) { gsm.dif = Stage.hardState; } gsm.stage = Stage.provision; gsm.loadState(gsm.stage); } } }
public override void update() { if (!gerak) { gerak_icon += 2; } else { gerak_icon -= 2; } if (gerak_icon > 20 && !gerak) { gerak = true; } if (gerak_icon < 0 && gerak) { gerak = false; } if (zoom <= 80 && (serang == true || serang_musuh == true)) { zoom += 30; zoom_bkg += 70; } if (serang) { timer_attack++; player[pilihHero].x += 1; } if (serang_musuh) { timer_attack++; musuh[pilihMusuh].x -= 1; } if (timer_attack == 30 && serang == true) { timer_attack = 0; zoom = 0; zoom_bkg = 0; player[pilihHero].x = 350 - 100 * pilihHero; player[pilihHero].hero_move = "idle"; player[pilihHero].hero_move_now = 1; serang = false; if (musuh[targetMusuh].hp <= 0) { try { for (int i = 0; i < turnAttack.Count; i++) { if (turnAttack[i].jenis == 0) { if (turnAttack[i].ke == musuh.Count) { turnAttack.RemoveAt(i); i--; } else if (turnAttack[i].ke > targetMusuh) { turnAttack[i].ke--; musuh[turnAttack[i].ke].x -= 100; } } } } catch (Exception) { } MessageBox.Show("mati"); musuh.RemoveAt(targetMusuh); } winCondition(); gantiTurn(); } if (timer_attack == 30 && serang_musuh == true) { timer_attack = 0; zoom = 0; zoom_bkg = 0; musuh[pilihMusuh].x = 700 + pilihMusuh * 100; musuh[pilihMusuh].musuh_move_now = 1; musuh[pilihMusuh].musuh_move = "idle"; serang_musuh = false; player[targetHero].x = 350 - 100 * targetHero; if (player[targetHero].hp <= 0) { for (int i = 0; i < turnAttack.Count; i++) { if (turnAttack[i].jenis == 1) { if (turnAttack[i].ke == player.Count) { turnAttack.RemoveAt(i); i--; } else if (turnAttack[i].ke > targetHero) { player[turnAttack[i].ke].x += 100; turnAttack[i].ke--; } } } player.RemoveAt(targetHero); if (player.Count == 0) { MessageBox.Show("Mati Semua"); for (int i = 0; i < gsm.player.currentCharacters.Count; i++) { if (gsm.player.currentCharacters[i].hp <= 0) { gsm.player.currentCharacters.RemoveAt(i); i--; } } gsm.stage = Stage.mainMenu; gsm.loadState(gsm.stage); } } gantiTurn(); } if (delay_aktif) { timer_attack++; if (timer_attack == 30) { targetHero = r.Next(player.Count); int pilih_attack_musuh = r.Next(1, 4); try { pilihMusuh = turnAttack[turn_ke].ke; musuh[pilihMusuh].skill[pilih_attack_musuh].getDamageSkill(targetHero, player); musuh[pilihMusuh].x = 650; player[targetHero].x = 450; musuh[pilihMusuh].musuh_move_now = 1; musuh[pilihMusuh].musuh_move = "skill" + pilih_attack_musuh; } catch (Exception) { pilihMusuh = turnAttack[turn_ke].ke; pilihMusuh = 0; musuh[pilihMusuh].skill[pilih_attack_musuh].getDamageSkill(targetHero, player); musuh[pilihMusuh].x = 650; player[targetHero].x = 450; musuh[pilihMusuh].musuh_move_now = 1; musuh[pilihMusuh].musuh_move = "skill" + pilih_attack_musuh; } delay_aktif = false; timer_attack = 0; serang_musuh = true; //sfx.Stop(); //string RunningPath = AppDomain.CurrentDomain.BaseDirectory; //string FileName = string.Format("{0}Resources\\yeti_attack_sfx_1.wav", Path.GetFullPath(Path.Combine(RunningPath, @"..\..\"))); //sfx.Open(new System.Uri(FileName)); //sfx.Play(); } } if (timer_geser) { if (0 == gerak_geser_max) { timer_geser = false; ganti_posisi = false; karakter swap_char = player[pilihHero]; player[pilihHero] = player[targetHero]; player[targetHero] = swap_char; int tmp_ind = turnAttack[turn_ke].ke;//0 for (int i = 0; i < turnAttack.Count; i++) { if (turnAttack[i].jenis == 1 && turnAttack[i].ke == targetHero) { turnAttack[turn_ke].ke = turnAttack[i].ke; turnAttack[i].ke = tmp_ind; } } tmp_ind = pilihHero; pilihHero = targetHero; targetHero = tmp_ind; gantiTurn(); } else { if (pilihHero >= targetHero) { player[pilihHero].x += gerak_geser; player[targetHero].x -= gerak_geser; } else { player[pilihHero].x -= gerak_geser; player[targetHero].x += gerak_geser; } gerak_geser_max -= gerak_geser; } } }