void Init() { rect.position = new Vector3(Middle.x, Middle.y); selected_turrets = new List <Turret>(); List <Turret> all_turrets = new List <Turret>(); foreach (Turret [] turrs in player_script.turrets.Values) { all_turrets.AddRange(turrs); } for (int i = 0; i < all_turrets.Count; i++) { Turret turret = all_turrets[i]; Vector3 pos = new Vector3(Middle.x + 70f, Middle.y + 150f - (50 * i)); GameObject button_object = Instantiate(source_button); button_object.transform.position = pos; button_object.transform.SetParent(mask_transform, true); TurretButton tb = button_object.GetComponent <TurretButton>(); tb.Initiate(this, (uint)i, turret); if (Edit) { if (group.Contains(turret)) { tb.On = true; } } else { if (preselected_turrets.Contains(turret)) { tb.On = true; } } TurretButton butt = button_object.GetComponent <TurretButton>(); turret_graphs.Add(butt, turret); init_positions.Add(button_object.transform.position); } slider_ratio = Mathf.Min(1, 300f / (50f * (float)all_turrets.Count)); slider.transform.SetAsFirstSibling(); if (Edit) { if (group.follow_target) { tgt_choice.value = (int)TargetChoice.target; } else { tgt_choice.value = (int)TargetChoice.cursor; } name_input.text = group.name; } }
public void ResetPlayer(Ship p_player) { PlayerShip = p_player; // Initialize player related stuff GameObject player = PlayerShip.Object; player_script = player.GetComponent <ShipControl>(); player_transform = player.transform; // Reset Collections weapon_states.Clear(); turret_states.Clear(); foreach (Weapon w in PlayerShip.Parts.GetAll <Weapon>()) { GameObject obj = Instantiate(GameObject.Find("tgt_point")) as GameObject; obj.transform.SetParent(ship_canvas); Image img = obj.GetComponent <Image>(); weapon_states.Add(w, img); } foreach (Turret t in PlayerShip.Parts.GetAll <Turret>()) { GameObject obj = Instantiate(GameObject.Find("tgt_point")) as GameObject; obj.transform.SetParent(ship_canvas); Image img = obj.GetComponent <Image>(); turret_states.Add(t, img); } // Fill turret_graphs and initialize the buttons' scripts // ------------------------------------------------------- TurretGraphs = new Dictionary <TurretButton, Turret>(); TurretGroupGraphs = new Dictionary <TurretButton, TurretGroup>(); GameObject turr_img_instance = GameObject.Find("turr_slide"); uint i = 0; foreach (Turret [] turrs in player_script.turrets.Values) { foreach (Turret turr in turrs) { GameObject obj = Instantiate(turr_img_instance); obj.transform.SetParent(SceneGlobals.permanent_canvas.transform); obj.transform.position = new Vector3(Screen.width - 50, Screen.height - 75 - (i * 50)); obj.transform.SetAsFirstSibling(); TurretButton button = obj.GetComponent <TurretButton>(); button.Initiate(this, i, turr); TurretGraphs.Add(button, turr); i++; } } handle_size_ratio[0] = Mathf.Min(1, ((float)Screen.height - 250f) / (50f * i)); // Fill group_graphs and initialize the buttons' scripts //------------------------------------------------------ for (int j = 0; j < player_script.turretgroup_list.Count; j++) { TurretGroup tg = player_script.turretgroup_list[j]; GameObject obj = Instantiate(turr_img_instance); obj.transform.SetParent(SceneGlobals.permanent_canvas.transform); obj.transform.position = new Vector3(Screen.width + 50, Screen.height - 75 - (j * 50)); obj.transform.SetAsFirstSibling(); TurretButton button = obj.GetComponent <TurretButton>(); button.Initiate(this, (uint)j, tg); TurretGroupGraphs.Add(button, tg); } handle_size_ratio [1] = Mathf.Min(1, ((float)Screen.height - 250f) / (50f * player_script.turretgroup_list.Count)); ButtonLabelUpdate(); }