Example #1
0
        public bool OpenViewForStone(uint stoneId, Action callback)
        {
            SysPet spet = PetLogic.GetSysPetByStoneId(stoneId);

            if (spet == null)
            {
                callback();
                return(false);
            }

            PPet pet = Singleton <PetMode> .Instance.GetPetByPetId((uint)spet.id);

            if (pet != null)
            {
                callback();
                return(false);
            }

            int own = Singleton <GoodsMode> .Instance.GetCountByGoodsId(stoneId);

            int need = PetLogic.GetNeedStone((uint)spet.star, false);

            if (own < need)
            {
                callback();
                return(false);
            }

            OpenForStone  = true;
            closeCallBack = callback;
            petId         = spet.id;
            OpenView();

            //隐藏萌宠献礼相关特效
            EffectMgr.Instance.GetUIEffectGameObject(EffectId.UI_PetAnimation).SetActive(false);
            EffectMgr.Instance.GetUIEffectGameObject(EffectId.UI_PetLight).SetActive(false);

            return(true);
        }