Exemple #1
0
        /// <summary>
        /// Create, initialise, and track new particle
        /// </summary>
        public void Activate()
        {
            if (!cdHandler.IsOnCooldown())
            {
                JObject particleObj = Util.Deserialize(Particle.FilePath);

                Particle newParticle = new ParticleFactory().Create(particleObj, FilePath, entHandler, boundaryStrat, Team, offsetPos) as Particle;

                newParticle.Init(refPos, Dir);
                entHandler.Track(newParticle);
                cdHandler.StartCooldown();
            }
        }
Exemple #2
0
        public override Component Create(JObject emitterObj, string path, IHandlesEntities entHandler, BoundaryStrategy boundaryStrat, Team team, Point2D offsetPos, float mod = 1)
        {
            string id           = emitterObj.Value <string>("id");
            float  cooldownRate = emitterObj.Value <float>("rate");

            JObject   particleObj = emitterObj.Value <JObject>("particle");
            Component particle    = new ParticleFactory().CreateFromReference(particleObj, entHandler, boundaryStrat, team, offsetPos);

            return(new Emitter(id, path, SwinGame.PointAt(0, 0), offsetPos, SwinGame.VectorTo(0, 0), SwinGame.VectorTo(0, -1),
                               boundaryStrat, team, cooldownRate, new List <Component>()
            {
                particle
            }, entHandler));
        }