public static void clearAndReload()
            {
                resetCamouflage();
                camouflager     = null;
                camouflageTimer = 0f;
                cooldown        = CustomOptionHolder.camouflagerCooldown.getFloat();
                duration        = CustomOptionHolder.camouflagerDuration.getFloat();
                randomColors    = CustomOptionHolder.camouflagerRandomColors.getBool();

                camoData             = new GameData.PlayerOutfit();
                camoData.PlayerName  = "";
                camoData.HatId       = "";
                camoData.ColorId     = 6;
                camoData.SkinId      = "";
                camoData.PetId       = "";
                camoData.VisorId     = "";
                camoData.NamePlateId = "";
            }
        public static void setOutfit(this PlayerControl pc, GameData.PlayerOutfit outfit, bool visible = true)
        {
            pc.Data.Outfits[PlayerOutfitType.Shapeshifted] = outfit;
            pc.CurrentOutfitType = PlayerOutfitType.Shapeshifted;

            pc.RawSetName(outfit.PlayerName);
            pc.RawSetHat(outfit.HatId, outfit.ColorId);
            pc.RawSetVisor(outfit.VisorId);
            pc.RawSetColor(outfit.ColorId);
            Helpers.setSkinWithAnim(pc.MyPhysics, outfit.SkinId);

            if (pc.CurrentPet)
            {
                UnityEngine.Object.Destroy(pc.CurrentPet.gameObject);
            }
            if (!pc.Data.IsDead)
            {
                pc.CurrentPet = UnityEngine.Object.Instantiate <PetBehaviour>(DestroyableSingleton <HatManager> .Instance.GetPetById(outfit.PetId).viewData.viewData);
                pc.CurrentPet.transform.position = pc.transform.position;
                pc.CurrentPet.Source             = pc;
                pc.CurrentPet.Visible            = visible;
                PlayerControl.SetPlayerMaterialColors(outfit.ColorId, pc.CurrentPet.rend);
            }
        }