示例#1
0
    public void togglePanel(EventPin pin)
    {
        if (open == false)
        {
            setSelectedPin(pin);
            anim.SetTrigger("Open");
            open = true;
            return;
        }

        if (open == true && (pin == null || pin == selectedPin))
        {
            anim.SetTrigger("Close");
            open  = false;
            timer = 0f;
            return;
        }

        if (open == true && pin != null && pin != selectedPin)
        {
            StartCoroutine(ExecuteAfterTime(0.6f, pin));
            anim.SetTrigger("Cycle");
            open  = true;
            timer = 0f;
            return;
        }
    }
示例#2
0
    void PlacePin(EventPin pin)
    {
        this.transform.rotation = Quaternion.Euler(this.transform.rotation.eulerAngles.x, -pin.longitude, pin.latitude);

        RaycastHit hit;

        if (Physics.Raycast(stylus.transform.position, stylus.transform.forward, out hit))
        {
            var placedPin = Instantiate(pin, hit.point, Quaternion.LookRotation(hit.normal));

            placedPin.transform.parent = planet.transform;

            placedPin.infoPanelManger = this.infoPanelManger;

            addedPins.Add(placedPin);
        }
    }
        private async Task LoadEvents()
        {
            var events = await mobEventManager.GetActiveEventsAsync();

            foreach (var mobEvent in events)
            {
                var pin = new EventPin
                {
                    EventId   = mobEvent.Id,
                    Address   = $"{mobEvent.StreetAddress}, {mobEvent.City}, {mobEvent.Region}, {mobEvent.Country} {mobEvent.PostalCode}",
                    Label     = mobEvent.Name,
                    Name      = mobEvent.Name,
                    EventDate = mobEvent.EventDate,
                    Type      = PinType.Place,
                    Position  = new Position(mobEvent.Latitude, mobEvent.Longitude),
                    // Todo: replace this with a link to a page here
                    Url = $"https://www.trashmob.eco/eventdetails/{mobEvent.Id}",
                };

                // Need to add the pin to both lists
                Map.EventPins.Add(pin);
                Map.Pins.Add(pin);
            }
        }
示例#4
0
    IEnumerator ExecuteAfterTime(float time, EventPin pin)
    {
        yield return(new WaitForSeconds(time));

        setSelectedPin(pin);
    }
示例#5
0
 public void setSelectedPin(EventPin pin)
 {
     selectedPin = pin;
     Transition();
 }