예제 #1
0
        public void RenderPhoton(PhotonData state)
        {
            var player   = Player.getPlayerById(_gameState, state.PlayerId);
            var color    = player.State.Color;
            var position = state.Position.NumericValue;
            var size     = state.Size.NumericValue;

            _geometries.PhotonGeometry.DrawParticle(position, size, color);
        }
예제 #2
0
        private static void ExplodePhoton(PhotonData photon)
        {
            var particle = new Particle();

            particle.AlphaBehavior = new LerpFloatBehavior(1, 0);
            particle.ColorBehavior = new ConstantBehavior <Color>(Color.WhiteSmoke);
            particle.SizeBehavior  = new LerpVector2Behavior(photon.Size.NumericValue * 2, 0);
            particle.Lifetime      = new TimeSpan(0.8);
            particle.Position      = photon.Position;
            ParticleSystem.Get.Add(particle);
        }
예제 #3
0
        private static void ManagerDataReceived(PhotonData data)
        {
            StringBuilder message = new StringBuilder();

            data.ListMaxSonarSensor.ToList().ForEach(d =>
            {
                message.Append(((d / 6.4) * 25.4).ToString("F")).Append(";");
            });
            message.Append(data.Photon);
            _fileWriter.WriteLine(message);
        }
        // Manage data received from photons
        private void ManagerDataReceived(PhotonData data)
        {
            // Store data receive to sensors in photons
            List <long> photonData = data.ListMaxSonarSensor;
            string      photonKey  = DictPhoton.Keys.ToList().Find(x => x.Contains(data.Photon));

            foreach (Sensor sensor in DictPhoton[photonKey].Sensors)
            {
                sensor.SignalLength = photonData[sensor.SensorID];

                if (_isCalibrating)
                {
                    if (sensor.calibrationValues == null)
                    {
                        sensor.calibrationValues = new List <double>();
                    }

                    sensor.calibrationValues.Add(sensor.SignalLength);
                }
            }
        }
예제 #5
0
    private void StorePhoton(GameObject target, Vector3 direction, Vector3 location, Color energy)
    {
        var photonInformation = new PhotonData { Direction = direction, Location = location, Energy= energy};

        List<PhotonData> pData;
        if (photonData.TryGetValue(target, out pData))
            pData.Add(photonInformation);
        else
            photonData.Add(target,new List<PhotonData>(){photonInformation});
    }