示例#1
0
 public EmitterBase(EmitterActionType emitterType, Vector2 position, Parameters parameters)
 {
     IsActive = true;
     EmitterType = emitterType;
     Position = position;
     Parameters = parameters;
 }
示例#2
0
 public EmitterBase(EmitterActionType emitterType, Vector2 position, Parameters parameters)
 {
     IsActive    = true;
     EmitterType = emitterType;
     Position    = position;
     Parameters  = parameters;
 }
示例#3
0
        public Color getDisplayColor(EmitterActionType type)
        {
            if (type == EmitterActionType.Brush)
            {
                return(new Color((float)((c1 / StaticWorldParameters.CohesiveForceMax)),
                                 (float)((c2 / StaticWorldParameters.AligningForceMax)),
                                 (float)((c3 / StaticWorldParameters.SeperatingForceMax))));
            }
            else
            {
                return(new Color((float)((c1 / 1)),
                                 (float)((c2 / 1)),
                                 (float)((c3 / 100))));
            }

            //if (type == EmitterType.Brush)
            //{
            //    return new Color((float)((StaticBrushParameters.CohesiveForceMax / StaticWorldParameters.CohesiveForceMax)),
            //                     (float)((StaticBrushParameters.AligningForceMax / StaticWorldParameters.AligningForceMax)),
            //                     (float)((StaticBrushParameters.SeperatingForceMax / StaticWorldParameters.SeperatingForceMax)));
            //}
            //else
            //{
            //    return new Color((float)((c1 / StaticWorldParameters.CohesiveForceMax)),
            //                     (float)((c2 / StaticWorldParameters.AligningForceMax)),
            //                     (float)((c3 / StaticWorldParameters.SeperatingForceMax)));
            //}
        }
示例#4
0
        public Individual(int id, double x, double y, double dx, double dy, double dx2, double dy2, Parameters g, EmitterActionType emitterType, bool isMobile)
        {
            ID = id;
            X = x;
            Y = y;
            Dx = Dx2 = dx;
            Dy = Dy2 = dy;
            Genome = g;
            EmitterType = emitterType;
            IsMobile = isMobile;

            color = Genome.getDisplayColor(emitterType);
            rankInXOrder = 0;
            rankInYOrder = 0;
        }
示例#5
0
        public Individual(int id, double x, double y, double dx, double dy, double dx2, double dy2, Parameters g, EmitterActionType emitterType, bool isMobile)
        {
            ID          = id;
            X           = x;
            Y           = y;
            Dx          = Dx2 = dx;
            Dy          = Dy2 = dy;
            Genome      = g;
            EmitterType = emitterType;
            IsMobile    = isMobile;

            color        = Genome.getDisplayColor(emitterType);
            rankInXOrder = 0;
            rankInYOrder = 0;
        }
示例#6
0
 public Individual(int id, double x, double y, double dx, double dy, Parameters g, EmitterActionType emitterType, bool isMobile)
     : this(id, x, y, dx, dy, dx, dy, g, emitterType, isMobile)
 {
 }
示例#7
0
 private void DrawIndividual(Individual indvd, Color color, Texture2D texture, EmitterActionType type)
 {
     if (!indvd.IsMobile)
     {
         ScreenManager.SpriteBatch.Draw(bigIndividualTexture, new Rectangle(
             (int)indvd.X,
             (int)indvd.Y, bigIndividualTexture.Width, bigIndividualTexture.Height),
             null,
             color,
             (float)Math.Atan2(indvd.Dy, indvd.Dx),
             new Vector2(bigIndividualTexture.Width / 2, bigIndividualTexture.Height / 2),
             SpriteEffects.None, 0);
     }
     else
     {
         ScreenManager.SpriteBatch.Draw(texture, new Rectangle(
             (int)indvd.X,
             (int)indvd.Y, texture.Width, texture.Height),
             null,
             color,
             (float)Math.Atan2(indvd.Dy, indvd.Dx),
             new Vector2(texture.Width / 2, texture.Height / 2),
             SpriteEffects.None, 0);
     }
 }
示例#8
0
        public Color getDisplayColor(EmitterActionType type)
        {
            if (type == EmitterActionType.Brush)
            {
                return new Color((float)((c1 / StaticWorldParameters.CohesiveForceMax)),
                                    (float)((c2 / StaticWorldParameters.AligningForceMax)),
                                    (float)((c3 / StaticWorldParameters.SeperatingForceMax)));
            }
            else
            {
                return new Color((float)((c1 / 1)),
                                    (float)((c2 / 1)),
                                    (float)((c3 / 100)));
            }

            //if (type == EmitterType.Brush)
            //{
            //    return new Color((float)((StaticBrushParameters.CohesiveForceMax / StaticWorldParameters.CohesiveForceMax)),
            //                     (float)((StaticBrushParameters.AligningForceMax / StaticWorldParameters.AligningForceMax)),
            //                     (float)((StaticBrushParameters.SeperatingForceMax / StaticWorldParameters.SeperatingForceMax)));
            //}
            //else
            //{
            //    return new Color((float)((c1 / StaticWorldParameters.CohesiveForceMax)),
            //                     (float)((c2 / StaticWorldParameters.AligningForceMax)),
            //                     (float)((c3 / StaticWorldParameters.SeperatingForceMax)));
            //}
        }
示例#9
0
 public EmitterBase(EmitterActionType emitterType, Vector2 position)
     : this(emitterType, position, new SuperParameters())
 {
 }
示例#10
0
 public Individual(int id, double x, double y, double dx, double dy, Parameters g, EmitterActionType emitterType, bool isMobile)
     : this(id, x, y, dx, dy, dx, dy, g, emitterType, isMobile)
 {
 }
示例#11
0
 public EmitterBase(EmitterActionType emitterType, Vector2 position)
     : this(emitterType, position, new SuperParameters())
 {
 }
示例#12
0
 private void DrawIndividual(Individual indvd, Color color, Texture2D texture, EmitterActionType type)
 {
     if (!indvd.IsMobile)
     {
         ScreenManager.SpriteBatch.Draw(bigIndividualTexture, new Rectangle(
                                            (int)indvd.X,
                                            (int)indvd.Y, bigIndividualTexture.Width, bigIndividualTexture.Height),
                                        null,
                                        color,
                                        (float)Math.Atan2(indvd.Dy, indvd.Dx),
                                        new Vector2(bigIndividualTexture.Width / 2, bigIndividualTexture.Height / 2),
                                        SpriteEffects.None, 0);
     }
     else
     {
         ScreenManager.SpriteBatch.Draw(texture, new Rectangle(
                                            (int)indvd.X,
                                            (int)indvd.Y, texture.Width, texture.Height),
                                        null,
                                        color,
                                        (float)Math.Atan2(indvd.Dy, indvd.Dx),
                                        new Vector2(texture.Width / 2, texture.Height / 2),
                                        SpriteEffects.None, 0);
     }
 }