public void Recalculate(int index)
        {
            ColourState state = GenerateColourState();

            colours[index] = state;

            props[index].Colour       = state.Colour;
            props[index].EffectColour = state.EffectColour;
        }
        public void Generate()
        {
            ColourState state = GenerateColourState();

            colours.Add(state);
            props.Add(new PropertySet()
            {
                Colour       = state.Colour,
                EffectColour = state.EffectColour
            });
        }
        public void _Update()
        {
            for (int i = 0; i < colours.Count; i++)
            {
                ColourState colourState = colours[i];

                colourState.Update();

                props[i].Colour       = colourState.Colour;
                props[i].EffectColour = colourState.EffectColour;

                colours[i] = colourState;
            }
        }