Example #1
0
        public void Playback()
        {
            while (tapQueue.Count > 0)
            {
                TapParticleDesc particleDesc = tapQueue.Dequeue();
                PlayManager.ParticlePool.TapAt(particleDesc.position, particleDesc.type, particleDesc.detail, particleDesc.textYOffset);
            }

            bool[] toDisable = new bool[] { false, false, false, false };
            while (holdQueue.Count > 0)
            {
                HoldParticleDesc particleDesc = holdQueue.Dequeue();
                if (particleDesc.isHoldEnd)
                {
                    toDisable[particleDesc.lane] = true;
                }
                else
                {
                    PlayManager.ParticlePool.HoldAt(particleDesc.lane, particleDesc.isHit);
                }
            }
            for (int i = 0; i < 4; i++)
            {
                if (toDisable[i])
                {
                    PlayManager.ParticlePool.DisableLane(i);
                }
            }


            while (arcQueue.Count > 0)
            {
                ArcParticleDesc particleDesc = arcQueue.Dequeue();
                ArcIndicator    indicator    = PlayManager.ArcIndicatorHandler.GetIndicator(particleDesc.groupID) as ArcIndicator;

                float2 position = indicator.GetPosition();

                if (particleDesc.shouldPlayText)
                {
                    PlayManager.ParticlePool.ArcAt(position, particleDesc.isHit);
                }

                if (particleDesc.isHit)
                {
                    indicator.PlayParticle();
                }
                else
                {
                    indicator.StopParticle();
                }
            }
        }
Example #2
0
        protected override void SetupIndicators(List <ArcPointData> connectedArcsIdEndpoint)
        {
            List <IIndicator> indicatorList = new List <IIndicator>(connectedArcsIdEndpoint.Count);

            foreach (var groupIdEndPoint in connectedArcsIdEndpoint)
            {
                ArcIndicator indicator = new ArcIndicator(
                    Object.Instantiate(arcApproachIndicatorPrefab),
                    Object.Instantiate(arcParticlePrefab),
                    groupIdEndPoint.time + 60
                    );
                indicatorList.Add(indicator);
            }
            PlayManager.ArcIndicatorHandler.Initialize(indicatorList);
        }