Наследование: MonoBehaviour
Пример #1
0
    public void endEvent()
    {
        BoatBehavior player = GameObject.FindGameObjectWithTag("Player").GetComponent <BoatBehavior>();

        player.canmove = true;
        event_active   = false;
    }
Пример #2
0
    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);
        }
    }
Пример #3
0
 public SailingBoatState(BoatBehavior bb, SeaBehavior sb) : base(bb)
 {
     seaBehavior = sb;
 }
Пример #4
0
 public DefaultBoatState(BoatBehavior bb) : base(bb)
 {
 }
Пример #5
0
 public RestingBoatState(BoatBehavior bb) : base(bb)
 {
 }
Пример #6
0
 public SurfinBoatState(BoatBehavior bb, SeaBehavior sb, Wave w) : base(bb)
 {
     seaBehavior = sb; wave = w;
 }
Пример #7
0
    // 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);
    }