new void Awake() { base.Awake(); Type = WindowType.LocationView; if (!Instance) { Instance = this; } BuyFoodButton.onClick.AddListener(BuyFoodBox); BuyGobboButton.onClick.AddListener(BuyGoblinBox); SellGobButton.onClick.AddListener(SellGoblinBox); }
private void refreshVillages() { VillageView.Invoke((MethodInvoker) delegate { VillageView.Items.Clear(); }); int i = 0; VillageList = new List <TravianVillage>(); VillageList.AddRange(tb.RefreshVillageList()); // TODO: MAKE ROMANS OR NON ROMANS WORK if (IsRoman.Checked == true) { TaskBusyBool = new bool[VillageList.Count, 2]; } else { TaskBusyBool = new bool[VillageList.Count, 2]; } foreach (TravianVillage village in VillageList) { i++; village.Number = i; tb.Navigate(village.Url); village.ResourceFields = tb.RefreshResourceAreas(); tb.resources(village); village.Buildings = tb.RefreshBuildingAreas(); var list = tb.RefreshBuildTimes(i); DoingTaskBuildList.AddRange(list); foreach (var item in list) { MessageBox.Show(TaskBusyBool.GetLength(0) + "\n" + TaskBusyBool.GetLength(1)); MessageBox.Show((i - 1).ToString()); MessageBox.Show((item.IsResource ? 1 : 0).ToString()); MessageBox.Show(TaskBusyBool[i - 1, item.IsResource ? 1 : 0].ToString()); TaskBusyBool[i - 1, item.IsResource ? 1 : 0] = true; } } foreach (var village in VillageList) { village.Resources[0] = village.Resources[0] + (village.Production[0] / 240); village.Resources[1] = village.Resources[1] + (village.Production[1] / 240); village.Resources[2] = village.Resources[2] + (village.Production[2] / 240); village.Resources[3] = village.Resources[3] + (village.Production[3] / 240); var lvi = new ListViewItem(); lvi.Text = village.Name; lvi.SubItems.Add(i.ToString()); lvi.SubItems.Add(tb.Is_under_attack()); lvi.SubItems.Add(TaskBusyBool[village.Number - 1, 1].ToString()); lvi.SubItems.Add(TaskBusyBool[village.Number - 1, 0].ToString()); lvi.Tag = village.Number; VillageView.Invoke((MethodInvoker) delegate { VillageView.Items.Add(lvi); }); } }
private void HandleClick(Vector3 position) { Sound.PlayMapCLick(); //TODO Move this to a routine and insert a pause here and a shout from the Chief Ray ray = Camera.main.ScreenPointToRay(position); RaycastHit hit; if (Physics.Raycast(ray, out hit, 1000, HitMask)) { if (hit.collider && hit.collider.GetComponent <Lootable>()) { var loot = hit.collider.GetComponent <Lootable>(); if (loot.InArea && loot.InArea.Visible()) { Team.Leader.Search(loot); } } else if (hit.collider && hit.collider.GetComponent <Character>()) //TODO:check visibility else just move there { var c = hit.collider.GetComponent <Character>(); if (c) { //Debug.Log("Clicked charaacter " + c.name); if (c.tag == "Enemy" && c.Alive()) { if (c.InArea.Visible()) { Team.Attack(c); } else { //ClickedArea(c.InArea); } } else if (c as Goblin) { CharacterView.ShowCharacter(c as Goblin); ChangeZoomLevel(ZoomLevel.GoblinView); } else { //ClickedArea(c.InArea); } } } //TODO use parent class for these else if (hit.collider && hit.collider.GetComponent <GoblinWarrens>()) { var v = hit.collider.GetComponent <GoblinWarrens>(); if (v.InArea.Visible()) { VillageView.OpenVillageView(v, Team); } else { //ClickedArea(v.InArea); } } //TODO use parent class for these else if (hit.collider && hit.collider.GetComponent <HumanSettlement>()) { var v = hit.collider.GetComponent <HumanSettlement>(); if (v.InArea.Visible()) { PlayerChoice.CreateDoChoice(() => v.AttackSettlement(), "Do you want to attack the Human " + v.Name); } //else // ClickedArea(v.InArea); } //TODO: handle the point of interest click generally. Replace BigstoneView and CaveView with a Poi view? else if (hit.collider && hit.collider.GetComponent <Monument>()) { var monument = hit.collider.GetComponent <Monument>(); if (monument.InArea.Visible()) { BigStoneView.OpenStoneView(monument, Team); } //else // ClickedArea(monument.InArea); } else if (hit.collider && hit.collider.GetComponent <Cave>()) { var cave = hit.collider.GetComponent <Cave>(); if (cave.InArea.Visible()) { CaveView.OpenCaveView(cave, Team); } //else // ClickedArea(cave.InArea); } else if (hit.collider && hit.collider.GetComponent <WitchHut>()) { var hut = hit.collider.GetComponent <WitchHut>(); if (hut.InArea.Visible()) { WitchHutView.OpenWitchView(hut, Team); } //else // ClickedArea(hut.InArea); } else if (hit.collider && hit.collider.GetComponent <Area>()) { var a = hit.collider.GetComponent <Area>(); //Debug.Log("Clicked Area : " + (a.name)); //ClickedArea(a); } else { Debug.LogWarning("Not a valid hit: " + hit.point); } } }