Salut a tous !

Je suis en train de creer un particle engine pour m'entrainer, et je suis arrivé au GET et SET pour l'envoi de parametre en LIVE. Comme le changement de taille des particules sans relancer la compilation.

J'ai donc creer un WinForm et je l'ai appeler dans ma class de generation.

Je suis arrivé dans mon code etc, et j'ai pu voir que : quand je changeais le size sur le winform, ma variable changeait bien (Dans ma class Particle) mais par contre ce parametre n'était pas envoyer dans ma class ParticleEngine.
Ce que je ne comprends pas car j'ai bien mes reference de faites...

Je vous laisse regarder :


MainForm (ICI tout est bien echanger, les variables etc prennent bien les bonnes valeurs que je leur indique) J'ai vraiment fait ici quelque chose de grossier, comme mettre deux variables...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public partial class MainForm : Form
    {
 
        public ParticleEngine Engine;
 
        private String sizeValue;
 
        public MainForm()
        {
            List<Texture2D> textures = new List<Texture2D>();
            textures.Add(Ressource.circle);
            textures.Add(Ressource.star);
            textures.Add(Ressource.diamond);
 
            Engine = new ParticleEngine(textures, new Vector2(0, 0));
 
            InitializeComponent();
        }
 
        private void TxtSize_TextChanged(object sender, EventArgs e)
        {
            sizeValue = TxtSize.Text;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Sizee = float.Parse(sizeValue);
        }
 
 
        public float Sizee
        {
            get { return Engine.ChangeSize; }
            set { Engine.ChangeSize = value; }
        }
    }

Un bout de mon code du ParticleEngine :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
        private float changeSize;
 
        public float ChangeSize
        {
            get { return changeSize; }
            set { changeSize = value; }
        }
 
 
 
 
 
 
 
 
 
        public ParticleEngine(List<Texture2D> textures, Vector2 position)
        {
            Position = position;
            this.textures = textures;
            this.particles = new List<Particle>();
            random = new Random();
        }
 
 
 
        private Particle GenerateNewParticle()
        {
 
 
            //------ SIZE
            float size = changeSize * (float)random.NextDouble() * 2;
 
 
            return new Particle(texture, position, speedPosition, angle, speedAngle, color, size, timeVisible);
        }

Voila, l'echange ne se fait pas malgré les bonnes reference...

Merci !