Exemple #1
0
    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);
        }
    }
Exemple #2
0
    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);
        }
    }