Ejemplo n.º 1
0
 private void End()
 {
     if (this.PlaybackFinished != null)
     {
         this.PlaybackFinished(this);
     }
     if (this.isLoopingSequence || this.isPingPongingSequence)
     {
         return;
     }
     USTimelineContainer[] array = this.TimelineContainers;
     for (int i = 0; i < array.Length; i++)
     {
         USTimelineContainer uSTimelineContainer = array[i];
         USTimelineBase[]    timelines           = uSTimelineContainer.Timelines;
         for (int j = 0; j < timelines.Length; j++)
         {
             USTimelineBase uSTimelineBase = timelines[j];
             if (uSTimelineBase.AffectedObject != null)
             {
                 uSTimelineBase.EndTimeline();
             }
         }
     }
 }
Ejemplo n.º 2
0
        public USTimelineContainer CreateNewTimelineContainer(Transform affectedObject)
        {
            USTimelineContainer uSTimelineContainer = new GameObject("Timelines for " + affectedObject.name)
            {
                transform =
                {
                    parent = base.transform
                }
            }.AddComponent <USTimelineContainer>();

            uSTimelineContainer.AffectedObject = affectedObject;
            int num = 0;

            USTimelineContainer[] array = this.TimelineContainers;
            for (int i = 0; i < array.Length; i++)
            {
                USTimelineContainer uSTimelineContainer2 = array[i];
                if (uSTimelineContainer2.Index > num)
                {
                    num = uSTimelineContainer2.Index;
                }
            }
            uSTimelineContainer.Index = num + 1;
            return(uSTimelineContainer);
        }
Ejemplo n.º 3
0
 public void Stop()
 {
     if (this.PlaybackStopped != null)
     {
         this.PlaybackStopped(this);
     }
     base.StopCoroutine("UpdateSequencerCoroutine");
     USTimelineContainer[] array = this.TimelineContainers;
     for (int i = 0; i < array.Length; i++)
     {
         USTimelineContainer uSTimelineContainer = array[i];
         USTimelineBase[]    timelines           = uSTimelineContainer.Timelines;
         for (int j = 0; j < timelines.Length; j++)
         {
             USTimelineBase uSTimelineBase = timelines[j];
             if (uSTimelineBase.GetType() == typeof(USTimelineObserver) || uSTimelineBase.AffectedObject != null)
             {
                 uSTimelineBase.StopTimeline();
             }
         }
     }
     this.isFreshPlayback = true;
     this.playing         = false;
     this.runningTime     = 0f;
 }
Ejemplo n.º 4
0
        public static float FindPrevKeyframeTime(USSequencer sequence)
        {
            float num = 0f;

            USTimelineContainer[] timelineContainers = sequence.TimelineContainers;
            for (int i = 0; i < timelineContainers.Length; i++)
            {
                USTimelineContainer uSTimelineContainer = timelineContainers[i];
                USTimelineBase[]    timelines           = uSTimelineContainer.Timelines;
                for (int j = 0; j < timelines.Length; j++)
                {
                    USTimelineBase     uSTimelineBase     = timelines[j];
                    USTimelineProperty uSTimelineProperty = uSTimelineBase as USTimelineProperty;
                    if (uSTimelineProperty)
                    {
                        foreach (USPropertyInfo current in uSTimelineProperty.Properties)
                        {
                            foreach (USInternalCurve current2 in current.curves)
                            {
                                float num2 = current2.FindPrevKeyframeTime(sequence.RunningTime);
                                if (num2 > num)
                                {
                                    num = num2;
                                }
                            }
                        }
                    }
                }
            }
            return(num);
        }
Ejemplo n.º 5
0
 public static void ProcessTimelineContainer(USTimelineContainer timelineContainer)
 {
     foreach (var baseTimeline in timelineContainer.Timelines)
     {
         ProcessTimeline(baseTimeline);
     }
 }
Ejemplo n.º 6
0
        public static USTimelineBase DuplicateTimeline(USTimelineBase timeline, USTimelineContainer newTimelineContainer)
        {
            var duplicateTimelineGameObject = Object.Instantiate(timeline.gameObject) as GameObject;
            var duplicateTimeline           = duplicateTimelineGameObject.GetComponent <USTimelineBase>();

            duplicateTimeline.transform.parent = newTimelineContainer.transform;
            duplicateTimeline.transform.name   = timeline.name;
            USDetachScriptableObjects.ProcessTimeline(duplicateTimeline);
            return(duplicateTimeline);
        }
Ejemplo n.º 7
0
        public static USTimelineContainer DuplicateTimelineContainer(USTimelineContainer timelineContainer, USSequencer newSequence)
        {
            var duplicateTimelineGameObject = Object.Instantiate(timelineContainer.gameObject) as GameObject;
            var duplicateTimelineContainer  = duplicateTimelineGameObject.GetComponent <USTimelineContainer>();

            duplicateTimelineContainer.transform.parent = newSequence.transform;
            duplicateTimelineContainer.transform.name   = timelineContainer.name;
            USDetachScriptableObjects.ProcessTimelineContainer(duplicateTimelineContainer);
            return(duplicateTimelineContainer);
        }
Ejemplo n.º 8
0
        public void AddNewTimelineContainer(USTimelineContainer timelineContainer)
        {
            var newHierarchyItem = CreateInstance(typeof(USTimelineContainerHierarchyItem)) as USTimelineContainerHierarchyItem;

            USUndoManager.RegisterCreatedObjectUndo(newHierarchyItem, "Add New Timeline Container");

            USUndoManager.RegisterCompleteObjectUndo(newHierarchyItem, "Add New Timeline Container");
            newHierarchyItem.SetupWithTimelineContainer(timelineContainer);

            USUndoManager.RegisterCompleteObjectUndo(USHierarchy, "Add New Timeline Container");
            USHierarchy.AddHierarchyItemToRoot(newHierarchyItem as IUSHierarchyItem);
        }
Ejemplo n.º 9
0
 public static bool HasTimelineContainerWithAffectedObject(USSequencer sequence, Transform affectedObject)
 {
     USTimelineContainer[] timelineContainers = sequence.TimelineContainers;
     for (int i = 0; i < timelineContainers.Length; i++)
     {
         USTimelineContainer uSTimelineContainer = timelineContainers[i];
         if (uSTimelineContainer.AffectedObject == affectedObject)
         {
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 10
0
        static public string GetReadableTimelineContainerName(USTimelineContainer timelineContainer)
        {
            timelineContainer.RenameTimelineContainer();
            var name = "";

            name = timelineContainer.name.Replace("_Timelines for ", "");
            if (name.Contains("Timelines for "))
            {
                name = timelineContainer.name.Replace("Timelines for ", "");
            }

            return(name);
        }
Ejemplo n.º 11
0
 public USTimelineContainer GetTimelineContainerFor(Transform affectedObject)
 {
     USTimelineContainer[] array = this.TimelineContainers;
     for (int i = 0; i < array.Length; i++)
     {
         USTimelineContainer uSTimelineContainer = array[i];
         if (uSTimelineContainer.AffectedObject == affectedObject)
         {
             return(uSTimelineContainer);
         }
     }
     return(null);
 }
Ejemplo n.º 12
0
 public bool HasTimelineContainerFor(Transform affectedObject)
 {
     USTimelineContainer[] array = this.TimelineContainers;
     for (int i = 0; i < array.Length; i++)
     {
         USTimelineContainer uSTimelineContainer = array[i];
         if (uSTimelineContainer.AffectedObject == affectedObject)
         {
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 13
0
 private void Start()
 {
     USTimelineContainer[] array = this.TimelineContainers;
     for (int i = 0; i < array.Length; i++)
     {
         USTimelineContainer uSTimelineContainer = array[i];
         if (uSTimelineContainer)
         {
             USTimelineBase[] timelines = uSTimelineContainer.Timelines;
             for (int j = 0; j < timelines.Length; j++)
             {
                 USTimelineBase  uSTimelineBase  = timelines[j];
                 USTimelineEvent uSTimelineEvent = uSTimelineBase as USTimelineEvent;
                 if (uSTimelineEvent)
                 {
                     USEventBase[] events = uSTimelineEvent.Events;
                     for (int k = 0; k < events.Length; k++)
                     {
                         USEventBase uSEventBase = events[k];
                         uSEventBase.FixupAdditionalObjects();
                     }
                 }
                 USTimelineObserver uSTimelineObserver = uSTimelineBase as USTimelineObserver;
                 if (uSTimelineObserver)
                 {
                     foreach (USObserverKeyframe current in uSTimelineObserver.observerKeyframes)
                     {
                         if (!(current.cameraPath == string.Empty))
                         {
                             GameObject gameObject = GameObject.Find(current.cameraPath);
                             if (gameObject)
                             {
                                 Camera component = gameObject.GetComponent <Camera>();
                                 if (component)
                                 {
                                     current.KeyframeCamera = component;
                                 }
                             }
                         }
                     }
                 }
                 USTimelineObjectPath uSTimelineObjectPath = uSTimelineBase as USTimelineObjectPath;
                 if (uSTimelineObjectPath)
                 {
                     uSTimelineObjectPath.FixupAdditionalObjects();
                 }
             }
         }
     }
 }
Ejemplo n.º 14
0
        public static void CreateAndAttachObserver(USSequencer sequence)
        {
            USTimelineContainer[] timelineContainers = sequence.TimelineContainers;
            for (int i = 0; i < timelineContainers.Length; i++)
            {
                USTimelineContainer uSTimelineContainer = timelineContainers[i];
                USTimelineBase[]    timelines           = uSTimelineContainer.Timelines;
                for (int j = 0; j < timelines.Length; j++)
                {
                    USTimelineBase uSTimelineBase = timelines[j];
                    if (uSTimelineBase is USTimelineObserver)
                    {
                        return;
                    }
                }
            }
            Camera x = null;

            Camera[] array  = UnityEngine.Object.FindObjectsOfType(typeof(Camera)) as Camera[];
            Camera[] array2 = array;
            for (int k = 0; k < array2.Length; k++)
            {
                Camera camera = array2[k];
                if (camera.tag == "MainCamera")
                {
                    x = camera;
                }
            }
            if (x == null)
            {
                Debug.LogWarning("There is no main camera in the scene, we need one for our observer track.");
            }
            GameObject gameObject = new GameObject("_Timelines for Observer");

            gameObject.transform.parent = sequence.transform;
            USTimelineContainer uSTimelineContainer2 = gameObject.AddComponent(typeof(USTimelineContainer)) as USTimelineContainer;

            uSTimelineContainer2.Index = -1;
            new GameObject("Observer")
            {
                transform =
                {
                    parent = gameObject.transform
                }
            }.AddComponent(typeof(USTimelineObserver));
        }
Ejemplo n.º 15
0
        public static bool IsObserverContainer(Transform transform)
        {
            USTimelineContainer component = transform.GetComponent <USTimelineContainer>();

            if (component == null)
            {
                return(false);
            }
            USTimelineBase[] timelines = component.Timelines;
            for (int i = 0; i < timelines.Length; i++)
            {
                USTimelineBase uSTimelineBase = timelines[i];
                if (USRuntimeUtility.IsObserverTimeline(uSTimelineBase.transform))
                {
                    return(true);
                }
            }
            return(false);
        }
Ejemplo n.º 16
0
 public void Pause()
 {
     if (this.PlaybackPaused != null)
     {
         this.PlaybackPaused(this);
     }
     this.playing = false;
     USTimelineContainer[] array = this.TimelineContainers;
     for (int i = 0; i < array.Length; i++)
     {
         USTimelineContainer uSTimelineContainer = array[i];
         USTimelineBase[]    timelines           = uSTimelineContainer.Timelines;
         for (int j = 0; j < timelines.Length; j++)
         {
             USTimelineBase uSTimelineBase = timelines[j];
             uSTimelineBase.PauseTimeline();
         }
     }
 }
Ejemplo n.º 17
0
        static public void CreateAndAttachObserver(USSequencer sequence)
        {
            foreach (USTimelineContainer timelineContainer in sequence.TimelineContainers)
            {
                foreach (USTimelineBase timelineBase in timelineContainer.Timelines)
                {
                    if (timelineBase is USTimelineObserver)
                    {
                        return;
                    }
                }
            }

            Camera mainCamera = null;

            Camera[] cameras = GameObject.FindObjectsOfType(typeof(Camera)) as Camera[];
            foreach (Camera camera in cameras)
            {
                if (camera.tag == "MainCamera")
                {
                    mainCamera = camera;
                }
            }

            if (mainCamera == null)
            {
                Debug.LogWarning("There is no main camera in the scene, we need one for our observer track.");
            }

            GameObject spawnedContainer = new GameObject("_Timelines for Observer");

            spawnedContainer.transform.parent = sequence.transform;
            USTimelineContainer ourTimelineContainer = spawnedContainer.AddComponent(typeof(USTimelineContainer)) as USTimelineContainer;

            ourTimelineContainer.Index = -1;

            GameObject spawnedObserver = new GameObject("Observer");

            spawnedObserver.transform.parent = spawnedContainer.transform;
            spawnedObserver.AddComponent(typeof(USTimelineObserver));
        }
Ejemplo n.º 18
0
 public void Play()
 {
     if (this.PlaybackStarted != null)
     {
         this.PlaybackStarted(this);
     }
     base.StartCoroutine("UpdateSequencerCoroutine");
     if (this.isFreshPlayback)
     {
         USTimelineContainer[] array = this.TimelineContainers;
         for (int i = 0; i < array.Length; i++)
         {
             USTimelineContainer uSTimelineContainer = array[i];
             USTimelineBase[]    timelines           = uSTimelineContainer.Timelines;
             for (int j = 0; j < timelines.Length; j++)
             {
                 USTimelineBase uSTimelineBase = timelines[j];
                 uSTimelineBase.StartTimeline();
             }
         }
         this.isFreshPlayback = false;
     }
     else
     {
         USTimelineContainer[] array2 = this.TimelineContainers;
         for (int k = 0; k < array2.Length; k++)
         {
             USTimelineContainer uSTimelineContainer2 = array2[k];
             USTimelineBase[]    timelines2           = uSTimelineContainer2.Timelines;
             for (int l = 0; l < timelines2.Length; l++)
             {
                 USTimelineBase uSTimelineBase2 = timelines2[l];
                 uSTimelineBase2.ResumeTimeline();
             }
         }
     }
     this.playing      = true;
     this.previousTime = Time.time;
 }
        public void SetupWithTimelineContainer(USTimelineContainer timelineContainer)
        {
            TimelineContainer = timelineContainer;
            var timelines = TimelineContainer.Timelines;

            if (TimelineContainer.Timelines.Count() > Children.Count)
            {
                var notInBoth = timelines.Where(
                    (timeline) => !Children.Any(
                        (item) =>
                        ((item is IUSTimelineHierarchyItem) && (item as IUSTimelineHierarchyItem).IsForThisTimeline(timeline))
                        )
                    );

                foreach (var extraTimeline in notInBoth)
                {
                    IUSHierarchyItem hierarchyItem = null;

                    var customKeyValuePairs = USEditorUtility.CustomTimelineAttributes;
                    foreach (var customKeyValuePair in customKeyValuePairs)
                    {
                        if (extraTimeline.GetType() == customKeyValuePair.Key.InspectedType)
                        {
                            hierarchyItem = CreateInstance(customKeyValuePair.Value) as IUSHierarchyItem;

                            // This is here to capture the change in USTimelineBase BaseTimeline on the IUSTimelineHierarchyItem that occurse during initialize
                            USUndoManager.RegisterCompleteObjectUndo(hierarchyItem, "Add New Timeline");

                            hierarchyItem.Initialize(extraTimeline);
                        }
                    }

                    AddChild(hierarchyItem);
                }
            }
        }
Ejemplo n.º 20
0
 public static bool CanContextClickTimelineContainer(USTimelineContainer timelineContainer)
 {
     return(!USRuntimeUtility.HasObserverTimeline(timelineContainer.transform));
 }
        IEnumerator EventUpdate(CutSceneEventData __CutSceneEventData)
        {
            List <CutSceneEventDataList> EventList = new List <CutSceneEventDataList>();

            for (int i = 0; i < __CutSceneEventData.EventList.Length; i++)
            {
                EventList.Add(__CutSceneEventData.EventList[i]);
            }

            int DefaultIdx = -1;

            for (int i = 0; i < EventList.Count; i++)
            {
                if (EventList[i].ActionType == eCutSceneEvent.SetRaidStartDefault)
                {
                    DefaultIdx = i;
                    break;
                }
            }

            if (DefaultIdx != -1)
            {
                EventList.Insert(DefaultIdx + 1, CreateCutSceneEventDataList(eCutSceneEvent.StartUpdate, Vector3.zero));
                EventList.Insert(DefaultIdx + 1, CreateCutSceneEventDataList(eCutSceneEvent.SetRaidDefaultPos, Vector3.zero));
                EventList.Insert(DefaultIdx + 1, CreateCutSceneEventDataList(eCutSceneEvent.SetFadeOut, Vector3.zero));
                EventList.Insert(DefaultIdx + 1, CreateCutSceneEventDataList(eCutSceneEvent.StopUpdate, Vector3.zero));
            }

            Unit unit = null;

            for (int i = 0; i < EventList.Count; i++)
            {
                //Debug.Log("EventList ActionType " + EventList[i].ActionType);
                switch (EventList[i].ActionType)
                {
                    #region 이전데이터

                //< 카메라 포커싱처리
                case eCutSceneEvent.Focusing:
                    if (EventList[i].ActionBool)
                    {
                        if (G_GameInfo.GameInfo.FocusingCam != null)
                        {
                            G_GameInfo.GameInfo.FocusingCam.StartEffect(0, true);
                        }
                    }
                    else
                    {
                        if (G_GameInfo.GameInfo.FocusingCam != null && G_GameInfo.GameInfo.FocusingCam.gameObject.activeSelf)
                        {
                            G_GameInfo.GameInfo.FocusingCam.EndEffect(true);
                        }
                    }
                    break;

                //< 사운드 실행
                case eCutSceneEvent.PlayBgmSound:
                    //SoundHelper.PlayBgmSound((uint)EventList[i].ActionValue);
                    break;

                //< 보스 UI 출력
                case eCutSceneEvent.ShowBossUI:
                    if (null == UIMgr.GetUI("InGame/BossCutscenePanel"))
                    {
                        UIMgr.Open("InGame/BossCutscenePanel", EventList[i].ActionValue);
                    }
                    break;

                //< 기본 셋트 한번에 다해줌
                case eCutSceneEvent.SetDefaultBoss:

                    //< 포커싱처리
                    G_GameInfo.GameInfo.FocusingCam.StartEffect(0, true);

                    //< 사운드실행
                    //SoundHelper.PlayBgmSound(9008);

                    unit = CutSceneMgr.CutSceneEventDic[0].GetComponent <Unit>();

                    G_GameInfo.GameInfo.FocusingCam.AddObject(unit.gameObject);

                    //< 보스 유아이 실행
                    //if (null == UIMgr.GetUI("InGame/BossCutscenePanel"))
                    //    UIMgr.Open("InGame/BossCutscenePanel", (float)3);

                    //< 해당 애니메이션 플레이 시간을 얻는다.
                    eAnimName aniName2 = GetAniName("Anim_intro");
                    if (aniName2 != eAnimName.Anim_idle)
                    {
                        EventList[i].ActionDelay = unit.Animator.GetAnimLength(aniName2) + 1;
                    }

                    //EventList[i].ActionDelay += unit.Animator.GetAnimLength(eAnimName.Anim_special);

                    Sequence.Duration = EventList[i].ActionDelay + 0.5f;
                    USTimelineProperty Infolist = Sequence.GetComponentInChildren <USTimelineProperty>();
                    //CutSceneMgr.seq.Duration=EventList[i].ActionDelay+0.5f;

                    //UI 라이트를 컨트롤 한다. 다시 켜주는 건 CutSceneMgr 에 있음. EndScene 마지막
                    Transform Shadow;
                    Shadow = GameObject.Find("UI_ShadowLight").GetComponent <Transform> ();
                    USTimelineContainer Container = Sequence.CreateNewTimelineContainer(Shadow);
                    GameObject          test      = new GameObject("Evnet Timeline");
                    test.transform.parent = Container.transform;
                    Component Evnt = test.AddComponent("USTimelineEvent");

                    GameObject First  = new GameObject("USEnableComponentEvent");
                    GameObject Second = new GameObject("USEnableComponentEvent");

                    First.transform.parent  = Evnt.transform;
                    Second.transform.parent = Evnt.transform;

                    First.AddComponent("USEnableComponentEvent");
                    Second.AddComponent("USEnableComponentEvent");
                    First.GetComponent <USEnableComponentEvent> ().ComponentName = "Light";
                    //Second.GetComponent<USEnableComponentEvent> ().ComponentName = "Light";
                    //Second.GetComponent<USEnableComponentEvent> ().enableComponent=true;

                    First.GetComponent <USEnableComponentEvent> ().FireTime = 0.0f;
                    //Second.GetComponent<USEnableComponentEvent> ().FireTime = Sequence.Duration;
                    //

                    Infolist.Properties [0].curves [0].Keys[1].Time  = 0.7f;
                    Infolist.Properties [0].curves [1].Keys [1].Time = 0.7f;
                    Infolist.Properties [0].curves [2].Keys [1].Time = 0.7f;
                    Infolist.Properties [1].curves [0].Keys[1].Time  = 0.7f;
                    Infolist.Properties [1].curves [1].Keys [1].Time = 0.7f;
                    Infolist.Properties [1].curves [2].Keys [1].Time = 0.7f;
                    Infolist.Properties [1].curves [3].Keys [1].Time = 0.7f;

                    Infolist.Properties [0].curves [0].Keys[3].Time  = Sequence.Duration + 10;
                    Infolist.Properties [0].curves [1].Keys [3].Time = Sequence.Duration + 10;
                    Infolist.Properties [0].curves [2].Keys [3].Time = Sequence.Duration + 10;
                    Infolist.Properties [1].curves [0].Keys[3].Time  = Sequence.Duration + 10;
                    Infolist.Properties [1].curves [1].Keys [3].Time = Sequence.Duration + 10;
                    Infolist.Properties [1].curves [2].Keys [3].Time = Sequence.Duration + 10;
                    Infolist.Properties [1].curves [3].Keys [3].Time = Sequence.Duration + 10;

                    Infolist.Properties [0].curves[0].Keys[2].Time   = Sequence.Duration;
                    Infolist.Properties [0].curves [1].Keys [2].Time = Sequence.Duration;
                    Infolist.Properties [0].curves [2].Keys [2].Time = Sequence.Duration;
                    Infolist.Properties [1].curves [0].Keys[2].Time  = Sequence.Duration;
                    Infolist.Properties [1].curves [1].Keys [2].Time = Sequence.Duration;
                    Infolist.Properties [1].curves [2].Keys [2].Time = Sequence.Duration;
                    Infolist.Properties [1].curves [3].Keys [2].Time = Sequence.Duration;

                    break;


                    #endregion 이전데이터

                //< 해당 위치로 강제이동
                case eCutSceneEvent.ImmediatelyMove:
                    CutSceneMgr.CutSceneEventDic[0].transform.position = EventList[i].ActionPos;
                    break;

                //< 이펙트 실행
                case eCutSceneEvent.SpawnEffect:
                    SpawnEffect(EventList[i]);
                    break;

                //< 카메라 쉐이킹
                case eCutSceneEvent.CameraShake:
                    CutSceneMgr.Shake((byte)EventList[i].ActionValue);
                    break;

                //< 보스 UI 출력
                case eCutSceneEvent.ShowRaidBossUI:
                    if (null == UIMgr.GetUI("InGame/BossCutscenePanel"))
                    {
                        UIMgr.Open("InGame/BossCutscenePanel", EventList[i].ActionValue);
                    }
                    break;

                //< 보스 대화 출력
                case eCutSceneEvent.RaidBossTalk:
                    unit = CutSceneMgr.CutSceneEventDic[0].GetComponent <Unit>();
                    G_GameInfo.GameInfo.StartCoroutine(RaidBossTalkUpdate(unit, EventList[i].ActionString));
                    break;

                //< 애니메이션 실행
                case eCutSceneEvent.AnimaionPlay:
                    unit = CutSceneMgr.CutSceneEventDic[(int)EventList[i].ActionValue].GetComponent <Unit>();
                    if (unit != null)
                    {
                        eAnimName aniName = GetAniName(EventList[i].ActionString);
                        unit.PlayAnim(aniName, false, 0.2f, true);

                        //< 해당 애니메이션 플레이 시간을 얻는다.
                        if (aniName != eAnimName.Anim_idle)
                        {
                            EventList[i].ActionDelay = unit.Animator.GetAnimLength(aniName) - 0.2f;
                        }
                    }
                    else
                    {
                        //< 유닛이 없다면 그냥 바로 실행시켜준다.
                        CutSceneMgr.CutSceneEventDic[(int)EventList[i].ActionValue].animation.CrossFade(EventList[i].ActionString, 0.5f);
                    }
                    break;

                //< 플레이 자체는 멈춰둔다.
                case eCutSceneEvent.StopUpdate:
                    CutSceneMgr.seq.Pause();
                    break;

                case eCutSceneEvent.StartUpdate:
                    CutSceneMgr.seq.Play();
                    break;

                //< 페이드 인(밝아지는처리)
                case eCutSceneEvent.SetFadeIn:
                    CutSceneMgr.seq.Pause();
                    yield return(G_GameInfo._GameInfo.StartCoroutine(_CameraFadeEventObj.FadeInUpdate()));

                    CutSceneMgr.seq.Play();

                    //< 스킵버튼 체크한다.
                    SetSkipPanel();
                    break;

                //< 페이드 아웃(어두워지는 처리)
                case eCutSceneEvent.SetFadeOut:
                    if (_CameraFadeEventObj == null)
                    {
                        _CameraFadeEventObj = (Instantiate(Resources.Load("Camera/CameraFadeEvent")) as GameObject).GetComponent <CameraFadeEvent>();
                        _CameraFadeEventObj.transform.parent        = CutSceneMgr.startCamObj.transform;
                        _CameraFadeEventObj.transform.localPosition = new Vector3(0, 0, 1);
                        _CameraFadeEventObj.transform.localRotation = Quaternion.identity;
                    }

                    GameObject panel = UIMgr.GetUI("CutSceneSkipPanel");
                    if (panel != null)
                    {
                        panel.GetComponent <UIBasePanel>().Close();
                    }

                    yield return(G_GameInfo._GameInfo.StartCoroutine(_CameraFadeEventObj.FadeOutUpdate()));

                    break;

                //< 레이드를 위한 기본 카메라 위치 셋팅
                case eCutSceneEvent.SetRaidDefaultPos:
                    CutSceneMgr.startRootObj.transform.position = Vector3.zero;
                    CutSceneMgr.startRootObj.transform.rotation = Quaternion.identity;

                    CutSceneMgr.startCamObj.transform.parent        = CutSceneMgr.startRootObj.transform;
                    CutSceneMgr.startCamObj.transform.localPosition = Vector3.zero;
                    CutSceneMgr.startCamObj.transform.localRotation = Quaternion.identity;
                    break;

                case eCutSceneEvent.SetActive:
                    CutSceneMgr.CutSceneEventDic[(int)EventList[i].ActionValue].SetActive(EventList[i].ActionBool);
                    break;

                case eCutSceneEvent.SetTimeScale:
                    SetTimeScale(EventList[i]);
                    break;
                }

                //< 딜레이동안 대기
                yield return(new WaitForSeconds(EventList[i].ActionDelay));
            }

            yield return(null);
        }
Ejemplo n.º 22
0
 public void DeleteTimelineContainer(USTimelineContainer timelineContainer)
 {
     UnityEngine.Object.DestroyImmediate(timelineContainer.gameObject);
 }
Ejemplo n.º 23
0
 public static int GetNumberOfTimelinesOfType(Type type, USTimelineContainer timelineContainer)
 {
     return(timelineContainer.transform.GetComponentsInChildren(type).Length);
 }
Ejemplo n.º 24
0
 public void UpdateSequencer(float deltaTime)
 {
     deltaTime *= this.playbackRate;
     if (this.playing)
     {
         this.runningTime += deltaTime;
         float num = this.runningTime;
         if (num <= 0f)
         {
             num = 0f;
         }
         if (num > this.Duration)
         {
             num = this.Duration;
         }
         this.BeforeUpdate(this, this.runningTime);
         USTimelineContainer[] array = this.TimelineContainers;
         for (int i = 0; i < array.Length; i++)
         {
             USTimelineContainer uSTimelineContainer = array[i];
             uSTimelineContainer.ProcessTimelines(num, this.PlaybackRate);
         }
         this.AfterUpdate(this, this.runningTime);
         bool flag = false;
         if (this.playbackRate > 0f && this.RunningTime >= this.duration)
         {
             flag = true;
         }
         if (this.playbackRate < 0f && this.RunningTime <= 0f)
         {
             flag = true;
         }
         if (flag)
         {
             if (this.isLoopingSequence)
             {
                 float num2 = 0f;
                 if (this.playbackRate > 0f && this.RunningTime >= this.Duration)
                 {
                     num2 = this.RunningTime - this.Duration;
                 }
                 if (this.playbackRate < 0f && this.RunningTime <= 0f)
                 {
                     num2 = this.Duration + this.RunningTime;
                 }
                 this.Stop();
                 this.runningTime  = num2;
                 this.previousTime = -1f;
                 this.Play();
                 this.UpdateSequencer(0f);
                 return;
             }
             if (this.isPingPongingSequence)
             {
                 if (this.playbackRate > 0f && this.RunningTime >= this.Duration)
                 {
                     this.runningTime = this.Duration + (this.Duration - this.RunningTime);
                 }
                 if (this.playbackRate < 0f && this.RunningTime <= 0f)
                 {
                     this.runningTime = -1f * this.RunningTime;
                 }
                 this.playbackRate *= -1f;
                 return;
             }
             this.playing = false;
             base.StopCoroutine("UpdateSequencerCoroutine");
             this.End();
         }
     }
     if (this.setSkipTime > 0f)
     {
         USTimelineContainer[] array2 = this.TimelineContainers;
         for (int j = 0; j < array2.Length; j++)
         {
             USTimelineContainer uSTimelineContainer2 = array2[j];
             uSTimelineContainer2.SkipTimelineTo(this.setSkipTime);
         }
         this.runningTime  = this.setSkipTime;
         this.previousTime = Time.time;
         this.setSkipTime  = -1f;
     }
 }
Ejemplo n.º 25
0
 public static int Comparer(USTimelineContainer a, USTimelineContainer b)
 {
     return(a.Index.CompareTo(b.Index));
 }
Ejemplo n.º 26
0
 public void DeleteTimelineContainer(USTimelineContainer timelineContainer)
 {
     DestroyImmediate(timelineContainer.gameObject);
 }
Ejemplo n.º 27
0
 public virtual void ResetCachedData()
 {
     timelineContainer = null;
 }