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; } }
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); } }
IEnumerator ExecuteAfterTime(float time, EventPin pin) { yield return(new WaitForSeconds(time)); setSelectedPin(pin); }
public void setSelectedPin(EventPin pin) { selectedPin = pin; Transition(); }