Ejemplo n.º 1
0
        private void DoAction(CutsceneAction a)
        {
            switch (a.Type)
            {
            case ActionType.Wait:
            {
                var time = a.Param <int>("Time");
                Script.Wait(time);
                break;
            }

            case ActionType.SetCamera:
            {
                var camName = a.Param <string>("Camera");
                World.RenderingCamera = GetObject <Camera>(camName);
                break;
            }

            case ActionType.MoveCamera:
            {
                var camName = a.Param <string>("Camera");
                var cam     = GetObject <Camera>(camName);


                var pos = a.Param <Vector3>("Position");
                var rot = a.Param <Vector3>("Rotation");

                cam.Position = pos;
                cam.Rotation = rot;
                break;
            }

            case ActionType.MoveCameraRel:
            {
                var camName1 = a.Param <string>("Camera");
                var cam      = GetObject <Camera>(camName1);


                var ped = a.Param <Ped>("Ped");
                var pos = a.Param <Vector3>("Position");
                var rot = a.Param <Vector3>("Rotation");

                cam.Position = ped.Position + pos;
                cam.Rotation = ped.Rotation + rot;
                break;
            }

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Ejemplo n.º 2
0
 public Cutscene AddAction(CutsceneAction action)
 {
     _actions.Add(action);
     return(this);
 }