public void SetSpriteSO(SpriteDataSO NewspriteDataSO, Color?color = null, int NewvariantIndex = -1, bool Network = true) { if (NewspriteDataSO != PresentSpriteSet) { isPaletteSet = false; PresentSpriteSet = NewspriteDataSO; // TODO: Network, change to network catalogue message // See https://github.com/unitystation/unitystation/pull/5675#pullrequestreview-540239428 cataloguePage = SubCatalogue.FindIndex(SO => SO == NewspriteDataSO); PushTexture(Network); if (Network) { NetUpdate(NewspriteDataSO); } OnSpriteDataSOChanged?.Invoke(NewspriteDataSO); } if (color != null) { SetColor(color.GetValueOrDefault(Color.white), Network); } if (NewvariantIndex > -1) { ChangeSpriteVariant(NewvariantIndex, Network); } }
public void Empty(bool clearCatalogue = false, bool networked = true) { if (clearCatalogue) { SubCatalogue = new List <SpriteDataSO>(); } if (HasSpriteInImageComponent() == false && PresentSpriteSet == null && cataloguePage == -1) { return; } cataloguePage = -1; PushClear(false); PresentSpriteSet = null; OnSpriteDataSOChanged?.Invoke(null); if (networked) { NetUpdate(newEmpty: true); } }