internal static void Init() { lock (InitLock) { if (ReferenceEquals(_instance, null)) { var instances = FindObjectsOfType <InBrainSceneHelper>(); if (instances.Length > 1) { Debug.LogError(typeof(InBrainSceneHelper) + " Something went really wrong " + " - there should never be more than 1 " + typeof(InBrainSceneHelper) + " Reopening the scene might fix it."); } else if (instances.Length == 0) { var singleton = new GameObject { hideFlags = HideFlags.HideAndDontSave }; _instance = singleton.AddComponent <InBrainSceneHelper>(); singleton.name = typeof(InBrainSceneHelper).ToString(); DontDestroyOnLoad(singleton); Debug.Log("[Singleton] An _instance of " + typeof(InBrainSceneHelper) + " is needed in the scene, so '" + singleton.name + "' was created with DontDestroyOnLoad."); } else { Debug.Log("[Singleton] Using _instance already created: " + _instance.gameObject.name); } } } }
public void nativeSurveysReceived(AndroidJavaObject surveyList /* List<Survey> rewards */) { InBrainSceneHelper.Queue(() => _onSurveysReceived(new InBrainGetSurveysResult(surveyList).surveys)); }
public bool handleRewards(AndroidJavaObject rewardsList /* List<Reward> rewards */) { InBrainSceneHelper.Queue(() => _onRewardsReceived(new InBrainGetRewardsResult(rewardsList).rewards)); return(_confirmRewardsAutomatically); }
public void onFailToLoadRewards(AndroidJavaObject throwable) { Debug.Log("Failed to load rewards: " + throwable?.CallStr("getMessage")); InBrainSceneHelper.Queue(() => _onFailedToReceiveFailedToReceiveRewards()); }