public void endEvent() { BoatBehavior player = GameObject.FindGameObjectWithTag("Player").GetComponent <BoatBehavior>(); player.canmove = true; event_active = false; }
void Update() { Collider2D c = Physics2D.OverlapPoint(Camera.main.ScreenToWorldPoint(Input.mousePosition)); GameObject over = (c == null) ? null:c.gameObject; if (interest != null && interest.tag == "Boat") { UIHandler uih = FindObjectOfType <UIHandler> (); uih.ToggleBoatUI(true); BoatBehavior b = interest.GetComponent <BoatBehavior> (); uih.UpdateBoatUI(b.maxCapaciity - b.capacity, b.fish, b.refugees, Mathf.Round(b.fuel)); } else { UIHandler uih = FindObjectOfType <UIHandler> (); uih.ToggleBoatUI(false); } if ((over != null && over.tag == "Boat") || (interest != null && interest.tag == "Boat")) { Cursor.SetCursor(cursor, Vector2.zero, CursorMode.Auto); } else { Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto); } if (Input.GetMouseButtonDown(0)) { pickAction(0, over); } else if (Input.GetMouseButtonDown(1)) { pickAction(1, over); } }
public SailingBoatState(BoatBehavior bb, SeaBehavior sb) : base(bb) { seaBehavior = sb; }
public DefaultBoatState(BoatBehavior bb) : base(bb) { }
public RestingBoatState(BoatBehavior bb) : base(bb) { }
public SurfinBoatState(BoatBehavior bb, SeaBehavior sb, Wave w) : base(bb) { seaBehavior = sb; wave = w; }
// Update is called once per frame void LateUpdate() { //Check Clicked if (!destroy_obj) { if (clicked) { pos_lerp = Mathf.Lerp(pos_lerp, 0, Time.deltaTime * 3.5f); if (pos_lerp <= 0.15f) { if (trigger != null) { trigger.triggerDialogue(); } transform.parent.gameObject.GetComponent <EventManager>().startEvent(event_data); Destroy(gameObject); } } else { Vector3 v3 = Input.mousePosition; v3.z = 0; if (col.bounds.Contains(v3)) { if (Input.GetMouseButtonDown(0)) { BoatBehavior player = GameObject.FindGameObjectWithTag("Player").GetComponent <BoatBehavior>(); player.canmove = false; clicked = true; if (GameObject.FindGameObjectWithTag("Anchor") != null) { Destroy(GameObject.FindGameObjectWithTag("Anchor").gameObject); } } } pos_lerp = Mathf.Lerp(pos_lerp, 1, Time.deltaTime * 3.5f); } } else { pos_lerp = Mathf.Lerp(pos_lerp, 0, Time.deltaTime * 3.5f); if (pos_lerp <= 0.15f) { Destroy(gameObject); } } //Tilt tilt_timer -= Time.deltaTime; if (tilt_timer <= 0) { tilt_timer = 0.5f; tilt_index++; if (tilt_index >= tilt.Length) { tilt_index = 0; } rect.localEulerAngles = new Vector3(0f, 0f, tilt[tilt_index]); } //Update Position img.color = new Color(img.color.r, img.color.g, img.color.b, Mathf.Clamp(pos_lerp, 0, 1)); Vector2 new_pos = Vector2.Lerp(pos_start, pos_end, pos_lerp); rect.localPosition = new Vector3(new_pos.x, new_pos.y, 0f); }