Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.U2D;
- public class ColorChanger : MonoBehaviour
- {
- [SerializeField] private List<ColorPalette> _palettes;
- [Space]
- [SerializeField] private Material _material1;
- [SerializeField] private Material _material2;
- [SerializeField] private Material _material3;
- [Space]
- [SerializeField] private SpriteShapeRenderer[] _audioShapes;
- [SerializeField] private SpriteShapeRenderer[] _audioMaskShapes;
- [Space]
- [SerializeField] private Material _mainBarMaterial;
- [Space]
- [SerializeField] private Material[] _fontMaterials;
- [Space]
- [SerializeField] private Camera _mainCamera;
- [SerializeField] private Camera _previewCamera;
- private int _currentNumPalette = 0;
- public int CurrentNumPalette => _currentNumPalette;
- public List<ColorPalette> Palettes => _palettes;
- private void Awake()
- {
- ChangeGameColor();
- }
- public void ChangePalette(int numPalette)
- {
- _currentNumPalette = numPalette;
- ChangeGameColor();
- }
- public void ChangeColorInPalette(int numPalette, GameColor gameColor, Color color)
- {
- _palettes[numPalette].ChangeColor(gameColor, color);
- ChangeGameColor();
- }
- public List<ColorPalette> GetPalettes(out List<string> paletteNames, out int currentNumPalette)
- {
- List<string> names = new List<string>(_palettes.Count);
- foreach (var palette in _palettes)
- {
- names.Add(palette.name);
- }
- currentNumPalette = _currentNumPalette;
- paletteNames = names;
- return _palettes;
- }
- public List<string> GetPaletteNames()
- {
- List<string> names = new List<string>(_palettes.Count);
- foreach (var palette in _palettes)
- {
- names.Add(palette.name.Replace("Palette", string.Empty));
- }
- return names;
- }
- private void ChangeGameColor()
- {
- ChangeMainColor(_palettes[_currentNumPalette].MainColor);
- ChangeSlaveColor(_palettes[_currentNumPalette].SlaveColor);
- ChangeAdd1Color(_palettes[_currentNumPalette].Add1Color);
- ChangeAdd2Color(_palettes[_currentNumPalette].Add2Color);
- ChangeTextColor(_palettes[_currentNumPalette].TextColor);
- }
- private void ChangeMainColor(Color color)
- {
- _material1.SetColor("_MainColor", color);
- _mainBarMaterial.SetColor("_MainColor", color);
- _mainCamera.backgroundColor = color;
- _previewCamera.backgroundColor = color;
- }
- private void ChangeSlaveColor(Color color)
- {
- _material3.SetColor("_SecondColor", color);
- ChangeAudioMaskShapeColor(color);
- }
- private void ChangeAdd1Color(Color color)
- {
- _material1.SetColor("_SecondColor", color);
- _material2.SetColor("_SecondColor", color);
- }
- private void ChangeAdd2Color(Color color)
- {
- _material2.SetColor("_MainColor", color);
- _material3.SetColor("_MainColor", color);
- }
- private void ChangeTextColor(Color color)
- {
- foreach (var material in _fontMaterials)
- material.SetColor("_FaceColor", color);
- ChangeAudioShapeColor(color);
- }
- private void ChangeAudioShapeColor(Color color)
- {
- foreach (var shape in _audioShapes)
- shape.color = color;
- }
- private void ChangeAudioMaskShapeColor(Color color)
- {
- foreach (var shape in _audioMaskShapes)
- shape.color = color;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement