private bool InitFriendFleetAdvent(object data) { this._dicPSClouds.get_Item(FleetType.Friend).SetActive(true); this._dicPSClouds.get_Item(FleetType.Friend).Play(); BattleFieldCamera cam = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0); UIBattleShip uIBattleShip = BattleTaskManager.GetBattleShips().dicFriendBattleShips.get_Item(0); Vector3 position = BattleTaskManager.GetBattleField().dicFleetAnchor.get_Item(FleetType.Friend).get_position(); position.y = uIBattleShip.pointOfGaze.y; ShipUtils.PlayBattleStartVoice(uIBattleShip.shipModel); cam.ReqViewMode(CameraActor.ViewMode.RotateAroundObject); cam.SetRotateAroundObjectCamera(position, BattleDefines.FLEET_ADVENT_START_CAM_POS.get_Item(0), -10f); List <float> rotDst = this.CalcCloseUpCamDist(cam.rotateDistance, 30f); cam.get_transform().LTValue(cam.rotateDistance, rotDst.get_Item(0), 1f).setEase(BattleDefines.FLEET_ADVENT_FLEET_CLOSEUP_EASEING_TYPE).setOnUpdate(delegate(float x) { cam.rotateDistance = x; }).setOnComplete(delegate { cam.get_transform().LTValue(cam.rotateDistance, rotDst.get_Item(1), 1f).setEase(BattleDefines.FLEET_ADVENT_FLEET_CLOSEUP_EASEING_TYPE).setOnUpdate(delegate(float x) { cam.rotateDistance = x; }).setOnComplete(delegate { this.EndPhase(BattleUtils.NextPhase(BattlePhase.FleetAdvent)); }); }); return(false); }
private bool InitMoveCameraTo2D(object data) { BattleFieldCamera cam = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0); BattleShips battleShips = BattleTaskManager.GetBattleShips(); ProdDetectionStartCutIn pdsc = ProdDetectionStartCutIn.Instantiate(BattleTaskManager.GetPrefabFile().prefabProdDetectionStartCutIn.GetComponent <ProdDetectionStartCutIn>(), BattleTaskManager.GetBattleCameras().cutInCamera.get_transform()); ShipModel_Battle detectionPrimaryShip = ShipUtils.GetDetectionPrimaryShip(this._clsSakuteki.planes_f, true); UIBattleShip uIBattleShip = (detectionPrimaryShip == null) ? battleShips.flagShipFriend : battleShips.dicFriendBattleShips.get_Item(detectionPrimaryShip.Index); Vector3 vector = Mathe.NormalizeDirection(uIBattleShip.pointOfGaze, Vector3.get_zero()) * 30f; Vector3 fixChasingCamera = new Vector3(uIBattleShip.pointOfGaze.x, uIBattleShip.pointOfGaze.y, uIBattleShip.pointOfGaze.z + vector.z); cam.pointOfGaze = uIBattleShip.pointOfGaze; cam.ReqViewMode(CameraActor.ViewMode.FixChasing); cam.SetFixChasingCamera(fixChasingCamera); Vector3 endCamPos = new Vector3(uIBattleShip.pointOfGaze.x, 50f, uIBattleShip.pointOfGaze.z + vector.z * 6f); Transform transform = uIBattleShip.get_transform(); Vector3 position = BattleTaskManager.GetBattleShips().dicFriendBattleShips.get_Item(0).get_transform().get_position(); this._psDetectionRipple = Util.Instantiate(ParticleFile.Load(ParticleFileInfos.BattlePSDetectionRipple), null, false, false).GetComponent <ParticleSystem>(); this._psDetectionRipple.get_transform().set_parent(transform); this._psDetectionRipple.get_transform().set_position(new Vector3(position.x, position.y + 0.01f, position.z)); this._psDetectionRipple.Play(); pdsc.Play().Subscribe(delegate(bool _) { cam.get_transform().LTMove(endCamPos, 1.95f).setEase(LeanTweenType.easeInOutCubic); Mem.DelComponentSafe <ProdDetectionStartCutIn>(ref pdsc); }); return(false); }
public virtual void PlayAttack(HougekiModel model, int nCurrentShellingCnt, bool isNextAttack, bool isSkipAttack, Action callback) { if (model == null) { Dlg.Call(ref callback); } BattleTaskManager.GetTorpedoHpGauges().Hide(); ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction(); observerAction.Executions(); this.hougekiModel = model; this._actOnFinished = callback; this._isNextAttack = isNextAttack; this._isSkipAttack = isSkipAttack; this.SetDirectionSubjects(this.hougekiModel); this._nCurrentAttackCnt = nCurrentShellingCnt; BattleShips battleShips = BattleTaskManager.GetBattleShips(); battleShips.SetStandingPosition(StandingPositionType.OneRow); battleShips.SetLayer(Generics.Layers.ShipGirl); BattleField battleField = BattleTaskManager.GetBattleField(); battleField.ResetFleetAnchorPosition(); this.CorFleetAnchorDifPosition(); BattleCameras battleCameras = BattleTaskManager.GetBattleCameras(); battleCameras.SetVerticalSplitCameras(false); BattleShips battleShips2 = BattleTaskManager.GetBattleShips(); battleShips2.SetBollboardTarget(true, battleCameras.fieldCameras.get_Item(0).get_transform()); battleShips2.SetBollboardTarget(false, battleCameras.fieldCameras.get_Item(1).get_transform()); battleShips2.SetTorpedoSalvoWakeAngle(false); BattleCutInEffectCamera cutInEffectCamera = BattleTaskManager.GetBattleCameras().cutInEffectCamera; UITexture component = cutInEffectCamera.get_transform().FindChild("TorpedoLine/OverlayLine").GetComponent <UITexture>(); if (component != null) { component.alpha = 0f; } BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras.get_Item(0); battleFieldCamera.clearFlags = 1; battleFieldCamera.cullingMask = BattleTaskManager.GetBattleCameras().GetDefaultLayers(); battleFieldCamera.eyePosition = this.CalcAttackerCamStartPos; battleCameras.SwitchMainCamera(FleetType.Friend); BattleFieldCamera battleFieldCamera2 = battleCameras.fieldCameras.get_Item(1); battleFieldCamera2.eyePosition = new Vector3(0f, 4f, 0f); battleFieldCamera2.eyeRotation = Quaternion.get_identity(); battleFieldCamera2.fieldOfView = 30f; this.SetFieldCamera(true, this.CalcCamPos(true, false), this._listBattleShips.get_Item(0).spPointOfGaze); this.SetDimCamera(true, battleFieldCamera.get_transform()); this.subjectShipLayerFmAnD = Generics.Layers.FocusDim; this.subjectStandingPosFmAnD = StandingPositionType.Advance; BattleTaskManager.GetPrefabFile().circleHPGauge.get_transform().localScaleZero(); this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitAttackerFocus), new StatementMachine.StatementMachineUpdate(this.UpdateAttackerFocus)); }
protected virtual void PlayProtectDefender(List <Vector3> camTargetPos) { BattleCameras battleCameras = BattleTaskManager.GetBattleCameras(); BattleFieldCamera fieldCam = battleCameras.fieldCameras.get_Item(0); fieldCam.get_transform().LTMove(camTargetPos.get_Item(1), BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(1)).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE.get_Item(1)); Observable.Timer(TimeSpan.FromSeconds(0.42500001192092896)).Subscribe(delegate(long _) { fieldCam.get_transform().LTCancel(); this.SetProtecterLayer(); Vector3 to = this.CalcProtecterPos(camTargetPos.get_Item(3)); this._listBattleShips.get_Item(2).get_transform().positionZ(to.z); this._listBattleShips.get_Item(2).get_transform().LTMove(to, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(0) * 1.2f).setEase(LeanTweenType.easeOutSine); fieldCam.get_transform().LTMove(camTargetPos.get_Item(2), BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(0)).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE.get_Item(0)).setOnComplete(delegate { this.PlayDefenderEffect(this._listBattleShips.get_Item(2), this._listBattleShips.get_Item(2).pointOfGaze, fieldCam, 0.5f); this.ChkDamagedStateFmAnticipating(camTargetPos.get_Item(3)); }); }); }
public virtual IObservable <bool> Play(Action onPlayBufferEffect, Action onCalcInitLineRotation, Action onPlayLineAnimation, Action onNextFocusShipAnimation, int nBufferCnt) { this._nBufferCnt = Mathe.MinMax2(nBufferCnt, 0, 4); this._clsCameraBezier = new Bezier(Bezier.BezierType.Quadratic, this._vStartCameraPivot, this._listEndCameraPivot.get_Item(this._nBufferCnt), this._vMidCameraPivot, Vector3.get_zero()); this._clsFleetBezier = new Bezier(Bezier.BezierType.Quadratic, this._vStartFleetPivot, this._vEndFleetPivot, this._vMidFleetPivot, Vector3.get_zero()); BattleField battleField = BattleTaskManager.GetBattleField(); this._traFleetAnchorFriend = battleField.dicFleetAnchor.get_Item(FleetType.Friend); this._traFleetAnchorEnemy = battleField.dicFleetAnchor.get_Item(FleetType.Enemy); this._traFleetAnchorEnemy.get_transform().set_localScale(Vector3.get_one() * 0.8f); BattleCameras battleCameras = BattleTaskManager.GetBattleCameras(); battleCameras.SetVerticalSplitCameras(false); battleCameras.fieldDimCamera.maskAlpha = 0f; battleCameras.SwitchMainCamera(FleetType.Enemy); BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras.get_Item(1); battleFieldCamera.ReqViewMode(CameraActor.ViewMode.FixChasing); battleFieldCamera.eyePosition = this._clsCameraBezier.Interpolate(0f); battleFieldCamera.pointOfGaze = Vector3.Lerp(this._clsFleetBezier.Interpolate(0f), this._listEnemyFleetPivot.get_Item(this._nBufferCnt), 0.5f); battleFieldCamera.get_transform().LookAt(battleFieldCamera.pointOfGaze); BattleShips battleShips = BattleTaskManager.GetBattleShips(); battleShips.SetBollboardTarget(battleFieldCamera.get_transform()); battleShips.SetLayer(Generics.Layers.ShipGirl); BattleCutInEffectCamera cutInEffectCamera = BattleTaskManager.GetBattleCameras().cutInEffectCamera; UITexture component = cutInEffectCamera.get_transform().FindChild("TorpedoLine/OverlayLine").GetComponent <UITexture>(); if (component != null) { component.alpha = 0f; } this._actOnPlayBufferEffect = onPlayBufferEffect; this._actOnNextFocusShipAnimation = onNextFocusShipAnimation; Observable.NextFrame(FrameCountType.Update).Subscribe(delegate(Unit x) { Dlg.Call(ref onCalcInitLineRotation); Dlg.Call(ref onPlayLineAnimation); }); return(Observable.FromCoroutine <bool>((IObserver <bool> observer) => this.AnimationObserver(observer))); }
protected virtual void RotateFocusTowardTarget2MoveFieldCam(Vector3 target, Action callback) { BattleFieldCamera cam = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0); Vector3 vector = Vector3.Lerp(cam.eyePosition, target, 0.2f); vector.x = target.x; vector.y = target.y; cam.get_transform().LTMoveX(vector.x, 0.666f).setOnStart(delegate { this.OnCameraRotateStart(); }).setEase(LeanTweenType.easeInQuad).setOnUpdate(delegate(float x) { cam.get_transform().positionX(x); }); cam.get_transform().LTMoveY(vector.y, 0.666f).setEase(LeanTweenType.easeInQuad).setOnUpdate(delegate(float x) { cam.get_transform().positionY(x); }); cam.get_transform().LTMoveZ(vector.z, 1.1655f).setEase(LeanTweenType.easeInQuad).setOnUpdate(delegate(float x) { cam.get_transform().positionZ(x); }).setOnComplete(delegate { Dlg.Call(ref callback); }); }
protected virtual void SetFieldCamera(bool isAttacker, Vector3 camPos, Vector3 lookPos) { BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0); if (isAttacker) { battleFieldCamera.motionBlur.set_enabled(false); battleFieldCamera.motionBlur.blurAmount = 0.65f; battleFieldCamera.get_transform().set_position(camPos); battleFieldCamera.LookAt(lookPos); battleFieldCamera.ReqViewMode(CameraActor.ViewMode.NotViewModeCtrl); battleFieldCamera.cullingMask = (Generics.Layers.FocusDim | Generics.Layers.UnRefrectEffects); battleFieldCamera.clearFlags = 3; } else { battleFieldCamera.motionBlur.set_enabled(false); battleFieldCamera.get_transform().set_position(camPos); battleFieldCamera.LookAt(lookPos); battleFieldCamera.ReqViewMode(CameraActor.ViewMode.NotViewModeCtrl); } }
private void InitCameraSettingsForEnemyFocus() { BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0); battleFieldCamera.get_transform().LTCancel(); Vector3 pointOfGaze = BattleTaskManager.GetBattleShips().flagShipEnemy.pointOfGaze; battleFieldCamera.pointOfGaze = pointOfGaze; battleFieldCamera.ReqViewMode(CameraActor.ViewMode.FixChasing); Vector3 fixChasingCamera = this.CalcCameraFleetFocusPos(this._iResult); battleFieldCamera.SetFixChasingCamera(fixChasingCamera); }
private bool InitSearchNFlare(object data) { BattleCameras battleCameras = BattleTaskManager.GetBattleCameras(); BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras.get_Item(0); battleFieldCamera.flareLayer.set_enabled(true); bool searchLightShip = this._clsNightCombat.GetSearchLightShip(true) != null; bool flareShip = this._clsNightCombat.GetFlareShip(true) != null; if (searchLightShip || flareShip) { if (this._prodNightRadarDeployment != null) { this._prodNightRadarDeployment.RadarObjectConvergence(); } Mem.DelComponentSafe <ProdNightRadarDeployment>(ref this._prodNightRadarDeployment); ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction(); observerAction.Executions(); BattleTaskManager.GetBattleShips().SetStandingPosition(StandingPositionType.OneRow); battleFieldCamera.ReqViewMode(CameraActor.ViewMode.Fix); battleFieldCamera.get_transform().set_position(this._vCameraOriginPos); battleFieldCamera.get_transform().set_rotation(Quaternion.get_identity()); ShipModel_BattleAll shipModel_BattleAll = (!searchLightShip) ? this._clsNightCombat.GetFlareShip(true) : this._clsNightCombat.GetSearchLightShip(true); if (shipModel_BattleAll != null) { BattleField battleField = BattleTaskManager.GetBattleField(); UIBattleShip uIBattleShip = BattleTaskManager.GetBattleShips().dicFriendBattleShips.get_Item(shipModel_BattleAll.Index); float x = -uIBattleShip.get_transform().get_position().x; battleField.dicFleetAnchor.get_Item(FleetType.Friend).get_transform().AddPosX(x); battleFieldCamera.get_transform().AddPosX(x); } } this.SearchLight_FlareBullet_PlayAnimation().Subscribe(delegate(int _) { this.OnSearchNFlareFinished(); }); return(false); }
protected virtual void PlayDefenderMiss(UIBattleShip ship, Vector3 defenderPos, BattleFieldCamera fieldCamera) { SoundUtils.PlayDamageSE(HitState.Miss, false); ParticleSystem splashMiss = BattleTaskManager.GetParticleFile().splashMiss; splashMiss.get_transform().set_parent(this.particleParent); splashMiss.SetLayer(Generics.Layers.UnRefrectEffects.IntLayer(), true); splashMiss.get_transform().set_position(Vector3.Lerp(fieldCamera.get_transform().get_position(), defenderPos, 1f)); splashMiss.get_transform().positionY(0f); splashMiss.get_transform().set_localPosition(new Vector3(splashMiss.get_transform().get_localPosition().x, splashMiss.get_transform().get_localPosition().y, (!ship.shipModel.IsFriend()) ? -15f : 15f)); splashMiss.SetActive(true); splashMiss.Play(); this.PlayHpGaugeDamage(ship, this.hitState); }
protected virtual void PlayDefenderGard(UIBattleShip ship, Vector3 defenderPos, BattleFieldCamera fieldCamera) { ParticleSystem explosionB3WhiteSmoke = BattleTaskManager.GetParticleFile().explosionB3WhiteSmoke; explosionB3WhiteSmoke.get_transform().set_parent(this.particleParent); explosionB3WhiteSmoke.SetLayer(Generics.Layers.UnRefrectEffects.IntLayer(), true); explosionB3WhiteSmoke.get_transform().set_position(Vector3.Lerp(fieldCamera.get_transform().get_position(), defenderPos, 0.9f)); explosionB3WhiteSmoke.SetActive(true); explosionB3WhiteSmoke.Play(); SoundUtils.PlayDamageSE(HitState.Gard, false); this.PlayDamageVoice(ship, this._clsHougekiModel.Defender.DamageEventAfter); this.PlayHpGaugeDamage(ship, this.hitState); fieldCamera.cameraShake.ShakeRot(null); }
protected virtual void RotateFocusTowardsTarget2RotateFieldCam(Vector3 target) { Observable.Timer(TimeSpan.FromSeconds(0.30000001192092896)).Subscribe(delegate(long _) { BattleFieldCamera cam = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0); float num = (!this._listBattleShips.get_Item(0).shipModel.IsFriend()) ? -180f : 180f; Vector3 vector = new Vector3(cam.eyeRotation.x, num, cam.eyeRotation.z); cam.get_transform().LTRotateAround(Vector3.get_up(), num, 0.666f).setEase(LeanTweenType.easeInQuad).setOnComplete(delegate { cam.LookAt(target); cam.ReqViewMode(CameraActor.ViewMode.FixChasing); }); }); }
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); }
protected virtual void LateUpdate() { if (this.animation.get_isPlaying()) { this._vCameraPos = this._clsCameraBezier.Interpolate(this._fProgress); this._vFleetPos = this._clsFleetBezier.Interpolate(this._fProgress); if (Application.get_isPlaying()) { BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(1); battleFieldCamera.get_transform().set_position(this._vCameraPos); battleFieldCamera.fieldOfView = this._fFov; this._vCameraPog = Vector3.Lerp(this._vFleetPos, this._listEnemyFleetPivot.get_Item(this._nBufferCnt), 0.5f); battleFieldCamera.pointOfGaze = this._vCameraPog; this._traFleetAnchorFriend.set_position(this._vFleetPos); this._traFleetAnchorEnemy.set_position(this._listEnemyFleetPivot.get_Item(this._nBufferCnt)); this._traFleetAnchorFriend.set_rotation(Quaternion.Euler(new Vector3(0f, this._fFleetRotation, 0f))); } } }
protected virtual void ChkDamagedStateFmAnticipating(Vector3 closeUpPos) { BattleCameras battleCameras = BattleTaskManager.GetBattleCameras(); BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras.get_Item(0); switch (this._clsHougekiModel.Defender.DamageEventAfter) { case DamagedStates.None: case DamagedStates.Shouha: battleFieldCamera.get_transform().LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(1)).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE.get_Item(1)).setOnComplete(delegate { this.OnFinished(); }); break; case DamagedStates.Tyuuha: case DamagedStates.Taiha: battleFieldCamera.get_transform().LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(1)).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE.get_Item(1)).setOnComplete(delegate { ShellingProdSubject shellingProdSubject2 = (!this.isProtect) ? ShellingProdSubject.Defender : ShellingProdSubject.Protector; if (this._listBattleShips.get_Item((int)shellingProdSubject2).shipModel.IsFriend()) { DamagedStates damageEventAfter = this._clsHougekiModel.Defender.DamageEventAfter; ProdDamageCutIn.DamageCutInType iType = (damageEventAfter != DamagedStates.Taiha) ? ProdDamageCutIn.DamageCutInType.Moderate : ProdDamageCutIn.DamageCutInType.Heavy; ProdDamageCutIn prodDamageCutIn = BattleTaskManager.GetPrefabFile().prodDamageCutIn; ProdDamageCutIn arg_76_0 = prodDamageCutIn; List <ShipModel_Defender> list = new List <ShipModel_Defender>(); list.Add(this._clsHougekiModel.Defender); arg_76_0.SetShipData(list, iType); prodDamageCutIn.Play(iType, delegate { BattleTaskManager.GetPrefabFile().circleHPGauge.get_transform().set_localScale(Vector3.get_zero()); }, delegate { BattleTaskManager.GetBattleShips().UpdateDamageAll(this._clsHougekiModel); this.OnFinished(); }); } else { this.OnFinished(); } }); break; case DamagedStates.Gekichin: case DamagedStates.Youin: case DamagedStates.Megami: { bool isFriend = this._listBattleShips.get_Item(1).shipModel.IsFriend(); ShellingProdSubject shellingProdSubject = (!this.isProtect) ? ShellingProdSubject.Defender : ShellingProdSubject.Protector; this._listBattleShips.get_Item((int)shellingProdSubject).PlayProdSinking(null); battleFieldCamera.get_transform().LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(2)).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE.get_Item(1)).setOnComplete(delegate { if (!isFriend) { this.OnFinished(); } }); if (isFriend) { Observable.Timer(TimeSpan.FromSeconds(1.0)).Subscribe(delegate(long _) { ProdSinking prodSinking = BattleTaskManager.GetPrefabFile().prodSinking; prodSinking.SetSinkingData(this._clsHougekiModel.Defender); prodSinking.Play(delegate { BattleTaskManager.GetPrefabFile().circleHPGauge.get_transform().set_localScale(Vector3.get_zero()); }, delegate { }, delegate { this.OnFinished(); }); BattleTaskManager.GetPrefabFile().circleHPGauge.get_transform().set_localScale(Vector3.get_zero()); }); } break; } } }