//穿上配饰
        private void PutOn(Accessory accessory, bool saveData = true)
        {
            if (accessory == null || !accessory.Suitable(this.PlayerDataManager.CurrentPet))
            {
                return;
            }

            if (RoleManager.Instance.CurrentRole != null && accessory.CanWear)
            {
                if (accessory.Exclusive(Gululu.Config.AccessoryTypes.Suit))//当前配饰与套装互斥,脱掉套装
                {
                    RoleManager.Instance.CurrentRole.TakeOffPetAccessoryByTypes(new List <int> {
                        (int)Gululu.Config.AccessoryTypes.Suit
                    });
                }
                else if (accessory.AccessoryType == Gululu.Config.AccessoryTypes.Suit)//当前配饰是套装,脱掉与套装互斥的配饰
                {
                    RoleManager.Instance.CurrentRole.TakeOffPetAccessoryByTypes(new List <int> {
                        (int)Gululu.Config.AccessoryTypes.Head, (int)Gululu.Config.AccessoryTypes.Back, (int)Gululu.Config.AccessoryTypes.Suit
                    });
                }

                RoleManager.Instance.CurrentRole.SetupPetAccessory(accessory);
                RoleManager.Instance.CurrentRole.HideParticleEffect();
            }
            else if ((accessory.AccessoryType == Gululu.Config.AccessoryTypes.SpiritUp ||
                      accessory.AccessoryType == Gululu.Config.AccessoryTypes.SpiritDown) &&
                     RoleManager.Instance.Mates != null)
            {
                RoleManager.Instance.Mates.ForEach(t =>
                {
                    if (t != null && t.IsNative(accessory.Region))
                    {
                        t.RefreshRole(accessory);
                        t.HideParticleEffect();
                    }
                });
            }
            this.CheckBuffer(accessory);

            if (saveData)
            {
                this.SaveData(true, accessory);
                if (accessory.CanWear)
                {
                    RoleManager.Instance.CurrentRole.Play("display01");
                }
            }
        }
        //保存数据
        private void SaveData(bool toWear, Accessory accessory)
        {
            List <string> petAccessories = this.LocalPetAccessoryAgent.GetPetAccessories(this.PlayerDataManager.CurrentPet);//记录小宠物身上的配饰的数据

            if (toWear && !petAccessories.Contains(accessory.ID.ToString()))
            {
                petAccessories.Add(accessory.ID.ToString());//记录当前穿上的配饰数据
                List <Accessory> accessories = this.LocalPetAccessoryAgent.GetAccessoriesByType(this.PlayerDataManager.CurrentPet, accessory.Type);
                if (accessories != null && accessories.Count > 0)
                {//检查并移除掉与当前配饰相同类型的配饰
                    for (int i = 0; i < accessories.Count; i++)
                    {
                        if (accessories[i].ID != accessory.ID && petAccessories.Contains(accessories[i].ID.ToString()))
                        {
                            petAccessories.Remove(accessories[i].ID.ToString());
                        }
                    }
                }

                accessories = this.LocalPetAccessoryAgent.GetAllPetAccessories(this.PlayerDataManager.CurrentPet);
                if (accessories != null && accessories.Count > 0)
                {//要检查并移除掉与当前配饰互斥的配饰
                    for (int i = 0; i < accessories.Count; i++)
                    {
                        if (accessories[i].ID != accessory.ID && accessory.Exclusive(accessories[i].AccessoryType))
                        {
                            petAccessories.Remove(accessories[i].ID.ToString());
                        }
                    }
                }
            }
            else if (!toWear)
            {
                petAccessories.Remove(accessory.ID.ToString());
            }
            this.LocalPetAccessoryAgent.SavePetAccessories(this.PlayerDataManager.CurrentPet, petAccessories);
            this.PlayerDataManager.TrySendPlayerData2Server();
            this.accessories.PutOnOrTakeOff(toWear);//刷新配饰图标
        }