Ejemplo n.º 1
0
 public override void UpdateSpritesForImplant(BodyPart implant, ClothingHideFlags INClothingHide, SpriteDataSO Sprite, SpriteOrder _SpriteOrder = null)
 {
     ClothingHide = INClothingHide;
     SpriteOrder  = _SpriteOrder;
     baseSpriteHandler.PushTexture();
     OverlySpriteHandler.PushTexture();
 }
Ejemplo n.º 2
0
    private void OnClothingEquipped(ClothingV2 clothing, bool isEquiped)
    {
        //Logger.Log($"Clothing {clothing} was equipped {isEquiped}!", Category.Inventory);

        // if new clothes equiped, add new hide flags
        if (isEquiped)
        {
            hideClothingFlags |= clothing.HideClothingFlags;
        }
        // if player get off old clothes, we need to remove old flags
        else
        {               //repeat 11 times, once for each bit
            for (int i = 0; i < 11; i++)
            {
                //get a bit from the byte
                ulong bit = ((ulong)clothing.HideClothingFlags >> i) & 1U;
                if (bit == 1)
                {
                    //disable the enabled bit
                    ulong bytechange = (ulong)hideClothingFlags;
                    bytechange       &= ~(1UL << 1);
                    hideClothingFlags = (ClothingHideFlags)bytechange;
                }
            }
        }
        // Update hide flags
        ValidateHideFlags();
    }
Ejemplo n.º 3
0
    private void ValidateHideFlag(ClothingHideFlags hideFlag, string name)
    {
        // Check if dictionary has entry about such clothing item name
        if (!clothes.ContainsKey(name))
        {
            Logger.LogError($"Can't find {name} clothingItem linked to {hideFlag}");
            return;
        }

        // Enable or disable based on hide flag
        var isVisible = !hideClothingFlags.HasFlag(hideFlag);

        clothes[name].gameObject.SetActive(isVisible);
    }
Ejemplo n.º 4
0
	public virtual void UpdateSpritesForImplant(BodyPart implant,ClothingHideFlags INClothingHide, SpriteDataSO Sprite, SpriteOrder _SpriteOrder = null)
	{
		if (baseSpriteHandler == null) return;
		ClothingHide = INClothingHide;
		UpdateData( JsonConvert.SerializeObject(_SpriteOrder));
		//baseSpriteHandler.name = baseSpriteHandler.name + implant.name;
		baseSpriteHandler.SetSpriteSO(Sprite, Color.white);
		SpriteOrder = _SpriteOrder;
		if (SpriteOrder != null)
		{
			if (SpriteOrder.Orders.Count > 0)
			{
				spriteRenderer.sortingOrder = SpriteOrder.Orders[0];
			}
		}
		baseSpriteHandler.ChangeSpriteVariant(referenceOffset, false);
	}
Ejemplo n.º 5
0
    private void OnClothingEquipped(ClothingV2 clothing, bool isEquiped)
    {
        //Logger.Log($"Clothing {clothing} was equipped {isEquiped}!", Category.Inventory);

        // if new clothes equiped, add new hide flags
        if (isEquiped)
        {
            hideClothingFlags |= clothing.HideClothingFlags;
        }
        // if player get off old clothes, we need to remove old flags
        else
        {
            hideClothingFlags ^= clothing.HideClothingFlags;
        }

        // Update hide flags
        ValidateHideFlags();
    }
Ejemplo n.º 6
0
        public void OnClothingEquipped(ClothingV2 clothing, bool isEquipped)
        {
            //Logger.Log($"Clothing {clothing} was equipped {isEquiped}!", Category.Inventory);

            // if new clothes equiped, add new hide flags
            if (isEquipped)
            {
                for (int n = 0; n < 11; n++)
                {
                    //if both bits are enabled set the n'th bit in the overflow string
                    if (IsBitSet((ulong)clothing.HideClothingFlags, n) && (IsBitSet((ulong)hideClothingFlags, n)))
                    {
                        overflow |= 1UL << n;
                    }
                    else if (IsBitSet((ulong)clothing.HideClothingFlags, n))                     //check if n'th bit is set to 1
                    {
                        ulong bytechange = (ulong)hideClothingFlags;
                        bytechange       |= 1UL << n;                   //set n'th bit to 1
                        hideClothingFlags = (ClothingHideFlags)bytechange;
                    }
                }
            }
            // if player get off old clothes, we need to remove old flags
            else
            {
                for (int n = 0; n < 11; n++)                                 //repeat 11 times, once for each hide flag
                {
                    if (IsBitSet(overflow, n))                               //check if n'th bit in overflow is set to 1
                    {
                        overflow &= ~(1UL << n);                             //set n'th bit to 0
                    }
                    else if (IsBitSet((ulong)clothing.HideClothingFlags, n)) //check if n'th bit is set to 1
                    {
                        ulong bytechange = (ulong)hideClothingFlags;
                        bytechange       &= ~(1UL << n);                   //set n'th bit to 0
                        hideClothingFlags = (ClothingHideFlags)bytechange;
                    }
                }
            }

            // Update hide flags
            ValidateHideFlags();
        }
Ejemplo n.º 7
0
 public virtual void UpdateSpritesForImplant(BodyPart implant, ClothingHideFlags INClothingHide, SpriteDataSO Sprite, RootBodyPartContainer rootBodyPartContainer, SpriteOrder _SpriteOrder = null)
 {
     if (baseSpriteHandler == null)
     {
         return;
     }
     ClothingHide = INClothingHide;
     UpdateData("", JsonConvert.SerializeObject(_SpriteOrder));
     //baseSpriteHandler.name = baseSpriteHandler.name + implant.name;
     baseSpriteHandler.SetSpriteSO(Sprite, Color.white);
     SpriteOrder = _SpriteOrder;
     if (SpriteOrder != null)
     {
         if (SpriteOrder.Orders.Count > 0)
         {
             spriteRenderer.sortingOrder = SpriteOrder.Orders[0];
         }
     }
 }
Ejemplo n.º 8
0
 public void UpdateHideDlags(ClothingHideFlags OLd, ClothingHideFlags newOne)
 {
     ClothingHide = newOne;
 }