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(); } }
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; } }
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; } }