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);
        }
Пример #2
0
 public void Play(Action onFinished)
 {
     this._isPlaying     = true;
     this._actOnFinished = onFinished;
     BattleTaskManager.GetBattleCameras().enemyFieldCamera.cullingMask = BattleTaskManager.GetBattleCameras().GetDefaultLayers();
     this.TorpedoParticle = ParticleFile.Load <PSTorpedoWake>(ParticleFileInfos.PARTICLE_FILE_INFOS_ID_ST);
     this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this._initTorpedoCutInNInjection), new StatementMachine.StatementMachineUpdate(this._updateTorpedoCutInNInjection));
 }
Пример #3
0
        public void TestSaveMethod()
        {
            ParticleFile particleFile = new ParticleFile();

            particleFile.Load(TEST_FILE);

            MemoryStream savedStream = new MemoryStream();

            particleFile.Save(savedStream);

            savedStream.Seek(0, SeekOrigin.Begin);

            ParticleFile savedParticleFile = new ParticleFile();

            savedParticleFile.Load(savedStream);

            savedStream.Close();

            Assert.AreEqual(particleFile.Sequences.Count, savedParticleFile.Sequences.Count, "Sequence counts do not match");

            for (int i = 0; i < particleFile.Sequences.Count; i++)
            {
                Assert.AreEqual(particleFile.Sequences[i].Name, savedParticleFile.Sequences[i].Name, "Sequence name values do not match");
                Assert.AreEqual(particleFile.Sequences[i].Lifetime.Minimum, savedParticleFile.Sequences[i].Lifetime.Minimum, "Sequence minimum lifetime values do not match");
                Assert.AreEqual(particleFile.Sequences[i].Lifetime.Maximum, savedParticleFile.Sequences[i].Lifetime.Maximum, "Sequence maximum lifetime values do not match");
                Assert.AreEqual(particleFile.Sequences[i].EmitRate.Minimum, savedParticleFile.Sequences[i].EmitRate.Minimum, "Sequence minimum emit rate values do not match");
                Assert.AreEqual(particleFile.Sequences[i].EmitRate.Maximum, savedParticleFile.Sequences[i].EmitRate.Maximum, "Sequence maximum emit rate values do not match");
                Assert.AreEqual(particleFile.Sequences[i].LoopCount, savedParticleFile.Sequences[i].LoopCount, "Sequence loop count values do not match");
                Assert.AreEqual(particleFile.Sequences[i].SpawnDirection.Minimum, savedParticleFile.Sequences[i].SpawnDirection.Minimum, "Sequence minimum spawn direction values do not match");
                Assert.AreEqual(particleFile.Sequences[i].SpawnDirection.Maximum, savedParticleFile.Sequences[i].SpawnDirection.Maximum, "Sequence maximum spawn direction values do not match");
                Assert.AreEqual(particleFile.Sequences[i].EmitRadius.Minimum, savedParticleFile.Sequences[i].EmitRadius.Minimum, "Sequence minimum emit radius values do not match");
                Assert.AreEqual(particleFile.Sequences[i].EmitRadius.Maximum, savedParticleFile.Sequences[i].EmitRadius.Maximum, "Sequence maximum emit radius values do not match");
                Assert.AreEqual(particleFile.Sequences[i].Gravity.Minimum, savedParticleFile.Sequences[i].Gravity.Minimum, "Sequence minimum gravity values do not match");
                Assert.AreEqual(particleFile.Sequences[i].Gravity.Maximum, savedParticleFile.Sequences[i].Gravity.Maximum, "Sequence maximum gravity values do not match");
                Assert.AreEqual(particleFile.Sequences[i].TextureFileName, savedParticleFile.Sequences[i].TextureFileName, "Sequence texture file names do not match");
                Assert.AreEqual(particleFile.Sequences[i].ParticleCount, savedParticleFile.Sequences[i].ParticleCount, "Sequence particle counts do not match");
                Assert.AreEqual(particleFile.Sequences[i].Alignment, savedParticleFile.Sequences[i].Alignment, "Sequence alignment values do not match");
                Assert.AreEqual(particleFile.Sequences[i].UpdateCoordinate, savedParticleFile.Sequences[i].UpdateCoordinate, "Sequence update coordinate values do not match");
                Assert.AreEqual(particleFile.Sequences[i].TextureWidth, savedParticleFile.Sequences[i].TextureWidth, "Sequence texture width values do not match");
                Assert.AreEqual(particleFile.Sequences[i].TextureHeight, savedParticleFile.Sequences[i].TextureHeight, "Sequence texture height values do not match");
                Assert.AreEqual(particleFile.Sequences[i].Implementation, savedParticleFile.Sequences[i].Implementation, "Sequence implementation values do not match");
                Assert.AreEqual(particleFile.Sequences[i].DestinationBlendMode, savedParticleFile.Sequences[i].DestinationBlendMode, "Sequence destination blend mode values do not match");
                Assert.AreEqual(particleFile.Sequences[i].SourceBlendMode, savedParticleFile.Sequences[i].SourceBlendMode, "Sequence source blend mode values do not match");
                Assert.AreEqual(particleFile.Sequences[i].BlendOperation, savedParticleFile.Sequences[i].BlendOperation, "Sequence blend operation values do not match");

                Assert.AreEqual(particleFile.Sequences[i].Events.Count, savedParticleFile.Sequences[i].Events.Count, "Event counts do not match");

                for (int j = 0; j < particleFile.Sequences[i].Events.Count; j++)
                {
                    Assert.AreEqual(particleFile.Sequences[i].Events[j].Type, savedParticleFile.Sequences[i].Events[j].Type, "Event type values do not match");
                    Assert.AreEqual(particleFile.Sequences[i].Events[j].Fade, savedParticleFile.Sequences[i].Events[j].Fade, "Event fade values do not match");
                    Assert.AreEqual(particleFile.Sequences[i].Events[j].TimeRange.Minimum, savedParticleFile.Sequences[i].Events[j].TimeRange.Minimum, "Event minimum time range values do not match");
                    Assert.AreEqual(particleFile.Sequences[i].Events[j].TimeRange.Maximum, savedParticleFile.Sequences[i].Events[j].TimeRange.Maximum, "Event maximum time range values do not match");
                }
            }
        }
Пример #4
0
 public void AddInstantiates(Transform parent, Vector3 injectionVec, Vector3 targetVec, bool isFull, int attackerIndex, float time, bool isDet, bool isMiss)
 {
     if (_torpedoWake == null)
     {
         _torpedoWake = ParticleFile.Load <PSTorpedoWake>(ParticleFileInfos.PARTICLE_FILE_INFOS_ID_ST);
     }
     if (_torpedoWakeD == null)
     {
         _torpedoWakeD = ParticleFile.Load <PSTorpedoWake>(ParticleFileInfos.BattlePSTorpedowakeD);
     }
     _listTorpedoWake.Add(PSTorpedoWake.Instantiate((!isFull) ? _torpedoWake : _torpedoWakeD, parent, injectionVec, targetVec, attackerIndex, time, isDet, isMiss));
 }
Пример #5
0
        private bool _initSupportTorpedoPhase1(object data)
        {
            SplashPar = ParticleFile.Load <ParticleSystem>(ParticleFileInfos.BattlePSSplashTorpedo);
            BattleCutInEffectCamera cutInEffectCamera = BattleTaskManager.GetBattleCameras().cutInEffectCamera;

            cutInEffectCamera.isCulling = true;
            Observable.FromCoroutine((IObserver <bool> observer) => CreateTorpedo1(observer)).Subscribe(delegate
            {
                _prodSupportTorpedoP1.Play(_onSupportTorpedoPhase1Finished);
            });
            return(false);
        }
Пример #6
0
        private ParticleSystem Instantiate()
        {
            if ((UnityEngine.Object)_par == null)
            {
                _par = ParticleFile.Load <ParticleSystem>(ParticleFileInfos.BattlePSSplashSmoke);
            }
            ParticleSystem val = UnityEngine.Object.Instantiate <ParticleSystem>(_par);

            ((Component)val).transform.parent   = base.transform;
            ((Component)val).transform.position = base.transform.position;
            return(val);
        }
Пример #7
0
 protected override bool Init()
 {
     _clsRaigeki = BattleTaskManager.GetBattleManager().GetKaimakuData();
     if (_clsRaigeki == null)
     {
         EndPhase(BattleUtils.NextPhase(BattlePhase.OpeningTorpedoSalvo));
     }
     else
     {
         _clsState = new StatementMachine();
         _clsState.AddState(_initTorpedoCutInInjection, _updateTorpedoCutInInjection);
         TorpedoParticle = ParticleFile.Load <PSTorpedoWake>(ParticleFileInfos.PARTICLE_FILE_INFOS_ID_ST);
     }
     return(true);
 }
 protected override bool Init()
 {
     base.Init();
     this._clsRaigeki = BattleTaskManager.GetBattleManager().GetRaigekiData();
     if (this._clsRaigeki == null)
     {
         this.EndPhase(BattleUtils.NextPhase(BattlePhase.TorpedoSalvo));
     }
     else
     {
         this._clsState = new StatementMachine();
         BattleTaskManager.GetBattleCameras().enemyFieldCamera.cullingMask = BattleTaskManager.GetBattleCameras().GetDefaultLayers();
         this.TorpedoParticle = ParticleFile.Load <PSTorpedoWake>(ParticleFileInfos.PARTICLE_FILE_INFOS_ID_ST);
         this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this._initTorpedoCutInNInjection), new StatementMachine.StatementMachineUpdate(this._updateTorpedoCutInNInjection));
     }
     return(true);
 }
Пример #9
0
        public void TestLoadMethod()
        {
            Stream stream = File.OpenRead(TEST_FILE);

            stream.Seek(0, SeekOrigin.End);
            long fileSize = stream.Position;

            stream.Seek(0, SeekOrigin.Begin);

            ParticleFile particleFile = new ParticleFile();

            particleFile.Load(stream);

            long streamPosition = stream.Position;

            stream.Close();

            Assert.AreEqual(fileSize, streamPosition, "Not all of the file was read");
        }
Пример #10
0
 private void _onSupportFleetAdmissionFinished()
 {
     if (_clsShien is ShienModel_Rai)
     {
         _clsTorpedo     = (ShienModel_Rai)_clsShien;
         TorpedoParticle = ParticleFile.Load <PSTorpedoWake>(ParticleFileInfos.BattlePSTorpedowakeD);
         _clsState.AddState(_initSupportTorpedoPhase1, _updateSupportTorpedoPhase1);
     }
     else if (_clsShien is ShienModel_Hou)
     {
         _clsShelling = (ShienModel_Hou)_clsShien;
         _clsState.AddState(_initSupportShelling, _updateSupportShelling);
     }
     else if (_clsShien is ShienModel_Air)
     {
         _clsAerial = (ShienModel_Air)_clsShien;
         _clsState.AddState(_initSupportAerialPhase1, _updateSupportAerialPhase1);
     }
 }
Пример #11
0
        private bool InitMoveCameraTo2D(object data)
        {
            BattleFieldCamera       cam                  = BattleTaskManager.GetBattleCameras().fieldCameras[0];
            BattleShips             battleShips          = BattleTaskManager.GetBattleShips();
            ProdDetectionStartCutIn pdsc                 = ProdDetectionStartCutIn.Instantiate(((Component)BattleTaskManager.GetPrefabFile().prefabProdDetectionStartCutIn).GetComponent <ProdDetectionStartCutIn>(), BattleTaskManager.GetBattleCameras().cutInCamera.transform);
            ShipModel_Battle        detectionPrimaryShip = ShipUtils.GetDetectionPrimaryShip(_clsSakuteki.planes_f, isFriend: true);
            UIBattleShip            uIBattleShip         = (detectionPrimaryShip == null) ? battleShips.flagShipFriend : battleShips.dicFriendBattleShips[detectionPrimaryShip.Index];
            Vector3 vector           = Mathe.NormalizeDirection(uIBattleShip.pointOfGaze, Vector3.zero) * 30f;
            Vector3 pointOfGaze      = uIBattleShip.pointOfGaze;
            float   x                = pointOfGaze.x;
            Vector3 pointOfGaze2     = uIBattleShip.pointOfGaze;
            float   y                = pointOfGaze2.y;
            Vector3 pointOfGaze3     = uIBattleShip.pointOfGaze;
            Vector3 fixChasingCamera = new Vector3(x, y, pointOfGaze3.z + vector.z);

            cam.pointOfGaze = uIBattleShip.pointOfGaze;
            cam.ReqViewMode(CameraActor.ViewMode.FixChasing);
            cam.SetFixChasingCamera(fixChasingCamera);
            Vector3   pointOfGaze4 = uIBattleShip.pointOfGaze;
            float     x2           = pointOfGaze4.x;
            Vector3   pointOfGaze5 = uIBattleShip.pointOfGaze;
            Vector3   endCamPos    = new Vector3(x2, 50f, pointOfGaze5.z + vector.z * 6f);
            Transform transform    = uIBattleShip.transform;
            Vector3   position     = BattleTaskManager.GetBattleShips().dicFriendBattleShips[0].transform.position;

            _psDetectionRipple = Util.Instantiate(ParticleFile.Load(ParticleFileInfos.BattlePSDetectionRipple)).GetComponent <ParticleSystem>();
            ((Component)_psDetectionRipple).transform.parent   = transform;
            ((Component)_psDetectionRipple).transform.position = new Vector3(position.x, position.y + 0.01f, position.z);
            _psDetectionRipple.Play();
            pdsc.Play().Subscribe(delegate
            {
                cam.transform.LTMove(endCamPos, 1.95f).setEase(LeanTweenType.easeInOutCubic);
                Mem.DelComponentSafe(ref pdsc);
            });
            return(false);
        }
Пример #12
0
 private PSTorpedoWake _createTorpedo(bool isOnes, Vector3 injection, Vector3 target, float _time, bool isDet, bool isMiss)
 {
     return(PSTorpedoWake.Instantiate((!isOnes) ? this._torpedoWake : ParticleFile.Load <PSTorpedoWake>(ParticleFileInfos.BattlePSTorpedowakeD), BattleTaskManager.GetBattleField().get_transform(), new Vector3(injection.x, injection.y + 1f, injection.z), new Vector3(target.x, target.y + 1f, target.z), 0, _time, isDet, isMiss));
 }
Пример #13
0
        private void Awake()
        {
            _iTimeZone = KCV.Battle.Utils.TimeZone.DayTime;
            if (_traFieldCenter == null)
            {
                Util.FindParentToChild(ref _traFieldCenter, base.transform, "CenterAnchor");
            }
            _dicFleetAnchor = new Dictionary <FleetType, Transform>();
            int num = 0;

            foreach (Transform traFleetAnchor in _traFleetAnchorList)
            {
                _dicFleetAnchor.Add((FleetType)num, traFleetAnchor);
                num++;
            }
            _dicCameraAnchors = new Dictionary <CameraAnchorType, Dictionary <FleetType, Transform> >();
            Dictionary <FleetType, Transform> dictionary = new Dictionary <FleetType, Transform>();

            foreach (int value in Enum.GetValues(typeof(FleetType)))
            {
                if (value != 2)
                {
                    dictionary.Add((FleetType)value, base.transform.FindChild($"CameraAnchors/{((FleetType)value).ToString()}OneRowAnchor").transform);
                }
            }
            _dicCameraAnchors.Add(CameraAnchorType.OneRowAnchor, dictionary);
            _dicFleetAnchorOrigine = new Dictionary <FleetType, Vector3>();
            _dicFleetAnchorOrigine.Add(FleetType.Friend, _dicFleetAnchor[FleetType.Friend].transform.position);
            _dicFleetAnchorOrigine.Add(FleetType.Enemy, _dicFleetAnchor[FleetType.Enemy].transform.position);
            _dicSeaLevels = new Dictionary <FleetType, Water>();
            int num2 = 0;

            foreach (Transform traSeaLevel in _traSeaLevelList)
            {
                _dicSeaLevels.Add((FleetType)num2, ((Component)traSeaLevel).GetComponent <Water>());
                _dicSeaLevels[(FleetType)num2].m_WaterMode       = Water.WaterMode.Reflective;
                _dicSeaLevels[(FleetType)num2].waveScale         = 0.02f;
                _dicSeaLevels[(FleetType)num2].reflectionDistort = 1.5f;
                num2++;
            }
            _dicSeaLevels[FleetType.Enemy].SetLayer(Generics.Layers.SplitWater.IntLayer());
            isEnemySeaLevelActive = false;
            _dicWaveDirs          = new Dictionary <FleetType, Vector4>();
            _dicWaveDirs.Add(FleetType.Friend, new Vector4(-3.58f, -22.85f, 1f, -100f));
            _dicWaveDirs.Add(FleetType.Enemy, new Vector4(3.58f, 22.85f, -1f, 100f));
            _dicPSClouds = new Dictionary <FleetType, ParticleSystem>();
            foreach (int value2 in Enum.GetValues(typeof(FleetType)))
            {
                if (value2 != 2)
                {
                    ParticleSystem val = ParticleFile.Instantiate <ParticleSystem>(ParticleFileInfos.BattleAdventFleetCloud);
                    ((UnityEngine.Object)val).name    = $"Cloud{(FleetType)value2}";
                    ((Component)val).transform.parent = base.transform;
                    ((Component)val).SetRenderQueue(3500);
                    ((Component)val).transform.localScale = Vector3.one;
                    ((Component)val).transform.position   = Vector3.zero;
                    val.playOnAwake = false;
                    ((Component)val).SetActive(isActive: false);
                    _dicPSClouds.Add((FleetType)value2, val);
                }
            }
        }
        private void Awake()
        {
            this._iTimeZone = TimeZone.DayTime;
            if (this._traFieldCenter == null)
            {
                Util.FindParentToChild <Transform>(ref this._traFieldCenter, base.get_transform(), "CenterAnchor");
            }
            this._dicFleetAnchor = new Dictionary <FleetType, Transform>();
            int num = 0;

            using (List <Transform> .Enumerator enumerator = this._traFleetAnchorList.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    Transform current = enumerator.get_Current();
                    this._dicFleetAnchor.Add((FleetType)num, current);
                    num++;
                }
            }
            this._dicCameraAnchors = new Dictionary <CameraAnchorType, Dictionary <FleetType, Transform> >();
            Dictionary <FleetType, Transform> dictionary = new Dictionary <FleetType, Transform>();

            using (IEnumerator enumerator2 = Enum.GetValues(typeof(FleetType)).GetEnumerator())
            {
                while (enumerator2.MoveNext())
                {
                    FleetType fleetType = (FleetType)((int)enumerator2.get_Current());
                    if (fleetType != FleetType.CombinedFleet)
                    {
                        dictionary.Add(fleetType, base.get_transform().FindChild(string.Format("CameraAnchors/{0}OneRowAnchor", fleetType.ToString())).get_transform());
                    }
                }
            }
            this._dicCameraAnchors.Add(CameraAnchorType.OneRowAnchor, dictionary);
            this._dicFleetAnchorOrigine = new Dictionary <FleetType, Vector3>();
            this._dicFleetAnchorOrigine.Add(FleetType.Friend, this._dicFleetAnchor.get_Item(FleetType.Friend).get_transform().get_position());
            this._dicFleetAnchorOrigine.Add(FleetType.Enemy, this._dicFleetAnchor.get_Item(FleetType.Enemy).get_transform().get_position());
            this._dicSeaLevels = new Dictionary <FleetType, Water>();
            int num2 = 0;

            using (List <Transform> .Enumerator enumerator3 = this._traSeaLevelList.GetEnumerator())
            {
                while (enumerator3.MoveNext())
                {
                    Transform current2 = enumerator3.get_Current();
                    this._dicSeaLevels.Add((FleetType)num2, current2.GetComponent <Water>());
                    this._dicSeaLevels.get_Item((FleetType)num2).m_WaterMode = 1;
                    this._dicSeaLevels.get_Item((FleetType)num2).set_waveScale(0.02f);
                    this._dicSeaLevels.get_Item((FleetType)num2).set_reflectionDistort(1.5f);
                    num2++;
                }
            }
            this._dicSeaLevels.get_Item(FleetType.Enemy).SetLayer(Generics.Layers.SplitWater.IntLayer());
            this.isEnemySeaLevelActive = false;
            this._dicWaveDirs          = new Dictionary <FleetType, Vector4>();
            this._dicWaveDirs.Add(FleetType.Friend, new Vector4(-3.58f, -22.85f, 1f, -100f));
            this._dicWaveDirs.Add(FleetType.Enemy, new Vector4(3.58f, 22.85f, -1f, 100f));
            this._dicPSClouds = new Dictionary <FleetType, ParticleSystem>();
            using (IEnumerator enumerator4 = Enum.GetValues(typeof(FleetType)).GetEnumerator())
            {
                while (enumerator4.MoveNext())
                {
                    FleetType fleetType2 = (FleetType)((int)enumerator4.get_Current());
                    if (fleetType2 != FleetType.CombinedFleet)
                    {
                        ParticleSystem particleSystem = ParticleFile.Instantiate <ParticleSystem>(ParticleFileInfos.BattleAdventFleetCloud);
                        particleSystem.set_name(string.Format("Cloud{0}", fleetType2));
                        particleSystem.get_transform().set_parent(base.get_transform());
                        particleSystem.SetRenderQueue(3500);
                        particleSystem.get_transform().set_localScale(Vector3.get_one());
                        particleSystem.get_transform().set_position(Vector3.get_zero());
                        particleSystem.set_playOnAwake(false);
                        particleSystem.SetActive(false);
                        this._dicPSClouds.Add(fleetType2, particleSystem);
                    }
                }
            }
        }
 private PSTorpedoWake _instantiateTorpedo(Vector3 injection, Vector3 target, int index, float _time, bool isDet, bool isMiss, bool isD)
 {
     return(PSTorpedoWake.Instantiate(injectionVec: new Vector3(injection.x, injection.y + 1f, injection.z), target: new Vector3(target.x, target.y + 1f, target.z), prefab: (!isD) ? _torpedoWake : ParticleFile.Load <PSTorpedoWake>(ParticleFileInfos.BattlePSTorpedowakeD), parent: BattleTaskManager.GetBattleField().transform, attacker: index, _time: _time, isDet: isDet, isMiss: isMiss));
 }