示例#1
0
        private void OnSnapShotTaken()
        {
            base.RestoreCameras(this.srcCameras, true, false);
            if (this.dstRenderTexture != null)
            {
                UnityUtils.ReleaseTemporaryRenderTexture(this.dstRenderTexture);
                this.dstRenderTexture = null;
            }
            WipeTransition wipeTransition = this.transition;

            if (wipeTransition != WipeTransition.FromBaseToWarboard)
            {
                if (wipeTransition == WipeTransition.FromWarboardToBase)
                {
                    this.SetupDestinationWipeFromWarboardToBase();
                }
            }
            else
            {
                this.SetupDestinationWipeFromBaseToWarboard();
            }
            this.dstRenderTexture = base.PrepareCameras(this.dstCameras);
            this.quadMaterial.SetTexture("_to", this.dstRenderTexture);
            this.takingSnapshot = false;
            if (this.continueWipeRequested)
            {
                this.continueWipeRequested = false;
            }
            else
            {
                Service.ViewTimeEngine.UnregisterFrameTimeObserver(this);
            }
            Service.EventManager.SendEvent(EventId.WipeCameraSnapshotTaken, null);
        }
示例#2
0
    private void InitializeMainMenu()
    {
        menuTimer = menuSettings.mainMenuWaitTime;

        cameraColor = Camera.main.GetComponent <CameraColorChanger>();

        transition = GameObject.FindObjectOfType <WipeTransition>();
    }
示例#3
0
 void Start()
 {
     source = GetComponent <AudioSource>();
     if (GameObject.FindWithTag("wipe") != null)
     {
         wipe = GameObject.FindWithTag("wipe").GetComponent <WipeTransition>();
     }
 }
示例#4
0
    void Awake()
    {
        panel = transform.parent.gameObject;

        if (GameObject.FindWithTag("wipe") != null)
        {
            wipe = GameObject.FindWithTag("wipe").GetComponent <WipeTransition>();
        }
    }
示例#5
0
 protected AbstractTransition(IState transitionToState, IMapDataLoader mapDataLoader, TransitionCompleteDelegate onTransitionComplete, bool skipTransitions, bool zoomOut, WipeTransition startWipeTransition, WipeTransition endWipeTransition)
 {
     this.transitioning        = false;
     this.softWipe             = false;
     this.softWipeComplete     = false;
     this.softWipeWorldLoad    = false;
     this.softWipeAutoFinish   = false;
     this.wipeDirection        = 0f;
     this.transitionToState    = transitionToState;
     this.mapDataLoader        = mapDataLoader;
     this.onTransitionComplete = onTransitionComplete;
     this.skipTransitions      = skipTransitions;
     this.zoomOut             = zoomOut;
     this.startWipeTransition = startWipeTransition;
     this.endWipeTransition   = endWipeTransition;
     if (!this.softWipe && transitionToState != null)
     {
         this.ChooseRandomWipeDirection();
     }
 }
示例#6
0
        private void StartWipe(string shaderName, WipeTransition transition, float wipeAngle, float centerX, float centerY, WipeCompleteDelegate completeCallback, object completeCookie)
        {
            if (base.IsRendering())
            {
                this.StopWipe();
            }
            this.completeCallback = completeCallback;
            this.completeCookie   = completeCookie;
            this.transition       = transition;
            Service.UserInputManager.Enable(false);
            switch (transition)
            {
            case WipeTransition.FromIntroToBase:
                this.SetupWipeFromIntroToBase();
                break;

            case WipeTransition.FromBaseToBase:
                this.SetupWipeFromBaseToBase();
                break;

            case WipeTransition.FromStoryToLoadingScreen:
                this.SetupWipeFromStoryToLoadingScreen();
                break;

            case WipeTransition.FromLoadingScreenToBase:
                this.SetupWipeFromLoadingScreenToBase();
                break;

            case WipeTransition.FromGalaxyToHyperspace:
                this.SetupWipeFromGalaxyToHyperspace();
                break;

            case WipeTransition.FromHyperspaceToBase:
                this.SetupWipeFromHyperspaceToBase();
                break;

            case WipeTransition.FromBaseToGalaxy:
                this.SetupWipeFromBaseToGalaxy();
                break;

            case WipeTransition.FromGalaxyToBase:
                this.SetupWipeFromGalaxyToBase();
                break;

            case WipeTransition.FromGalaxyToLoadingScreen:
                this.SetupWipeFromGalaxyToLoadingScreen();
                break;

            case WipeTransition.FromLoadingScreenToWarboard:
                this.SetupWipeFromLoadingScreenToWarboard();
                break;

            case WipeTransition.FromWarboardToLoadingScreen:
                this.SetupWipeFromWarboardToLoadingScreen();
                break;

            case WipeTransition.FromBaseToWarboard:
                this.SetupWipeFromBaseToWarboard();
                break;

            case WipeTransition.FromWarboardToBase:
                this.SetupWipeFromWarboardToBase();
                break;
            }
            if (this.srcCameras.Count > 0)
            {
                this.srcRenderTexture = base.PrepareCameras(this.srcCameras);
            }
            if (this.dstCameras.Count > 0)
            {
                this.dstRenderTexture = base.PrepareCameras(this.dstCameras);
            }
            base.CreateMaterial(shaderName);
            base.StartRendering(true);
            this.quadMaterial.SetTexture("_from", this.srcRenderTexture);
            this.quadMaterial.SetTexture("_to", this.dstRenderTexture);
            this.quadMaterial.SetFloat("_thickness", 0.1f);
            float num  = Mathf.Cos(wipeAngle);
            float num2 = Mathf.Sin(wipeAngle);
            float num3 = Mathf.Abs(num) + Mathf.Abs(num2);

            this.quadMaterial.SetFloat("_cos_sum", num / num3);
            this.quadMaterial.SetFloat("_sin_sum", num2 / num3);
            this.quadMaterial.SetFloat("_xedge", (num >= 0f) ? 0f : 1f);
            this.quadMaterial.SetFloat("_yedge", (num2 >= 0f) ? 0f : 1f);
            this.quadMaterial.SetFloat("_cx", centerX);
            this.quadMaterial.SetFloat("_cy", centerY);
            this.quadMaterial.SetFloat("_aspect", (float)Screen.width / (float)Screen.height);
            this.wipeTime = 0f;
            this.OnViewFrameTime(0f);
            Service.ViewTimeEngine.RegisterFrameTimeObserver(this);
        }
示例#7
0
 public void StartEllipticalWipe(WipeTransition transition, float centerX, float centerY, WipeCompleteDelegate completeCallback, object completeCookie)
 {
     this.StartWipe("Wipe_Elliptical", transition, 0f, centerX, centerY, completeCallback, completeCookie);
 }
示例#8
0
 public void StartLinearWipe(WipeTransition transition, float wipeAngle, WipeCompleteDelegate completeCallback, object completeCookie)
 {
     this.StartWipe("Wipe_Linear", transition, wipeAngle, 0f, 0f, completeCallback, completeCookie);
 }
示例#9
0
 public void TakeSnapshotForDelayedWipe(WipeTransition transition, float wipeAngle, WipeCompleteDelegate completeCallback, object completeCookie)
 {
     this.StartLinearWipe(transition, wipeAngle, completeCallback, null);
     this.takingSnapshot       = true;
     this.snapshotFramesToWait = 4;
 }
示例#10
0
        public static IAnimation GenerateTransitionAnimationObject(Transition trans)
        {
            if (trans == null || trans.FirstChild == null)
            {
                return(null);
            }
            TransitionAnimation result = new TransitionAnimation();

            if (trans.Speed != null && TransitionSpeedValues.Fast.Equals(trans.Speed.Value))
            {
                result.Length = 500;
            }
            else if (trans.Speed != null && TransitionSpeedValues.Slow.Equals(trans.Speed.Value))
            {
                result.Length = 2000;
            }
            else if (trans.Duration != null)
            {
                result.Length = int.Parse(trans.Duration.Value);
            }
            else
            {
                result.Length = 1000;
            }

            result.Start        = 0;
            result.InitialState = -1;
            result.Repetitions  = 1;
            if (trans.AdvanceOnClick != null)
            {
                result.AdvanceOnClick = trans.AdvanceOnClick.Value;
            }
            else
            {
                result.AdvanceOnClick = true;
            }

            if (typeof(StripsTransition) == trans.FirstChild.GetType())
            {
                StripsTransition transition = (StripsTransition)trans.FirstChild;
                result.Type = AnimationTypes.Strips;
                if (transition.Direction != null &&
                    TransitionCornerDirectionValues.RightUp.Equals(transition.Direction.Value))
                {
                    result.AdditionalData = "7";
                }
                else if (transition.Direction != null &&
                         TransitionCornerDirectionValues.LeftDown.Equals(transition.Direction.Value))
                {
                    result.AdditionalData = "9";
                }
                else if (transition.Direction != null &&
                         TransitionCornerDirectionValues.RightDown.Equals(transition.Direction.Value))
                {
                    result.AdditionalData = "8";
                }
                else
                {
                    result.AdditionalData = "6";
                }
            }
            else if (typeof(PushTransition) == trans.FirstChild.GetType())
            {
                PushTransition transition = (PushTransition)trans.FirstChild;
                result.Type = AnimationTypes.Push;
                if (transition.Direction != null &&
                    TransitionSlideDirectionValues.Right.Equals(transition.Direction.Value))
                {
                    result.AdditionalData = "3";
                }
                else if (transition.Direction != null &&
                         TransitionSlideDirectionValues.Up.Equals(transition.Direction.Value))
                {
                    result.AdditionalData = "4";
                }
                else if (transition.Direction != null &&
                         TransitionSlideDirectionValues.Left.Equals(transition.Direction.Value))
                {
                    result.AdditionalData = "2";
                }
                else
                {
                    result.AdditionalData = "1";
                }
            }
            else if (typeof(WipeTransition) == trans.FirstChild.GetType())
            {
                WipeTransition transition = (WipeTransition)trans.FirstChild;
                result.Type = AnimationTypes.Wipe;
                if (transition.Direction != null &&
                    TransitionSlideDirectionValues.Right.Equals(transition.Direction.Value))
                {
                    result.AdditionalData = "4";
                }
                else if (transition.Direction != null &&
                         TransitionSlideDirectionValues.Up.Equals(transition.Direction.Value))
                {
                    result.AdditionalData = "3";
                }
                else if (transition.Direction != null &&
                         TransitionSlideDirectionValues.Left.Equals(transition.Direction.Value))
                {
                    result.AdditionalData = "2";
                }
                else
                {
                    result.AdditionalData = "1";
                }
            }
            else if (typeof(FadeTransition) == trans.FirstChild.GetType())
            {
                FadeTransition transition = (FadeTransition)trans.FirstChild;
                result.Type = AnimationTypes.Fade;
                if (transition.ThroughBlack != null && transition.ThroughBlack.Value)
                {
                    result.Type = AnimationTypes.FadeThroughBlack;
                }
                result.AdditionalData = "1";
            }
            else if (typeof(CutTransition) == trans.FirstChild.GetType())
            {
                CutTransition transition = (CutTransition)trans.FirstChild;
                result.Type           = AnimationTypes.Cut;
                result.AdditionalData = "2";
                if (transition.ThroughBlack != null && transition.ThroughBlack.Value)
                {
                    result.Type           = AnimationTypes.CutThroughBlack;
                    result.AdditionalData = "3";
                }
            }
            else if (typeof(DissolveTransition) == trans.FirstChild.GetType())
            {
                result.Type           = AnimationTypes.DissolveIn;
                result.AdditionalData = "1";
            }
            else if (typeof(WedgeTransition) == trans.FirstChild.GetType())
            {
                result.Type           = AnimationTypes.Wedge;
                result.AdditionalData = "1";
            }
            else if (typeof(PullTransition) == trans.FirstChild.GetType())
            {
                PullTransition transition = (PullTransition)trans.FirstChild;
                result.Type = AnimationTypes.UnCover;
                if (transition.Direction != null && "d".Equals(transition.Direction.Value.ToString()))
                {
                    result.AdditionalData = "9";
                }
                else if (transition.Direction != null && "r".Equals(transition.Direction.Value.ToString()))
                {
                    result.AdditionalData = "11";
                }
                else if (transition.Direction != null && "u".Equals(transition.Direction.Value.ToString()))
                {
                    result.AdditionalData = "12";
                }
                else if (transition.Direction != null && "ld".Equals(transition.Direction.Value.ToString()))
                {
                    result.AdditionalData = "13";
                }
                else if (transition.Direction != null && "lu".Equals(transition.Direction.Value.ToString()))
                {
                    result.AdditionalData = "14";
                }
                else if (transition.Direction != null && "rd".Equals(transition.Direction.Value.ToString()))
                {
                    result.AdditionalData = "15";
                }
                else if (transition.Direction != null && "ru".Equals(transition.Direction.Value.ToString()))
                {
                    result.AdditionalData = "16";
                }
                else
                {
                    result.AdditionalData = "10";
                }
            }
            else if (typeof(ZoomTransition) == trans.FirstChild.GetType())
            {
                ZoomTransition transition = (ZoomTransition)trans.FirstChild;
                result.Type = AnimationTypes.Box;
                if (transition.Direction != null && TransitionInOutDirectionValues.In == transition.Direction.Value)
                {
                    result.AdditionalData = "19";
                }
                else
                {
                    result.AdditionalData = "20";
                }
            }
            else if (typeof(ZoomTransition) == trans.FirstChild.GetType())
            {
                ZoomTransition transition = (ZoomTransition)trans.FirstChild;
                result.Type = AnimationTypes.Box;
                if (transition.Direction != null && TransitionInOutDirectionValues.In == transition.Direction.Value)
                {
                    result.AdditionalData = "19";
                }
                else
                {
                    result.AdditionalData = "20";
                }
            }
            else if (typeof(WheelTransition) == trans.FirstChild.GetType())
            {
                WheelTransition transition = (WheelTransition)trans.FirstChild;
                result.Type = AnimationTypes.Wheel;
                if (transition.Spokes != null && transition.Spokes.Value == 1)
                {
                    result.AdditionalData = "1";
                }
                else if (transition.Spokes != null && transition.Spokes.Value == 2)
                {
                    result.AdditionalData = "2";
                }
                else if (transition.Spokes != null && transition.Spokes.Value == 3)
                {
                    result.AdditionalData = "3";
                }
                else if (transition.Spokes != null && transition.Spokes.Value == 8)
                {
                    result.AdditionalData = "8";
                }
                else
                {
                    result.AdditionalData = "4";
                }
            }
            else if (typeof(SplitTransition) == trans.FirstChild.GetType())
            {
                SplitTransition transition = (SplitTransition)trans.FirstChild;
                result.Type = AnimationTypes.Split;
                if (transition.Direction != null && TransitionInOutDirectionValues.In == transition.Direction.Value)
                {
                    if (transition.Orientation != null && DirectionValues.Vertical.Equals(transition.Orientation.Value))
                    {
                        result.AdditionalData = "25";
                    }
                    else
                    {
                        result.AdditionalData = "23";
                    }
                }
                else
                {
                    if (transition.Orientation != null && DirectionValues.Vertical.Equals(transition.Orientation.Value))
                    {
                        result.AdditionalData = "26";
                    }
                    else
                    {
                        result.AdditionalData = "24";
                    }
                }
            }
            else if (typeof(CircleTransition) == trans.FirstChild.GetType())
            {
                result.Type           = AnimationTypes.Circle;
                result.AdditionalData = "20";
            }
            else if (typeof(DiamondTransition) == trans.FirstChild.GetType())
            {
                result.Type           = AnimationTypes.Diamond;
                result.AdditionalData = "20";
            }
            else if (typeof(PlusTransition) == trans.FirstChild.GetType())
            {
                result.Type           = AnimationTypes.Plus;
                result.AdditionalData = "20";
            }
            else if (typeof(NewsflashTransition) == trans.FirstChild.GetType())
            {
                result.Type           = AnimationTypes.Newsflash;
                result.AdditionalData = "20";
            }
            return(result);
        }