public void onLevelEnded(string message)
        {
            SoomlaUtils.LogDebug(TAG, "SOOMLA/UNITY onLevelEnded with message: " + message);

            Level level = (Level)SoomlaLevelUp.GetWorld(message);

            LevelUpEvents.OnLevelEnded(level);
        }
        public void onWorldAssignedReward(string message)
        {
            SoomlaUtils.LogDebug(TAG, "SOOMLA/UNITY onWorldAssignedReward with message: " + message);

            World world = SoomlaLevelUp.GetWorld(message);

            LevelUpEvents.OnWorldAssignedReward(world);
        }
        public void onLastCompletedInnerWorldChanged(string message)
        {
            SoomlaUtils.LogDebug(TAG, "SOOMLA/UNITY onLastCompletedInnerWorldChanged with message: " + message);

            JSONObject eventJSON = new JSONObject(message);

            string worldId      = eventJSON["worldId"].str;
            string innerWorldId = eventJSON["innerWorldId"].str;

            World world = SoomlaLevelUp.GetWorld(worldId);

            LevelUpEvents.OnLastCompletedInnerWorldChanged(world, innerWorldId);
        }
        /// <summary>
        /// Checks if this <c>Gate</c> meets its criteria for opening, by checking that the
        /// associated world is not null and has been completed.
        /// </summary>
        /// <returns>If this <c>World</c> can be opened returns <c>true</c>; otherwise <c>false</c>.</returns>
        protected override bool canOpenInner()
        {
            World world = SoomlaLevelUp.GetWorld(AssociatedWorldId);

            return(world != null && world.IsCompleted());
        }