OpenRA.Graphics.HardwarePalette.AddPalette C# (CSharp) Method

AddPalette() public method

public AddPalette ( string name, ImmutablePalette p, bool allowModifiers ) : void
name string
p ImmutablePalette
allowModifiers bool
return void
        public void AddPalette(string name, ImmutablePalette p, bool allowModifiers)
        {
            if (palettes.ContainsKey(name))
                throw new InvalidOperationException("Palette {0} has already been defined".F(name));

            int index = palettes.Count;
            indices.Add(name, index);
            palettes.Add(name, p);

            if (palettes.Count > Height)
            {
                Height = Exts.NextPowerOf2(palettes.Count);
                Array.Resize(ref buffer, Height * Palette.Size * 4);
            }

            if (allowModifiers)
                modifiablePalettes.Add(name, new MutablePalette(p));
            else
                CopyPaletteToBuffer(index, p);
        }

Usage Example

Example #1
0
        public static void Initialize(string[] sequenceFiles)
        {
            cursors = new Dictionary <string, CursorSequence>();
            var sequences = new MiniYaml(null, sequenceFiles.Select(s => MiniYaml.FromFile(s)).Aggregate(MiniYaml.MergeLiberal));

            int[] ShadowIndex = { };

            if (sequences.NodesDict.ContainsKey("ShadowIndex"))
            {
                Array.Resize(ref ShadowIndex, ShadowIndex.Length + 1);
                int.TryParse(sequences.NodesDict["ShadowIndex"].Value, out ShadowIndex[ShadowIndex.Length - 1]);
            }

            Palette = new HardwarePalette();
            foreach (var p in sequences.NodesDict["Palettes"].Nodes)
            {
                Palette.AddPalette(p.Key, new Palette(FileSystem.Open(p.Value.Value), ShadowIndex), false);
            }

            foreach (var s in sequences.NodesDict["Cursors"].Nodes)
            {
                LoadSequencesForCursor(s.Key, s.Value);
            }

            Palette.Initialize();
        }
All Usage Examples Of OpenRA.Graphics.HardwarePalette::AddPalette