public virtual void EndMe()
    {
        step = 10000;
        mapLogic.ActiveOnlyPlayerCameras();
        mapLogic.RestartActiveLogics();
        mapLogic.isCutsceneMode = false;
        status = CutsceneStatus.Finished;

        if (cutsceneScriptOwner != null)
        {
            cutsceneScriptOwner.active = false;
        }

        if (childAudioInfos != null)
        {
            for (int i = 0; i < childAudioInfos.Length; i++)
            {
                childAudioInfos[i].SetCustomVolume(0);
            }
        }

        HideCharacters();

        if (occluderTrigger != null)
        {
            occluderTrigger.EndForCutscene();
        }

        if (useOnePackMode)
        {
            SetDatPackDisabled();
        }

        for (int i = 0; i < soldierActInfos.Length; i++)
        {
            soldierActInfos[i].StopIt();
        }
    }
    public virtual void StartIt()
    {
        step = 1;
        mapLogic.StopActiveLogics();
        mapLogic.isCutsceneMode = true;
        status = CutsceneStatus.Running;

        if (cutsceneScriptOwner != null)
        {
            cutsceneScriptOwner.active = true;
        }

        if (!useOnePackMode || (useOnePackMode && !onePackMode_StartVisualsAfterDelay))
        {
            if (startWithBlackScreen)
            {
                mapLogic.blackScreenFader.StartFadingIn();
            }
        }

        durationTimeCounter = duration;

        UnhideCharacters();

        if (occluderTrigger != null)
        {
            occluderTrigger.StartForCutscene();
        }

        if (!useOnePackMode)
        {
            SetCharactersInitialTransform();
            StartCharactersInitialAnimation();

            for (int i = 0; i < camControllers.Length; i++)
            {
                camControllers[i].StartIt(cam);
            }

            for (int i = 0; i < timelines.Length; i++)
            {
                timelines[i].StartIt();
            }

            //skipThisFrameDeltaTimeForCamera = true;
            //doCameras = true;

            SetActiveCamSequence(0);

            for (int i = 0; i < soldierActInfos.Length; i++)
            {
                soldierActInfos[i].StartIt();
            }
        }
        else
        {
            if (!onePackMode_StartVisualsAfterDelay)
            {
                onePackMode_AreVisualsStarted = true;
                SetDatPackEnabled();
            }
            else
            {
                onePackMode_delayToStartVisualsTimeCounter = onePackMode_delayToStartVisuals;
                skipDelayCounter += onePackMode_delayToStartVisualsTimeCounter;

                cam.active = true;
            }
        }

        mapLogic.SetMapActiveCamera(cam);
        mapLogic.SetCameraActivation(PlayerCharacterNew.Instance.fpsCamera, true);

        for (int i = 0; i < audioInfoPacks.Length; i++)
        {
            audioInfoPacks[i].StartIt();
        }
    }