private void OnIndoorMapEntityInformationUpdated(IndoorMapEntityInformation indoorMapEntityInformation) { var indoorMapEntityIds = string.Join(",", indoorMapEntityInformation.IndoorMapEntities.Select(x => x.IndoorMapEntityId).ToArray()); Debug.Log(string.Format("IndoorMapEntityInformation for {0}. Load state: {1}; entity count: {2}; entity ids: [{3}].", indoorMapEntityInformation.IndoorMapId, indoorMapEntityInformation.IndoorMapEntityLoadState, indoorMapEntityInformation.IndoorMapEntities.Count, indoorMapEntityIds )); }
IEnumerator Example() { m_indoorMapEntityInformation = Api.Instance.IndoorMapEntityInformationApi.AddIndoorMapEntityInformation(IndoorMapId, OnIndoorMapEntityInformationChanged); Api.Instance.CameraApi.MoveTo(m_indoorMapLocation, distanceFromInterest: 500); yield return(new WaitForSeconds(5.0f)); Api.Instance.IndoorMapsApi.OnIndoorMapEntered += () => { Api.Instance.IndoorMapsApi.SetCurrentFloorId(2); }; Api.Instance.IndoorMapsApi.EnterIndoorMap(IndoorMapId); }
private void OnIndoorMapEntityInformationChanged(IndoorMapEntityInformation indoorMapEntityInformation) { // indoorMapEntityInformation changed, create a sphere postioned at the location of each indoor map entity. DestroyPositionersAndSpheres(); m_positionerToSpheres = indoorMapEntityInformation.IndoorMapEntities .Select(x => new { positioner = CreatePositionerForIndoorMapEntity(indoorMapEntityInformation.IndoorMapId, x), sphere = CreateSphere(Color.red, 1.0f) }) .ToDictionary(x => x.positioner, x => x.sphere); }