private bool InitEnemyFleetFocus(object data)
        {
            this.SetEnemyShipsDrawType(this._iResult);
            BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0);
            Vector3           pointOfGaze       = BattleTaskManager.GetBattleShips().flagShipEnemy.pointOfGaze;
            Vector3           vector            = Vector3.Lerp(battleFieldCamera.eyePosition, pointOfGaze, 0.3f);

            battleFieldCamera.get_transform().LTMove(vector, 2.7f).setEase(LeanTweenType.linear);
            this._tpFocusPoint = new Tuple <Vector3, float>(vector, Vector3.Distance(Vector3.Lerp(battleFieldCamera.eyePosition, vector, 0.7f), vector));
            ProdCloud prodCloud = BattleTaskManager.GetPrefabFile().prodCloud;

            prodCloud.Play(this.GetFleetFocusAnim(this._iResult), null, null);
            return(false);
        }
Exemplo n.º 2
0
        private bool UpdateMoveCameraTo2D(object data)
        {
            ProdCloud prodCloud = BattleTaskManager.GetPrefabFile().prodCloud;

            if (!prodCloud.isPlaying)
            {
                BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras[0];
                Vector3           eyePosition       = battleFieldCamera.eyePosition;
                float             y      = eyePosition.y;
                Vector3           vector = Vector3.Lerp(Vector3.zero, Vector3.up * 50f, 0.15f);
                if (y >= vector.y)
                {
                    prodCloud.Play(ProdCloud.AnimationList.ProdCloudOut, delegate
                    {
                        if (_prodDetectionCutIn.isAircraft)
                        {
                            _prodDetectionCutIn.Play(delegate
                            {
                                if (_iResult == ProdDetectionResultCutIn.AnimationList.DetectionSucces || _iResult == ProdDetectionResultCutIn.AnimationList.DetectionLost)
                                {
                                    _clsState.AddState(InitDetectionResultCutIn, UpdateDetectionResultCutIn);
                                }
                                else
                                {
                                    _clsState.AddState(InitEnemyFleetFocus, UpdateEnemyFleetFocus);
                                }
                            }, null);
                        }
                        else if (_iResult == ProdDetectionResultCutIn.AnimationList.DetectionSucces)
                        {
                            _clsState.AddState(InitDetectionResultCutIn, UpdateDetectionResultCutIn);
                        }
                        else
                        {
                            _clsState.AddState(InitEnemyFleetFocus, UpdateEnemyFleetFocus);
                            InitCameraSettingsForEnemyFocus();
                        }
                    }, delegate
                    {
                        if (_prodDetectionCutIn.isAircraft || (!_prodDetectionCutIn.isAircraft && _iResult == ProdDetectionResultCutIn.AnimationList.DetectionSucces))
                        {
                            InitCameraSettingsForEnemyFocus();
                        }
                    });
                    return(true);
                }
            }
            return(false);
        }
        private bool UpdateMoveCameraTo2D(object data)
        {
            ProdCloud prodCloud = BattleTaskManager.GetPrefabFile().prodCloud;

            if (!prodCloud.isPlaying)
            {
                BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0);
                if (battleFieldCamera.eyePosition.y >= Vector3.Lerp(Vector3.get_zero(), Vector3.get_up() * 50f, 0.15f).y)
                {
                    prodCloud.Play(ProdCloud.AnimationList.ProdCloudOut, delegate
                    {
                        if (this._prodDetectionCutIn.isAircraft)
                        {
                            this._prodDetectionCutIn.Play(delegate
                            {
                                if (this._iResult == ProdDetectionResultCutIn.AnimationList.DetectionSucces || this._iResult == ProdDetectionResultCutIn.AnimationList.DetectionLost)
                                {
                                    this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitDetectionResultCutIn), new StatementMachine.StatementMachineUpdate(this.UpdateDetectionResultCutIn));
                                }
                                else
                                {
                                    this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitEnemyFleetFocus), new StatementMachine.StatementMachineUpdate(this.UpdateEnemyFleetFocus));
                                }
                            }, null);
                        }
                        else if (this._iResult == ProdDetectionResultCutIn.AnimationList.DetectionSucces)
                        {
                            this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitDetectionResultCutIn), new StatementMachine.StatementMachineUpdate(this.UpdateDetectionResultCutIn));
                        }
                        else
                        {
                            this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitEnemyFleetFocus), new StatementMachine.StatementMachineUpdate(this.UpdateEnemyFleetFocus));
                            this.InitCameraSettingsForEnemyFocus();
                        }
                    }, delegate
                    {
                        if (this._prodDetectionCutIn.isAircraft || (!this._prodDetectionCutIn.isAircraft && this._iResult == ProdDetectionResultCutIn.AnimationList.DetectionSucces))
                        {
                            this.InitCameraSettingsForEnemyFocus();
                        }
                    });
                    return(true);
                }
            }
            return(false);
        }