public void HarpoonRetractedConsiderNextTutStep() {
		if(readyToAdvance == false) {
			return;
		}
		readyToAdvance = false;
		if(tutStep == TUTORIAL_PHASE.NormalPlay) {
			AllowBeasts(true);
			return;
		}

		string str = UnityEngine.StackTraceUtility.ExtractStackTrace ();
		Debug.Log(str);

		tutStep = (TUTORIAL_PHASE)( (int)tutStep+1 );
		if(tutStep == TUTORIAL_PHASE.TutorialDone) {
			ScoreManager.instance.EndOfTutorialMessage();
		} else {
			FishSpawnInfinite.instance.UpdateText();

			AllowBeasts( (int)tutStep >= (int)TUTORIAL_PHASE.Monsters );

			switch(tutStep) {
			case TUTORIAL_PHASE.SpearFish:
				FishSpawnInfinite.instance.AddOneFish();
				break;
			case TUTORIAL_PHASE.SpearThree:
				FishSpawnInfinite.instance.whichFishSeq = 0;
				FishSpawnInfinite.instance.AddOneFish(1);
				FishSpawnInfinite.instance.AddOneFish(2);
				FishSpawnInfinite.instance.AddOneFish(3);
				break;
			case TUTORIAL_PHASE.ExtraSpear:
				FishSpawnInfinite.instance.NextLevel();
				break;
			}

		}
	}
	public void SetupTutorial(int levSequence) {
		bool useTut = (levSequence == -1);

		if(useTut) {
			tutStep = (TUTORIAL_PHASE)( (int)TUTORIAL_PHASE.NormalPlay+1 );
			FishSpawnInfinite.instance.RemoveAll();
			AllowBeasts(false);
		} else {
			tutStep = TUTORIAL_PHASE.NormalPlay;
			AllowBeasts(true);
			FishSpawnInfinite.instance.whichFishSeq = levSequence;
			FishSpawnInfinite.instance.RemoveAll();
			FishSpawnInfinite.instance.SpawnForLevel();
			ScoreManager.instance.ResetScore();
		}
		FishSpawnInfinite.instance.UpdateText();
		ScoreManager.instance.UpdateSpearCount();
		AllMenusOffExcept(inGameUI);
	}