示例#1
0
	public void Sound(AudioClip clip, CutsceneStep.Action action, bool loop, float volume) {
		if( audioSrc != null )
			audioSrc.Stop ();
		else
			return;
		
		if (clip != null) {
			lastAudioVerb = action;
			
			audioSrc.clip = clip;
			audioSrc.loop = loop;
			if (volume == 0)
				volume = 1;
			audioSrc.volume = volume;
			audioSrc.Play();
		}
	}
示例#2
0
	public virtual void LipTo(float duration, Transform form, CutsceneStep.Action action) {
		formToTalkTo = GetHeadForm(form);
		if( audioSrc != null )
			audioSrc.Stop ();
		else
			return;
		
		if (duration > 0) {
			lastAudioVerb = action;
			lipDuration = duration;
		}
	}
示例#3
0
	public void DoStep(CutsceneStep step) {
		switch (step.action) {
		case CutsceneStep.Action.MoveTo:
			MoveTo(step.pos, step.floatVal == 0 ? 1f : step.floatVal, step);
			break;

		case CutsceneStep.Action.GoBack:
			MoveTo(posBak, step.floatVal == 0 ? 1f : step.floatVal, step);
			break;
			
		case CutsceneStep.Action.JumpTo:
			JumpTo(step.pos, step.floatVal == 0 ? 1f : step.floatVal);
			break;
			
		case CutsceneStep.Action.Follow:
			Follow(step.target, step.pos, step.boolVal, step.floatVal);
			break;
			
		case CutsceneStep.Action.Rotate:
			Rotate(step.pos);
			break;
			
		case CutsceneStep.Action.WaitFor:
			WaitFor(step.target.transform, step.pos);
			break;
			
		case CutsceneStep.Action.WaitTouch:
			WaitTouch(step.floatVal, true);
			break;
			
		case CutsceneStep.Action.LookAt:
			LookAt(step.target, step.pos, step.intVal);
			break;
			
		case CutsceneStep.Action.Stop:
			Stop();
			break;
			
		case CutsceneStep.Action.Action:
			if (step.intVal2 > 0)
				lastAudioVerb = step.action;	
			break;
			
		case CutsceneStep.Action.Sound:
			Sound (step.obj as AudioClip, step.action, step.boolVal, step.floatVal);
			break;
		
		case CutsceneStep.Action.ChangeInto:
			if( step.intVal2 != 1 )// Not Restore
				ChangeInto(step.obj as Transform, step.intVal);
			break;
			
		case CutsceneStep.Action.UniqueAction:
			UniqueAction(step.strVal, step.intVal);
			break;
			
		case CutsceneStep.Action.LoopAction:
			LoopAction(step.intVal, step.boolVal);
			break;
			
		case CutsceneStep.Action.Mood:
			Mood(step.intVal);
			break;
			
		case CutsceneStep.Action.ScaleTo:
			ScaleTo (step.pos, step.floatVal == 0 ? 1f : step.floatVal, step);
			break;
		}
		
	}