移除“精灵夺宝”相关内容

This commit is contained in:
edwinQQQ
2025-09-18 11:23:48 +08:00
parent ea849eba1a
commit 888098e2a5
128 changed files with 0 additions and 14615 deletions

View File

@@ -264,66 +264,6 @@
237FD35D2C0F187B00B5335C /* pi_app_logo_new_bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 237FD35C2C0F187B00B5335C /* pi_app_logo_new_bg.png */; };
238A90072BA9729200828123 /* PIUniversalBannerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238A90062BA9729200828123 /* PIUniversalBannerView.m */; };
238A900A2BA9756600828123 /* PIUniversalBannerModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238A90092BA9756600828123 /* PIUniversalBannerModel.m */; };
238B37A32AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37242AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.m */; };
238B37A42AC55A2C00BFC9D5 /* TreasureFairyLimitModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B372B2AC55A2C00BFC9D5 /* TreasureFairyLimitModel.m */; };
238B37A52AC55A2C00BFC9D5 /* TreasureFailyKeyInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B372C2AC55A2C00BFC9D5 /* TreasureFailyKeyInfoModel.m */; };
238B37A62AC55A2C00BFC9D5 /* TreasureFairySendRecordModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B372E2AC55A2C00BFC9D5 /* TreasureFairySendRecordModel.m */; };
238B37A72AC55A2C00BFC9D5 /* TreasureFairyRewardModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B372F2AC55A2C00BFC9D5 /* TreasureFairyRewardModel.m */; };
238B37A82AC55A2C00BFC9D5 /* TreasureFairyTrialsRecordModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37302AC55A2C00BFC9D5 /* TreasureFairyTrialsRecordModel.m */; };
238B37A92AC55A2C00BFC9D5 /* TreasureFairyUserInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37322AC55A2C00BFC9D5 /* TreasureFairyUserInfoModel.m */; };
238B37AA2AC55A2C00BFC9D5 /* TreasureFairyInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37362AC55A2C00BFC9D5 /* TreasureFairyInfoModel.m */; };
238B37AB2AC55A2C00BFC9D5 /* TreasureFairyConvertRecordModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37372AC55A2C00BFC9D5 /* TreasureFairyConvertRecordModel.m */; };
238B37AC2AC55A2C00BFC9D5 /* TreasureFailryMessageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37382AC55A2C00BFC9D5 /* TreasureFailryMessageModel.m */; };
238B37AD2AC55A2C00BFC9D5 /* TreasureFairyBallInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37392AC55A2C00BFC9D5 /* TreasureFairyBallInfoModel.m */; };
238B37AE2AC55A2C00BFC9D5 /* TreasureFairyFragmentModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B373D2AC55A2C00BFC9D5 /* TreasureFairyFragmentModel.m */; };
238B37AF2AC55A2C00BFC9D5 /* XPTreasureFairyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37402AC55A2C00BFC9D5 /* XPTreasureFairyViewController.m */; };
238B37B02AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37422AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultCell.m */; };
238B37B12AC55A2C00BFC9D5 /* XPTreasureFairyFriendCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37462AC55A2C00BFC9D5 /* XPTreasureFairyFriendCell.m */; };
238B37B22AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37472AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolCell.m */; };
238B37B32AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37482AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordCell.m */; };
238B37B42AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B374B2AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonCell.m */; };
238B37B52AC55A2C00BFC9D5 /* XPTreasureFailyResultGiftCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B374D2AC55A2C00BFC9D5 /* XPTreasureFailyResultGiftCell.m */; };
238B37B62AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B374E2AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordCell.m */; };
238B37B72AC55A2C00BFC9D5 /* XPTreasureFairySendRecordCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37502AC55A2C00BFC9D5 /* XPTreasureFairySendRecordCell.m */; };
238B37B82AC55A2C00BFC9D5 /* XPTreasureFairyShopingExchangeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37542AC55A2C00BFC9D5 /* XPTreasureFairyShopingExchangeCell.m */; };
238B37B92AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37552AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordCell.m */; };
238B37BA2AC55A2C00BFC9D5 /* XPTreasureFairyFriendView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37582AC55A2C00BFC9D5 /* XPTreasureFairyFriendView.m */; };
238B37BB2AC55A2C00BFC9D5 /* XPTreasureFairySummonView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37592AC55A2C00BFC9D5 /* XPTreasureFairySummonView.m */; };
238B37BC2AC55A2C00BFC9D5 /* XPTreasureFairySendView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B375A2AC55A2C00BFC9D5 /* XPTreasureFairySendView.m */; };
238B37BD2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B375F2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsContentView.m */; };
238B37BE2AC55A2C00BFC9D5 /* XPTreasureFairyBottomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37612AC55A2C00BFC9D5 /* XPTreasureFairyBottomView.m */; };
238B37BF2AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37662AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultView.m */; };
238B37C02AC55A2C00BFC9D5 /* XPTreasureFairyPoolRecordView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37682AC55A2C00BFC9D5 /* XPTreasureFairyPoolRecordView.m */; };
238B37C12AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37692AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonView.m */; };
238B37C22AC55A2C00BFC9D5 /* XPTreasureFairyDrawSubView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B376C2AC55A2C00BFC9D5 /* XPTreasureFairyDrawSubView.m */; };
238B37C32AC55A2C00BFC9D5 /* XPTreasureFairyMessageSendView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B376E2AC55A2C00BFC9D5 /* XPTreasureFairyMessageSendView.m */; };
238B37C42AC55A2C00BFC9D5 /* XPTreasureFairyBallContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B376F2AC55A2C00BFC9D5 /* XPTreasureFairyBallContentView.m */; };
238B37C52AC55A2C00BFC9D5 /* XPTreasureFairyMoreView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37712AC55A2C00BFC9D5 /* XPTreasureFairyMoreView.m */; };
238B37C62AC55A2C00BFC9D5 /* XPTreasureFairyMyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37722AC55A2C00BFC9D5 /* XPTreasureFairyMyView.m */; };
238B37C72AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37732AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordView.m */; };
238B37C82AC55A2C00BFC9D5 /* XPTreasureFailyPrizeGiftView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37742AC55A2C00BFC9D5 /* XPTreasureFailyPrizeGiftView.m */; };
238B37C92AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultSmallView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37752AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultSmallView.m */; };
238B37CA2AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37772AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolView.m */; };
238B37CB2AC55A2C00BFC9D5 /* XPTreasureFairyWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37782AC55A2C00BFC9D5 /* XPTreasureFairyWebView.m */; };
238B37CC2AC55A2C00BFC9D5 /* XPTreasureFairyPrizeSubView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37792AC55A2C00BFC9D5 /* XPTreasureFairyPrizeSubView.m */; };
238B37CD2AC55A2C00BFC9D5 /* XPTreasureFailyResultView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B377A2AC55A2C00BFC9D5 /* XPTreasureFailyResultView.m */; };
238B37CE2AC55A2C00BFC9D5 /* XPTreasureFairyDrawView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B377B2AC55A2C00BFC9D5 /* XPTreasureFairyDrawView.m */; };
238B37CF2AC55A2C00BFC9D5 /* XPTreasureFairySendRecordView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B377C2AC55A2C00BFC9D5 /* XPTreasureFairySendRecordView.m */; };
238B37D02AC55A2C00BFC9D5 /* XPTreasureFairySummonGiftView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B377D2AC55A2C00BFC9D5 /* XPTreasureFairySummonGiftView.m */; };
238B37D12AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordSubView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37812AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordSubView.m */; };
238B37D22AC55A2C00BFC9D5 /* XPTreasureFairyExchangeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37832AC55A2C00BFC9D5 /* XPTreasureFairyExchangeView.m */; };
238B37D32AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37842AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordView.m */; };
238B37D42AC55A2C00BFC9D5 /* XPTreasureFailrySummonBallView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37862AC55A2C00BFC9D5 /* XPTreasureFailrySummonBallView.m */; };
238B37D52AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37872AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardView.m */; };
238B37D62AC55A2C00BFC9D5 /* XPTreasureFairyTrialsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37882AC55A2C00BFC9D5 /* XPTreasureFairyTrialsView.m */; };
238B37D72AC55A2C00BFC9D5 /* XPTreasureFairyTrialsBallView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B378A2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsBallView.m */; };
238B37D82AC55A2C00BFC9D5 /* XPTreasureFairyShopingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B378B2AC55A2C00BFC9D5 /* XPTreasureFairyShopingView.m */; };
238B37D92AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B378E2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordView.m */; };
238B37DA2AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardInputNumView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37912AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardInputNumView.m */; };
238B37DB2AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardSuccessView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37932AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardSuccessView.m */; };
238B37DC2AC55A2C00BFC9D5 /* XPTreasureFairyBallView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37942AC55A2C00BFC9D5 /* XPTreasureFairyBallView.m */; };
238B37DD2AC55A2C00BFC9D5 /* XPTreasureFairyStoreView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B379A2AC55A2C00BFC9D5 /* XPTreasureFairyStoreView.m */; };
238B37DE2AC55A2C00BFC9D5 /* Api+TreasureFairy.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37A12AC55A2C00BFC9D5 /* Api+TreasureFairy.m */; };
238ED83A2AE2891D0014EF9D /* PIRoomEnterRedPacketView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238ED8392AE2891D0014EF9D /* PIRoomEnterRedPacketView.m */; };
239141C62AE129F700322CA9 /* PIInputScrollingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 239141C52AE129F700322CA9 /* PIInputScrollingView.m */; };
239141C92AE1358F00322CA9 /* PIInputEntireServerScrollingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 239141C82AE1358F00322CA9 /* PIInputEntireServerScrollingView.m */; };
@@ -427,9 +367,6 @@
23E9E9AA2A80FDF100B792F2 /* XPNewMineHallIncomeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9E9A92A80FDF100B792F2 /* XPNewMineHallIncomeCell.m */; };
23E9E9B72A82200500B792F2 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 23E9E9B62A82200500B792F2 /* GoogleService-Info.plist */; };
23E9EA6B2A83808000B792F2 /* ContentTreasureFairyModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9EA6A2A83808000B792F2 /* ContentTreasureFairyModel.m */; };
23E9EA792A8385CC00B792F2 /* XPTreasureFairyGiftView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9EA772A8385CB00B792F2 /* XPTreasureFairyGiftView.m */; };
23E9EA7C2A83977400B792F2 /* MessageContentTreasureFairyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9EA7B2A83977400B792F2 /* MessageContentTreasureFairyView.m */; };
23E9EA7F2A839B2F00B792F2 /* MessageTreasureFairyModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9EA7E2A839B2F00B792F2 /* MessageTreasureFairyModel.m */; };
23E9EA842A84B6FD00B792F2 /* XPMineUserInfoTagModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9EA802A84B6FC00B792F2 /* XPMineUserInfoTagModel.m */; };
23E9EA852A84B6FD00B792F2 /* XPSoundCardModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9EA832A84B6FD00B792F2 /* XPSoundCardModel.m */; };
23E9EA882A84B75900B792F2 /* XPMineUserInfoHeaderTagView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9EA862A84B75900B792F2 /* XPMineUserInfoHeaderTagView.m */; };
@@ -2226,127 +2163,6 @@
238A90062BA9729200828123 /* PIUniversalBannerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIUniversalBannerView.m; sourceTree = "<group>"; };
238A90082BA9756600828123 /* PIUniversalBannerModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIUniversalBannerModel.h; sourceTree = "<group>"; };
238A90092BA9756600828123 /* PIUniversalBannerModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIUniversalBannerModel.m; sourceTree = "<group>"; };
238B37242AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFailyPresenter.m; sourceTree = "<group>"; };
238B37252AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFailyPresenter.h; sourceTree = "<group>"; };
238B37272AC55A2C00BFC9D5 /* XPTreasureFailyProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFailyProtocol.h; sourceTree = "<group>"; };
238B37292AC55A2C00BFC9D5 /* TreasureFairyConvertRecordModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreasureFairyConvertRecordModel.h; sourceTree = "<group>"; };
238B372A2AC55A2C00BFC9D5 /* TreasureFairyInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreasureFairyInfoModel.h; sourceTree = "<group>"; };
238B372B2AC55A2C00BFC9D5 /* TreasureFairyLimitModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TreasureFairyLimitModel.m; sourceTree = "<group>"; };
238B372C2AC55A2C00BFC9D5 /* TreasureFailyKeyInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TreasureFailyKeyInfoModel.m; sourceTree = "<group>"; };
238B372D2AC55A2C00BFC9D5 /* TreasureFailryMessageModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreasureFailryMessageModel.h; sourceTree = "<group>"; };
238B372E2AC55A2C00BFC9D5 /* TreasureFairySendRecordModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TreasureFairySendRecordModel.m; sourceTree = "<group>"; };
238B372F2AC55A2C00BFC9D5 /* TreasureFairyRewardModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TreasureFairyRewardModel.m; sourceTree = "<group>"; };
238B37302AC55A2C00BFC9D5 /* TreasureFairyTrialsRecordModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TreasureFairyTrialsRecordModel.m; sourceTree = "<group>"; };
238B37312AC55A2C00BFC9D5 /* TreasureFairyBallInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreasureFairyBallInfoModel.h; sourceTree = "<group>"; };
238B37322AC55A2C00BFC9D5 /* TreasureFairyUserInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TreasureFairyUserInfoModel.m; sourceTree = "<group>"; };
238B37332AC55A2C00BFC9D5 /* TreasureFairyFragmentModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreasureFairyFragmentModel.h; sourceTree = "<group>"; };
238B37342AC55A2C00BFC9D5 /* TreasureFailyKeyInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreasureFailyKeyInfoModel.h; sourceTree = "<group>"; };
238B37352AC55A2C00BFC9D5 /* TreasureFairyLimitModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreasureFairyLimitModel.h; sourceTree = "<group>"; };
238B37362AC55A2C00BFC9D5 /* TreasureFairyInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TreasureFairyInfoModel.m; sourceTree = "<group>"; };
238B37372AC55A2C00BFC9D5 /* TreasureFairyConvertRecordModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TreasureFairyConvertRecordModel.m; sourceTree = "<group>"; };
238B37382AC55A2C00BFC9D5 /* TreasureFailryMessageModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TreasureFailryMessageModel.m; sourceTree = "<group>"; };
238B37392AC55A2C00BFC9D5 /* TreasureFairyBallInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TreasureFairyBallInfoModel.m; sourceTree = "<group>"; };
238B373A2AC55A2C00BFC9D5 /* TreasureFairyTrialsRecordModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreasureFairyTrialsRecordModel.h; sourceTree = "<group>"; };
238B373B2AC55A2C00BFC9D5 /* TreasureFairyRewardModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreasureFairyRewardModel.h; sourceTree = "<group>"; };
238B373C2AC55A2C00BFC9D5 /* TreasureFairySendRecordModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreasureFairySendRecordModel.h; sourceTree = "<group>"; };
238B373D2AC55A2C00BFC9D5 /* TreasureFairyFragmentModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TreasureFairyFragmentModel.m; sourceTree = "<group>"; };
238B373E2AC55A2C00BFC9D5 /* TreasureFairyUserInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreasureFairyUserInfoModel.h; sourceTree = "<group>"; };
238B37402AC55A2C00BFC9D5 /* XPTreasureFairyViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyViewController.m; sourceTree = "<group>"; };
238B37422AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyStoreResultCell.m; sourceTree = "<group>"; };
238B37432AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyShopingRecordCell.h; sourceTree = "<group>"; };
238B37442AC55A2C00BFC9D5 /* XPTreasureFailyResultGiftCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFailyResultGiftCell.h; sourceTree = "<group>"; };
238B37452AC55A2C00BFC9D5 /* XPTreasureFairySendRecordCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairySendRecordCell.h; sourceTree = "<group>"; };
238B37462AC55A2C00BFC9D5 /* XPTreasureFairyFriendCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyFriendCell.m; sourceTree = "<group>"; };
238B37472AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyPrizePoolCell.m; sourceTree = "<group>"; };
238B37482AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyPrizeRecordCell.m; sourceTree = "<group>"; };
238B37492AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyTrialsRecordCell.h; sourceTree = "<group>"; };
238B374A2AC55A2C00BFC9D5 /* XPTreasureFairyShopingExchangeCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyShopingExchangeCell.h; sourceTree = "<group>"; };
238B374B2AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyNewSummonCell.m; sourceTree = "<group>"; };
238B374C2AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyStoreResultCell.h; sourceTree = "<group>"; };
238B374D2AC55A2C00BFC9D5 /* XPTreasureFailyResultGiftCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFailyResultGiftCell.m; sourceTree = "<group>"; };
238B374E2AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyShopingRecordCell.m; sourceTree = "<group>"; };
238B374F2AC55A2C00BFC9D5 /* XPTreasureFairyFriendCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyFriendCell.h; sourceTree = "<group>"; };
238B37502AC55A2C00BFC9D5 /* XPTreasureFairySendRecordCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairySendRecordCell.m; sourceTree = "<group>"; };
238B37512AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyPrizeRecordCell.h; sourceTree = "<group>"; };
238B37522AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyPrizePoolCell.h; sourceTree = "<group>"; };
238B37532AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyNewSummonCell.h; sourceTree = "<group>"; };
238B37542AC55A2C00BFC9D5 /* XPTreasureFairyShopingExchangeCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyShopingExchangeCell.m; sourceTree = "<group>"; };
238B37552AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyTrialsRecordCell.m; sourceTree = "<group>"; };
238B37572AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordSubView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyShopingRecordSubView.h; sourceTree = "<group>"; };
238B37582AC55A2C00BFC9D5 /* XPTreasureFairyFriendView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyFriendView.m; sourceTree = "<group>"; };
238B37592AC55A2C00BFC9D5 /* XPTreasureFairySummonView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairySummonView.m; sourceTree = "<group>"; };
238B375A2AC55A2C00BFC9D5 /* XPTreasureFairySendView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairySendView.m; sourceTree = "<group>"; };
238B375B2AC55A2C00BFC9D5 /* XPTreasureFairySendRecordView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairySendRecordView.h; sourceTree = "<group>"; };
238B375C2AC55A2C00BFC9D5 /* XPTreasureFairySummonGiftView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairySummonGiftView.h; sourceTree = "<group>"; };
238B375D2AC55A2C00BFC9D5 /* XPTreasureFairyDrawView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyDrawView.h; sourceTree = "<group>"; };
238B375E2AC55A2C00BFC9D5 /* XPTreasureFairyShopingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyShopingView.h; sourceTree = "<group>"; };
238B375F2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsContentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyTrialsContentView.m; sourceTree = "<group>"; };
238B37602AC55A2C00BFC9D5 /* XPTreasureFairyTrialsBallView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyTrialsBallView.h; sourceTree = "<group>"; };
238B37612AC55A2C00BFC9D5 /* XPTreasureFairyBottomView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyBottomView.m; sourceTree = "<group>"; };
238B37622AC55A2C00BFC9D5 /* XPTreasureFairyTrialsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyTrialsView.h; sourceTree = "<group>"; };
238B37632AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PITreasureFairyBuyElfShardView.h; sourceTree = "<group>"; };
238B37642AC55A2C00BFC9D5 /* XPTreasureFailrySummonBallView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFailrySummonBallView.h; sourceTree = "<group>"; };
238B37652AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyShopingRecordView.h; sourceTree = "<group>"; };
238B37662AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyStoreResultView.m; sourceTree = "<group>"; };
238B37672AC55A2C00BFC9D5 /* XPTreasureFairyExchangeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyExchangeView.h; sourceTree = "<group>"; };
238B37682AC55A2C00BFC9D5 /* XPTreasureFairyPoolRecordView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyPoolRecordView.m; sourceTree = "<group>"; };
238B37692AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyNewSummonView.m; sourceTree = "<group>"; };
238B376A2AC55A2C00BFC9D5 /* XPTreasureFairyBallView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyBallView.h; sourceTree = "<group>"; };
238B376B2AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardSuccessView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PITreasureFairyBuyElfShardSuccessView.h; sourceTree = "<group>"; };
238B376C2AC55A2C00BFC9D5 /* XPTreasureFairyDrawSubView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyDrawSubView.m; sourceTree = "<group>"; };
238B376D2AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardInputNumView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PITreasureFairyBuyElfShardInputNumView.h; sourceTree = "<group>"; };
238B376E2AC55A2C00BFC9D5 /* XPTreasureFairyMessageSendView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyMessageSendView.m; sourceTree = "<group>"; };
238B376F2AC55A2C00BFC9D5 /* XPTreasureFairyBallContentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyBallContentView.m; sourceTree = "<group>"; };
238B37702AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyTrialsRecordView.h; sourceTree = "<group>"; };
238B37712AC55A2C00BFC9D5 /* XPTreasureFairyMoreView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyMoreView.m; sourceTree = "<group>"; };
238B37722AC55A2C00BFC9D5 /* XPTreasureFairyMyView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyMyView.m; sourceTree = "<group>"; };
238B37732AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyPrizeRecordView.m; sourceTree = "<group>"; };
238B37742AC55A2C00BFC9D5 /* XPTreasureFailyPrizeGiftView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFailyPrizeGiftView.m; sourceTree = "<group>"; };
238B37752AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultSmallView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyStoreResultSmallView.m; sourceTree = "<group>"; };
238B37762AC55A2C00BFC9D5 /* XPTreasureFairyStoreView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyStoreView.h; sourceTree = "<group>"; };
238B37772AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyPrizePoolView.m; sourceTree = "<group>"; };
238B37782AC55A2C00BFC9D5 /* XPTreasureFairyWebView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyWebView.m; sourceTree = "<group>"; };
238B37792AC55A2C00BFC9D5 /* XPTreasureFairyPrizeSubView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyPrizeSubView.m; sourceTree = "<group>"; };
238B377A2AC55A2C00BFC9D5 /* XPTreasureFailyResultView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFailyResultView.m; sourceTree = "<group>"; };
238B377B2AC55A2C00BFC9D5 /* XPTreasureFairyDrawView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyDrawView.m; sourceTree = "<group>"; };
238B377C2AC55A2C00BFC9D5 /* XPTreasureFairySendRecordView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairySendRecordView.m; sourceTree = "<group>"; };
238B377D2AC55A2C00BFC9D5 /* XPTreasureFairySummonGiftView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairySummonGiftView.m; sourceTree = "<group>"; };
238B377E2AC55A2C00BFC9D5 /* XPTreasureFairySendView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairySendView.h; sourceTree = "<group>"; };
238B377F2AC55A2C00BFC9D5 /* XPTreasureFairySummonView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairySummonView.h; sourceTree = "<group>"; };
238B37802AC55A2C00BFC9D5 /* XPTreasureFairyFriendView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyFriendView.h; sourceTree = "<group>"; };
238B37812AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordSubView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyShopingRecordSubView.m; sourceTree = "<group>"; };
238B37822AC55A2C00BFC9D5 /* XPTreasureFairyPoolRecordView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyPoolRecordView.h; sourceTree = "<group>"; };
238B37832AC55A2C00BFC9D5 /* XPTreasureFairyExchangeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyExchangeView.m; sourceTree = "<group>"; };
238B37842AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyShopingRecordView.m; sourceTree = "<group>"; };
238B37852AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyStoreResultView.h; sourceTree = "<group>"; };
238B37862AC55A2C00BFC9D5 /* XPTreasureFailrySummonBallView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFailrySummonBallView.m; sourceTree = "<group>"; };
238B37872AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PITreasureFairyBuyElfShardView.m; sourceTree = "<group>"; };
238B37882AC55A2C00BFC9D5 /* XPTreasureFairyTrialsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyTrialsView.m; sourceTree = "<group>"; };
238B37892AC55A2C00BFC9D5 /* XPTreasureFairyBottomView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyBottomView.h; sourceTree = "<group>"; };
238B378A2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsBallView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyTrialsBallView.m; sourceTree = "<group>"; };
238B378B2AC55A2C00BFC9D5 /* XPTreasureFairyShopingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyShopingView.m; sourceTree = "<group>"; };
238B378C2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsContentView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyTrialsContentView.h; sourceTree = "<group>"; };
238B378D2AC55A2C00BFC9D5 /* XPTreasureFairyMoreView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyMoreView.h; sourceTree = "<group>"; };
238B378E2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyTrialsRecordView.m; sourceTree = "<group>"; };
238B378F2AC55A2C00BFC9D5 /* XPTreasureFairyBallContentView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyBallContentView.h; sourceTree = "<group>"; };
238B37902AC55A2C00BFC9D5 /* XPTreasureFairyMessageSendView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyMessageSendView.h; sourceTree = "<group>"; };
238B37912AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardInputNumView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PITreasureFairyBuyElfShardInputNumView.m; sourceTree = "<group>"; };
238B37922AC55A2C00BFC9D5 /* XPTreasureFairyDrawSubView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyDrawSubView.h; sourceTree = "<group>"; };
238B37932AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardSuccessView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PITreasureFairyBuyElfShardSuccessView.m; sourceTree = "<group>"; };
238B37942AC55A2C00BFC9D5 /* XPTreasureFairyBallView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyBallView.m; sourceTree = "<group>"; };
238B37952AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyNewSummonView.h; sourceTree = "<group>"; };
238B37962AC55A2C00BFC9D5 /* XPTreasureFairyPrizeSubView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyPrizeSubView.h; sourceTree = "<group>"; };
238B37972AC55A2C00BFC9D5 /* XPTreasureFailyResultView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFailyResultView.h; sourceTree = "<group>"; };
238B37982AC55A2C00BFC9D5 /* XPTreasureFairyWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyWebView.h; sourceTree = "<group>"; };
238B37992AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyPrizePoolView.h; sourceTree = "<group>"; };
238B379A2AC55A2C00BFC9D5 /* XPTreasureFairyStoreView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyStoreView.m; sourceTree = "<group>"; };
238B379B2AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultSmallView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyStoreResultSmallView.h; sourceTree = "<group>"; };
238B379C2AC55A2C00BFC9D5 /* XPTreasureFailyPrizeGiftView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFailyPrizeGiftView.h; sourceTree = "<group>"; };
238B379D2AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyPrizeRecordView.h; sourceTree = "<group>"; };
238B379E2AC55A2C00BFC9D5 /* XPTreasureFairyMyView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyMyView.h; sourceTree = "<group>"; };
238B379F2AC55A2C00BFC9D5 /* XPTreasureFairyViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyViewController.h; sourceTree = "<group>"; };
238B37A12AC55A2C00BFC9D5 /* Api+TreasureFairy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Api+TreasureFairy.m"; sourceTree = "<group>"; };
238B37A22AC55A2C00BFC9D5 /* Api+TreasureFairy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Api+TreasureFairy.h"; sourceTree = "<group>"; };
238ED8382AE2891D0014EF9D /* PIRoomEnterRedPacketView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIRoomEnterRedPacketView.h; sourceTree = "<group>"; };
238ED8392AE2891D0014EF9D /* PIRoomEnterRedPacketView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIRoomEnterRedPacketView.m; sourceTree = "<group>"; };
239141C42AE129F700322CA9 /* PIInputScrollingView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIInputScrollingView.h; sourceTree = "<group>"; };
@@ -2543,12 +2359,6 @@
23E9E9B62A82200500B792F2 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
23E9EA692A83808000B792F2 /* ContentTreasureFairyModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContentTreasureFairyModel.h; sourceTree = "<group>"; };
23E9EA6A2A83808000B792F2 /* ContentTreasureFairyModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContentTreasureFairyModel.m; sourceTree = "<group>"; };
23E9EA772A8385CB00B792F2 /* XPTreasureFairyGiftView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyGiftView.m; sourceTree = "<group>"; };
23E9EA782A8385CC00B792F2 /* XPTreasureFairyGiftView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyGiftView.h; sourceTree = "<group>"; };
23E9EA7A2A83977300B792F2 /* MessageContentTreasureFairyView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageContentTreasureFairyView.h; sourceTree = "<group>"; };
23E9EA7B2A83977400B792F2 /* MessageContentTreasureFairyView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MessageContentTreasureFairyView.m; sourceTree = "<group>"; };
23E9EA7D2A839B2F00B792F2 /* MessageTreasureFairyModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessageTreasureFairyModel.h; sourceTree = "<group>"; };
23E9EA7E2A839B2F00B792F2 /* MessageTreasureFairyModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessageTreasureFairyModel.m; sourceTree = "<group>"; };
23E9EA802A84B6FC00B792F2 /* XPMineUserInfoTagModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineUserInfoTagModel.m; sourceTree = "<group>"; };
23E9EA812A84B6FC00B792F2 /* XPSoundCardModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPSoundCardModel.h; sourceTree = "<group>"; };
23E9EA822A84B6FC00B792F2 /* XPMineUserInfoTagModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfoTagModel.h; sourceTree = "<group>"; };
@@ -5649,8 +5459,6 @@
18F403A72758B67900A6C548 /* Content */ = {
isa = PBXGroup;
children = (
23E9EA7A2A83977300B792F2 /* MessageContentTreasureFairyView.h */,
23E9EA7B2A83977400B792F2 /* MessageContentTreasureFairyView.m */,
E81060D62987613E00B772F0 /* SesssionModel */,
18F403A32758B5F900A6C548 /* MessageContentProtocol.h */,
E885D53A2977FBFD004DC088 /* MessageTimeView.h */,
@@ -6312,190 +6120,6 @@
path = Api;
sourceTree = "<group>";
};
238B37222AC55A2C00BFC9D5 /* TreasureFairy */ = {
isa = PBXGroup;
children = (
238B37232AC55A2C00BFC9D5 /* Presenter */,
238B37262AC55A2C00BFC9D5 /* Protocol */,
238B37282AC55A2C00BFC9D5 /* Model */,
238B373F2AC55A2C00BFC9D5 /* View */,
238B37A02AC55A2C00BFC9D5 /* Api */,
);
path = TreasureFairy;
sourceTree = "<group>";
};
238B37232AC55A2C00BFC9D5 /* Presenter */ = {
isa = PBXGroup;
children = (
238B37242AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.m */,
238B37252AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.h */,
);
path = Presenter;
sourceTree = "<group>";
};
238B37262AC55A2C00BFC9D5 /* Protocol */ = {
isa = PBXGroup;
children = (
238B37272AC55A2C00BFC9D5 /* XPTreasureFailyProtocol.h */,
);
path = Protocol;
sourceTree = "<group>";
};
238B37282AC55A2C00BFC9D5 /* Model */ = {
isa = PBXGroup;
children = (
238B37292AC55A2C00BFC9D5 /* TreasureFairyConvertRecordModel.h */,
238B372A2AC55A2C00BFC9D5 /* TreasureFairyInfoModel.h */,
238B372B2AC55A2C00BFC9D5 /* TreasureFairyLimitModel.m */,
238B372C2AC55A2C00BFC9D5 /* TreasureFailyKeyInfoModel.m */,
238B372D2AC55A2C00BFC9D5 /* TreasureFailryMessageModel.h */,
238B372E2AC55A2C00BFC9D5 /* TreasureFairySendRecordModel.m */,
238B372F2AC55A2C00BFC9D5 /* TreasureFairyRewardModel.m */,
238B37302AC55A2C00BFC9D5 /* TreasureFairyTrialsRecordModel.m */,
238B37312AC55A2C00BFC9D5 /* TreasureFairyBallInfoModel.h */,
238B37322AC55A2C00BFC9D5 /* TreasureFairyUserInfoModel.m */,
238B37332AC55A2C00BFC9D5 /* TreasureFairyFragmentModel.h */,
238B37342AC55A2C00BFC9D5 /* TreasureFailyKeyInfoModel.h */,
238B37352AC55A2C00BFC9D5 /* TreasureFairyLimitModel.h */,
238B37362AC55A2C00BFC9D5 /* TreasureFairyInfoModel.m */,
238B37372AC55A2C00BFC9D5 /* TreasureFairyConvertRecordModel.m */,
238B37382AC55A2C00BFC9D5 /* TreasureFailryMessageModel.m */,
238B37392AC55A2C00BFC9D5 /* TreasureFairyBallInfoModel.m */,
238B373A2AC55A2C00BFC9D5 /* TreasureFairyTrialsRecordModel.h */,
238B373B2AC55A2C00BFC9D5 /* TreasureFairyRewardModel.h */,
238B373C2AC55A2C00BFC9D5 /* TreasureFairySendRecordModel.h */,
238B373D2AC55A2C00BFC9D5 /* TreasureFairyFragmentModel.m */,
238B373E2AC55A2C00BFC9D5 /* TreasureFairyUserInfoModel.h */,
);
path = Model;
sourceTree = "<group>";
};
238B373F2AC55A2C00BFC9D5 /* View */ = {
isa = PBXGroup;
children = (
238B37412AC55A2C00BFC9D5 /* Cell */,
238B37562AC55A2C00BFC9D5 /* View */,
238B379F2AC55A2C00BFC9D5 /* XPTreasureFairyViewController.h */,
238B37402AC55A2C00BFC9D5 /* XPTreasureFairyViewController.m */,
);
path = View;
sourceTree = "<group>";
};
238B37412AC55A2C00BFC9D5 /* Cell */ = {
isa = PBXGroup;
children = (
238B37442AC55A2C00BFC9D5 /* XPTreasureFailyResultGiftCell.h */,
238B374D2AC55A2C00BFC9D5 /* XPTreasureFailyResultGiftCell.m */,
238B374F2AC55A2C00BFC9D5 /* XPTreasureFairyFriendCell.h */,
238B37462AC55A2C00BFC9D5 /* XPTreasureFairyFriendCell.m */,
238B37532AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonCell.h */,
238B374B2AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonCell.m */,
238B37522AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolCell.h */,
238B37472AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolCell.m */,
238B37512AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordCell.h */,
238B37482AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordCell.m */,
238B37452AC55A2C00BFC9D5 /* XPTreasureFairySendRecordCell.h */,
238B37502AC55A2C00BFC9D5 /* XPTreasureFairySendRecordCell.m */,
238B374A2AC55A2C00BFC9D5 /* XPTreasureFairyShopingExchangeCell.h */,
238B37542AC55A2C00BFC9D5 /* XPTreasureFairyShopingExchangeCell.m */,
238B37432AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordCell.h */,
238B374E2AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordCell.m */,
238B374C2AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultCell.h */,
238B37422AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultCell.m */,
238B37492AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordCell.h */,
238B37552AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordCell.m */,
);
path = Cell;
sourceTree = "<group>";
};
238B37562AC55A2C00BFC9D5 /* View */ = {
isa = PBXGroup;
children = (
238B376D2AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardInputNumView.h */,
238B37912AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardInputNumView.m */,
238B376B2AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardSuccessView.h */,
238B37932AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardSuccessView.m */,
238B37632AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardView.h */,
238B37872AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardView.m */,
238B37642AC55A2C00BFC9D5 /* XPTreasureFailrySummonBallView.h */,
238B37862AC55A2C00BFC9D5 /* XPTreasureFailrySummonBallView.m */,
238B379C2AC55A2C00BFC9D5 /* XPTreasureFailyPrizeGiftView.h */,
238B37742AC55A2C00BFC9D5 /* XPTreasureFailyPrizeGiftView.m */,
238B37972AC55A2C00BFC9D5 /* XPTreasureFailyResultView.h */,
238B377A2AC55A2C00BFC9D5 /* XPTreasureFailyResultView.m */,
238B378F2AC55A2C00BFC9D5 /* XPTreasureFairyBallContentView.h */,
238B376F2AC55A2C00BFC9D5 /* XPTreasureFairyBallContentView.m */,
238B376A2AC55A2C00BFC9D5 /* XPTreasureFairyBallView.h */,
238B37942AC55A2C00BFC9D5 /* XPTreasureFairyBallView.m */,
238B37892AC55A2C00BFC9D5 /* XPTreasureFairyBottomView.h */,
238B37612AC55A2C00BFC9D5 /* XPTreasureFairyBottomView.m */,
238B37922AC55A2C00BFC9D5 /* XPTreasureFairyDrawSubView.h */,
238B376C2AC55A2C00BFC9D5 /* XPTreasureFairyDrawSubView.m */,
238B375D2AC55A2C00BFC9D5 /* XPTreasureFairyDrawView.h */,
238B377B2AC55A2C00BFC9D5 /* XPTreasureFairyDrawView.m */,
238B37672AC55A2C00BFC9D5 /* XPTreasureFairyExchangeView.h */,
238B37832AC55A2C00BFC9D5 /* XPTreasureFairyExchangeView.m */,
238B37802AC55A2C00BFC9D5 /* XPTreasureFairyFriendView.h */,
238B37582AC55A2C00BFC9D5 /* XPTreasureFairyFriendView.m */,
238B37902AC55A2C00BFC9D5 /* XPTreasureFairyMessageSendView.h */,
238B376E2AC55A2C00BFC9D5 /* XPTreasureFairyMessageSendView.m */,
238B378D2AC55A2C00BFC9D5 /* XPTreasureFairyMoreView.h */,
238B37712AC55A2C00BFC9D5 /* XPTreasureFairyMoreView.m */,
238B379E2AC55A2C00BFC9D5 /* XPTreasureFairyMyView.h */,
238B37722AC55A2C00BFC9D5 /* XPTreasureFairyMyView.m */,
238B37952AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonView.h */,
238B37692AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonView.m */,
238B37822AC55A2C00BFC9D5 /* XPTreasureFairyPoolRecordView.h */,
238B37682AC55A2C00BFC9D5 /* XPTreasureFairyPoolRecordView.m */,
238B37992AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolView.h */,
238B37772AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolView.m */,
238B379D2AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordView.h */,
238B37732AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordView.m */,
238B37962AC55A2C00BFC9D5 /* XPTreasureFairyPrizeSubView.h */,
238B37792AC55A2C00BFC9D5 /* XPTreasureFairyPrizeSubView.m */,
238B375B2AC55A2C00BFC9D5 /* XPTreasureFairySendRecordView.h */,
238B377C2AC55A2C00BFC9D5 /* XPTreasureFairySendRecordView.m */,
238B377E2AC55A2C00BFC9D5 /* XPTreasureFairySendView.h */,
238B375A2AC55A2C00BFC9D5 /* XPTreasureFairySendView.m */,
238B37572AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordSubView.h */,
238B37812AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordSubView.m */,
238B37652AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordView.h */,
238B37842AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordView.m */,
238B375E2AC55A2C00BFC9D5 /* XPTreasureFairyShopingView.h */,
238B378B2AC55A2C00BFC9D5 /* XPTreasureFairyShopingView.m */,
238B379B2AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultSmallView.h */,
238B37752AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultSmallView.m */,
238B37852AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultView.h */,
238B37662AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultView.m */,
238B37762AC55A2C00BFC9D5 /* XPTreasureFairyStoreView.h */,
238B379A2AC55A2C00BFC9D5 /* XPTreasureFairyStoreView.m */,
238B375C2AC55A2C00BFC9D5 /* XPTreasureFairySummonGiftView.h */,
238B377D2AC55A2C00BFC9D5 /* XPTreasureFairySummonGiftView.m */,
238B377F2AC55A2C00BFC9D5 /* XPTreasureFairySummonView.h */,
238B37592AC55A2C00BFC9D5 /* XPTreasureFairySummonView.m */,
238B37602AC55A2C00BFC9D5 /* XPTreasureFairyTrialsBallView.h */,
238B378A2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsBallView.m */,
238B378C2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsContentView.h */,
238B375F2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsContentView.m */,
238B37702AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordView.h */,
238B378E2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordView.m */,
238B37622AC55A2C00BFC9D5 /* XPTreasureFairyTrialsView.h */,
238B37882AC55A2C00BFC9D5 /* XPTreasureFairyTrialsView.m */,
238B37982AC55A2C00BFC9D5 /* XPTreasureFairyWebView.h */,
238B37782AC55A2C00BFC9D5 /* XPTreasureFairyWebView.m */,
);
path = View;
sourceTree = "<group>";
};
238B37A02AC55A2C00BFC9D5 /* Api */ = {
isa = PBXGroup;
children = (
238B37A12AC55A2C00BFC9D5 /* Api+TreasureFairy.m */,
238B37A22AC55A2C00BFC9D5 /* Api+TreasureFairy.h */,
);
path = Api;
sourceTree = "<group>";
};
239D0F932BFB3284002977CE /* MSRoomOnLineView */ = {
isa = PBXGroup;
children = (
@@ -8243,8 +7867,6 @@
E81060ED2987C35700B772F0 /* MessageTextClickModel.m */,
E81060EF2987C52B00B772F0 /* MessageGuildModel.h */,
E81060F02987C52B00B772F0 /* MessageGuildModel.m */,
23E9EA7D2A839B2F00B792F2 /* MessageTreasureFairyModel.h */,
23E9EA7E2A839B2F00B792F2 /* MessageTreasureFairyModel.m */,
E81060F22987C6B200B772F0 /* MessageOpenLiveModel.h */,
E81060F32987C6B200B772F0 /* MessageOpenLiveModel.m */,
E81060F52987C8A700B772F0 /* MessageApplicationShareModel.h */,
@@ -8743,8 +8365,6 @@
4C71C6A12D06DB3D00ECCA24 /* GiftAnimationManager.m */,
4C71C69D2D069D2B00ECCA24 /* GiftAnimationHelper.h */,
4C71C69E2D069D2B00ECCA24 /* GiftAnimationHelper.m */,
23E9EA782A8385CC00B792F2 /* XPTreasureFairyGiftView.h */,
23E9EA772A8385CB00B792F2 /* XPTreasureFairyGiftView.m */,
E8E21A9928B4BD92008F7C9D /* XPRoomGraffitiGiftAnimationView.h */,
E8E21A9A28B4BD92008F7C9D /* XPRoomGraffitiGiftAnimationView.m */,
9BC9DAED27E33B3F009EE409 /* XPRoomGiftAnimationParser.h */,
@@ -10842,7 +10462,6 @@
9BA812D328BF52A500783EA7 /* SendRedPacket */,
E8412F9A2779BAC2006E1101 /* Setting */,
2305EEE62AD677D300AD403C /* RoomPhotoAlbum */,
238B37222AC55A2C00BFC9D5 /* TreasureFairy */,
E8AEAEEA27141ACC0017FCE0 /* StageView */,
9BFE0D8F289903F600F53C24 /* TaskTip */,
180806F92729A354001FD836 /* ThemeColor+Room.h */,
@@ -12195,7 +11814,6 @@
E87DF4C22A42C900009C1185 /* XPNoteView.m in Sources */,
E8AB631328ADDCF20023B0D2 /* XPMonentsTopicHeaderView.m in Sources */,
4C84A9C22E5ED593002C10FC /* GameBannerGestureManager.m in Sources */,
238B37B52AC55A2C00BFC9D5 /* XPTreasureFailyResultGiftCell.m in Sources */,
23E9E9982A80C3A100B792F2 /* XPMineGuildPersonalBillStatisVC.m in Sources */,
9B86D886281942D200494FCD /* SocialMicroView.m in Sources */,
54E8C4D62CC78DA900646C44 /* VipSettingViewController.m in Sources */,
@@ -12236,7 +11854,6 @@
E89D60BD271D647A001F8895 /* XPRoomPresenter.m in Sources */,
E8751E5C28A62A530056EF44 /* XPSailingViewController.m in Sources */,
9B7D904D287BC5E20033A45E /* AnchorRoomScrollView.m in Sources */,
238B37D12AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordSubView.m in Sources */,
E8899C822785A694007944BE /* DatingInfoModel.m in Sources */,
9BB89DC327FE7F3A00586A83 /* XPAnchorFansRelationModel.m in Sources */,
E8AC723226F49710007D6E91 /* XPMineNotificationTableViewCell.m in Sources */,
@@ -12250,14 +11867,12 @@
23D321E82ADFED10006B259C /* PIRoomSendRedPacketItemVC.m in Sources */,
E85E7B2A2A4EB0D300B6D00A /* XPGuildTimeMonthPickerView.m in Sources */,
E87E62782A3F5907002F68C9 /* XPNewHomePartyTableViewCell.m in Sources */,
238B37B72AC55A2C00BFC9D5 /* XPTreasureFairySendRecordCell.m in Sources */,
E8950183282CAC6A007E459A /* XPMomentsPhotoView.m in Sources */,
E8AC721E26F472BF007D6E91 /* XPMineSettingProtocol.h in Sources */,
E8F63CB4298B563D00B338BA /* Api+SayHello.m in Sources */,
E81E09C9290F71BF00A1F410 /* XPAdvertiseView.m in Sources */,
4CD15D912D7E902800D9279F /* LoginViewController.m in Sources */,
2305F3412AD94D5200AD403C /* XPMaskManagerVC.m in Sources */,
238B37D32AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordView.m in Sources */,
4CFFEFD02D3A5E130035D016 /* Api+SuperAdmin.m in Sources */,
9BC5C91F277C902B007C8719 /* XPReleaseRadioView.m in Sources */,
E84843AF27F59E7E0050D365 /* XPRoomPKResultView.m in Sources */,
@@ -12288,7 +11903,6 @@
E87DF4CC2A42C960009C1185 /* HomeBannerInfoModel.m in Sources */,
235714892BECC38F004C81D6 /* MessageHeadlinesTextModel.m in Sources */,
E8664EDF27E45EC7000171BA /* XPRoomPKRecordPresenter.m in Sources */,
238B37B62AC55A2C00BFC9D5 /* XPTreasureFairyShopingRecordCell.m in Sources */,
23FF25762ABD66B90064E904 /* XPFreeGiftsObtainView.m in Sources */,
E81C27A226EF23490031E639 /* YUMINNNN.h in Sources */,
E80E900C27E0358900434B90 /* XPRoomTopicAlertView.m in Sources */,
@@ -12302,7 +11916,6 @@
4C6E1F752CEAEC3C0073D0A3 /* ShoppingMallTagView.m in Sources */,
E8A88D2D27E81E8700CA8837 /* RoomPKChooseUserModel.m in Sources */,
E82325F9274E2E42003A3332 /* Api+UserCard.m in Sources */,
238B37A62AC55A2C00BFC9D5 /* TreasureFairySendRecordModel.m in Sources */,
E8AB632F28AE19DE0023B0D2 /* XPMomentMinePresenter.m in Sources */,
E85E7B042A4EB0D200B6D00A /* XPGuildIncomeDetailPresenter.m in Sources */,
54B9C6F32C9D27F3003F1CC5 /* XPMineMultipleContentTableViewCell.m in Sources */,
@@ -12310,7 +11923,6 @@
4C886BEB2E014AE5006F0BA7 /* MedalsPresenter.m in Sources */,
9BD9A17C27A0EE24004186FE /* XPMineVisitorViewController.m in Sources */,
2369F9912A89CE0E00563B48 /* PIUserSexView.m in Sources */,
238B37D92AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordView.m in Sources */,
239D0FAB2BFCB88D002977CE /* XPRoomFunctionContainerView.m in Sources */,
E82109B026F1D83500FC3319 /* LoginBindPhonePresent.m in Sources */,
E81C1B1F27705F7A0020D1E4 /* XPArrangeMicViewController.m in Sources */,
@@ -12342,7 +11954,6 @@
E86507EB281A88A9006951B0 /* MessageContentSkillCardView.m in Sources */,
E8B825CA26EA1231009E8E9F /* LoginVerifCodeViewController.m in Sources */,
189DD76226E60DDC00AB55B1 /* Api+Login.m in Sources */,
238B37B82AC55A2C00BFC9D5 /* XPTreasureFairyShopingExchangeCell.m in Sources */,
E8412FA62779BED1006E1101 /* XPRoomSettingTableViewCell.m in Sources */,
9B7D80502753AA9D003DAC0C /* UITableView+NIMScrollToBottom.m in Sources */,
E8AFF7E3298CA1E500FBDE32 /* SessionSayHelloCountModel.m in Sources */,
@@ -12366,7 +11977,6 @@
4C7F2A672E0BE0AB002F5058 /* FirstRechargeModel.m in Sources */,
54F469382C29C3B400A83655 /* XPMineAlbumTableViewCell.m in Sources */,
23E9EAA12A84C53900B792F2 /* TTNewAlertView.m in Sources */,
238B37BC2AC55A2C00BFC9D5 /* XPTreasureFairySendView.m in Sources */,
544B19B02CA1299500885BEB /* CPBindingAnimation.m in Sources */,
E8DEC9A12764A5D20078CB70 /* XPRoomMoreItemModel.m in Sources */,
E80EC81028ACD84000D133C5 /* QExtendBoardView.m in Sources */,
@@ -12381,10 +11991,8 @@
9BD9A17927A0EC57004186FE /* XPMineVisitorPresenter.m in Sources */,
E8BD0F8828A9E9E400DE050D /* RoomSailingPrizeModel.m in Sources */,
4CFFEFCD2D3A4E410035D016 /* AppOfficalManagerActionsViewController.m in Sources */,
238B37B32AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordCell.m in Sources */,
23CEFC512AFB8FC100576D89 /* SystemUtil.m in Sources */,
E8659909273E800D00EE349D /* XPGiftCollectionViewFlowLayout.m in Sources */,
238B37BD2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsContentView.m in Sources */,
E85E7B262A4EB0D300B6D00A /* XPMineGuildViewController.m in Sources */,
E86596512701A1C000846EBD /* StatisticsService.m in Sources */,
54E82EAB2CA9261000C931D9 /* Api+Boom.m in Sources */,
@@ -12433,9 +12041,7 @@
E81C1B2F277071670020D1E4 /* XPArrangeMicInfoModel.m in Sources */,
9B0086CA27BA4F570032BD2B /* AnchorMicroView.m in Sources */,
E83ABF00280EC45700322EE4 /* MessageContentApplicationShareView.m in Sources */,
238B37D82AC55A2C00BFC9D5 /* XPTreasureFairyShopingView.m in Sources */,
F1D8556F2931FC86008C418F /* XPRoomYearActivityView.m in Sources */,
238B37C72AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordView.m in Sources */,
E8B9843628ABA8B40022D026 /* XPMonentPublishSuccessView.m in Sources */,
238ED83A2AE2891D0014EF9D /* PIRoomEnterRedPacketView.m in Sources */,
23E9E9972A80C3A100B792F2 /* XPMineGuildPersonalBillRecordVC.m in Sources */,
@@ -12456,13 +12062,11 @@
1427218E29A75F6F00C7C423 /* HTTPMessage.m in Sources */,
4C45C1A52E6825F300E73A44 /* XPTurboModeConstants.m in Sources */,
239D0FE72C049D61002977CE /* MSRoomGameMsgView.m in Sources */,
238B37BE2AC55A2C00BFC9D5 /* XPTreasureFairyBottomView.m in Sources */,
9B42869828C1E06B009034D2 /* XPRedPacketModel.m in Sources */,
233423D62AB0397500B1253F /* PIMessageContentServiceReplyView.m in Sources */,
18EE3FE22750C29D00A452BF /* NIMBadgeView.m in Sources */,
E82EE0F8272FDDFA00D15DC1 /* UserPrivacyView.m in Sources */,
2331C1672A5EB71000E1D940 /* NobleLevelUpModel.m in Sources */,
238B37DD2AC55A2C00BFC9D5 /* XPTreasureFairyStoreView.m in Sources */,
9BA812E428BF70A600783EA7 /* XPRoomRedPacketPwdView.m in Sources */,
23E9EB1B2A84D28A00B792F2 /* XPMineUserInfoEditTagView.m in Sources */,
237B94BE2A984DA7007853E3 /* XPRoomTrumpetViewController.m in Sources */,
@@ -12487,7 +12091,6 @@
23E9E9A42A80DEAF00B792F2 /* XPMineGuildPersonalBillRecordContentView.m in Sources */,
E81C1B262770663B0020D1E4 /* XPArrangeMicTableViewCell.m in Sources */,
4CD47BCC2E61ADE400BCDA46 /* XPSocialAction.m in Sources */,
238B37D22AC55A2C00BFC9D5 /* XPTreasureFairyExchangeView.m in Sources */,
E81A652B2834E4F600F55894 /* XPMomentsAttentionViewController.m in Sources */,
E8E20BEC2816A5B90033B688 /* XPMineBlackListViewController.m in Sources */,
E8AC722F26F49610007D6E91 /* XPMineNotificationItemModel.m in Sources */,
@@ -12497,8 +12100,6 @@
2331C1B12A60F32D00E1D940 /* XPCandyTreeGiftView.m in Sources */,
9B1B72BC28003E06003FACE9 /* XPAnchorPKTableViewCell.m in Sources */,
E8E70D7A26F2F16600F03460 /* XPMinePresent.m in Sources */,
238B37AA2AC55A2C00BFC9D5 /* TreasureFairyInfoModel.m in Sources */,
238B37A42AC55A2C00BFC9D5 /* TreasureFairyLimitModel.m in Sources */,
E87DF4D42A42C9B1009C1185 /* HomeRecommendRoomModel.m in Sources */,
23E9EAB22A84C9DE00B792F2 /* XPMineUserInfoTagViewCell.m in Sources */,
9B42869C28C1FD3D009034D2 /* XPOpenRedPacketCell.m in Sources */,
@@ -12535,7 +12136,6 @@
E81060E82987720F00B772F0 /* MessageUnSupportModel.m in Sources */,
E8D34D6028082BA5009C4835 /* XPMineUserDataPresenter.m in Sources */,
E84CBCE4284372D800D43221 /* XPRoomHalfMessageView.m in Sources */,
238B37A52AC55A2C00BFC9D5 /* TreasureFailyKeyInfoModel.m in Sources */,
E8EEB8F226FC2050007C6EBA /* SDPhotoBrowser.m in Sources */,
23CEFC4F2AFB8FC100576D89 /* BSSDLayoutUtil.m in Sources */,
E81C27AB26EF2D920031E639 /* ThirdUserInfo.m in Sources */,
@@ -12544,17 +12144,13 @@
E8788950273A699900BF1D57 /* ThemeColor+SendGift.m in Sources */,
23B8D8D82B85F8B900CA472F /* PIHoemCategoryTitleCell.m in Sources */,
E81C279D26EEEC620031E639 /* YUMIConstant.m in Sources */,
238B37AF2AC55A2C00BFC9D5 /* XPTreasureFairyViewController.m in Sources */,
238B37DB2AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardSuccessView.m in Sources */,
9B734F73288A787000CBDAA9 /* XPMineAccountView.m in Sources */,
239141C92AE1358F00322CA9 /* PIInputEntireServerScrollingView.m in Sources */,
E8AA6EF227DF1E97009B4C2B /* XPRoomTopicPresenter.m in Sources */,
9BF4BEBC28D4182E009CF6C2 /* XPOpenRedPacketModel.m in Sources */,
E873EB0C2809850D0071030D /* MessageContentCustomView.m in Sources */,
238B37D42AC55A2C00BFC9D5 /* XPTreasureFailrySummonBallView.m in Sources */,
E884C36F2743AAC800E1EBED /* AttachmentModel.m in Sources */,
E8AC721926F46E0B007D6E91 /* XPMineSettingItemModel.m in Sources */,
238B37B22AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolCell.m in Sources */,
9BE01AF02893E31700B50299 /* NewUserRechargeModel.m in Sources */,
E82325E6274CCAFA003A3332 /* XPShareInfoModel.m in Sources */,
2320F6392BDF732C00227EEB /* MSRoomMenuGameView.m in Sources */,
@@ -12572,7 +12168,6 @@
4CC312242D7987A200F57A07 /* ShareHelder.m in Sources */,
E88863D3278ED4C0004BCFAB /* Timestamp.m in Sources */,
23E7FE9C2BB6CD42008F6800 /* XPNobleCenterWindow.m in Sources */,
238B37BF2AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultView.m in Sources */,
E88863CF278EC393004BCFAB /* XPAcrossRoomPKPrizeView.m in Sources */,
4CE3A9462D22754C003F0796 /* RechargeUserModel.m in Sources */,
239D0FFD2C05D086002977CE /* MSRoomGameQuitGameView.m in Sources */,
@@ -12580,7 +12175,6 @@
E87DF5082A42CE79009C1185 /* XPInRoomRecordPresenter.m in Sources */,
239D0FD82C047DD8002977CE /* MSTabbarRoomGameModel.m in Sources */,
189DD6FF26E20E5900AB55B1 /* HttpRequestHelper.m in Sources */,
238B37DE2AC55A2C00BFC9D5 /* Api+TreasureFairy.m in Sources */,
E85E7B062A4EB0D200B6D00A /* XPGuildSearchPresenter.m in Sources */,
E8788945273A55C200BF1D57 /* XPGiftInfoView.m in Sources */,
9BF5192628801D4700B6BE92 /* XPAcrossRoomPKCountDownView.m in Sources */,
@@ -12688,7 +12282,6 @@
E85E7B432A4EB0D300B6D00A /* XPMineExchangeAuthorityHeadView.m in Sources */,
23194DD02AD14BF000649F51 /* DDLog.m in Sources */,
189DD73F26E21C3F00AB55B1 /* YYUtility+Carrier.m in Sources */,
238B37AE2AC55A2C00BFC9D5 /* TreasureFairyFragmentModel.m in Sources */,
E87AE7F9277AABE50037823A /* XPRoomTagListViewController.m in Sources */,
18E7B26926E8D5D60064BC9B /* XCCurrentVCStackManager.m in Sources */,
E85E7B472A4EB0D300B6D00A /* XPMineGuildManagerPerTableViewCell.m in Sources */,
@@ -12705,10 +12298,8 @@
23E9EA6B2A83808000B792F2 /* ContentTreasureFairyModel.m in Sources */,
E85E7B3E2A4EB0D300B6D00A /* XPGuildIncomeRecordTableViewCell.m in Sources */,
E8A88D2727E8193400CA8837 /* XPRoomPKSelectUserView.m in Sources */,
238B37C12AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonView.m in Sources */,
9B0E1C5926E77022005D4442 /* BaseNavigationController.m in Sources */,
E8664ED927E4355C000171BA /* XPRoomPKRecordTableViewCell.m in Sources */,
238B37AB2AC55A2C00BFC9D5 /* TreasureFairyConvertRecordModel.m in Sources */,
4CEB9EAD2D09AA0400443480 /* SexAgeLabel.m in Sources */,
23FF42762AA6E1480055733C /* XPHomeRecommendOtherRoomView.m in Sources */,
142721B229A7647F00C7C423 /* XPBlankViewController.m in Sources */,
@@ -12718,9 +12309,7 @@
236B2E482AA07D06003967A8 /* XPLittleGameMiniStageView.m in Sources */,
E85E7B1C2A4EB0D200B6D00A /* XPMineHallAnchorIncomeStatisViewController.m in Sources */,
4CD15D952D7FE9E400D9279F /* LoginTypesViewController.m in Sources */,
238B37C32AC55A2C00BFC9D5 /* XPTreasureFairyMessageSendView.m in Sources */,
239BEEDB2AA1E058005CDA94 /* PIHoemCategoryTitleView.m in Sources */,
238B37CA2AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolView.m in Sources */,
E81060FD2987CC9100B772F0 /* MessageLevelUpgradeModel.m in Sources */,
2305EF0D2AD7CC9A00AD403C /* PIRoomPhotoAlbumChooseGiftCell.m in Sources */,
237700FA2BCCD25500D661F1 /* YYLabel+MSRTL.m in Sources */,
@@ -12756,7 +12345,6 @@
E81A653F283511BE00F55894 /* XPMonentsInteractiveViewController.m in Sources */,
1464C5EA29A45FC300AF7C94 /* XPButton.m in Sources */,
54E82EB12CA93BE200C931D9 /* BoomInfoViewController.m in Sources */,
238B37C82AC55A2C00BFC9D5 /* XPTreasureFailyPrizeGiftView.m in Sources */,
2331C17E2A5ECCF600E1D940 /* XPNobleCenterPayView.m in Sources */,
E8395331276A03AE00CF2F24 /* Api+DressUp.m in Sources */,
E8B3E8092848B871009746AB /* InviteUserInfoModel.m in Sources */,
@@ -12819,7 +12407,6 @@
E878B85B2835F3BF00E22DCF /* XPMonentsInteractiveTableViewCell.m in Sources */,
9BCFB828289BAC7D0093D863 /* XPMineHeadFunctionItemLayout.m in Sources */,
E8D34D6428084E40009C4835 /* XPMineUserInfoGiftWallViewController.m in Sources */,
238B37CE2AC55A2C00BFC9D5 /* XPTreasureFairyDrawView.m in Sources */,
E899C68927508F4E00E189E5 /* XPUserCardInfoModel.m in Sources */,
9B6B3AAB278C2EA7005551EC /* XPRoomNobleLevelUpView.m in Sources */,
E85E7B302A4EB0D300B6D00A /* XPGuildIncomeHeaderView.m in Sources */,
@@ -12860,8 +12447,6 @@
9B2EA7C02804037700ED17BF /* AnchorPKStageView.m in Sources */,
4C1392992D6DB4CD00A6DFB5 /* MoliMoneyLabel.m in Sources */,
23CEFC622AFB8FC100576D89 /* BSLogNetDetailViewController.m in Sources */,
238B37CF2AC55A2C00BFC9D5 /* XPTreasureFairySendRecordView.m in Sources */,
238B37C52AC55A2C00BFC9D5 /* XPTreasureFairyMoreView.m in Sources */,
E811FFF72742367B00918544 /* XPGiftEmptyCollectionViewCell.m in Sources */,
189DD67E26E1FD8900AB55B1 /* UIImage+Utils.m in Sources */,
4C71C6A22D06DB3D00ECCA24 /* GiftAnimationManager.m in Sources */,
@@ -12870,7 +12455,6 @@
E87E62762A3F5907002F68C9 /* XPNewHomePlayTableViewCell.m in Sources */,
186A534726FC6ED900D67B2C /* TTAlertConfig.m in Sources */,
18F403EE2758CF2F00A6C548 /* MessageContentImage.m in Sources */,
238B37A32AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.m in Sources */,
18E7B31E26F0984C0064BC9B /* UserLevelVo.m in Sources */,
23B8D8DB2B85FDDD00CA472F /* PIHomeCategoryTitleModel.m in Sources */,
2331C1762A5EB71000E1D940 /* ThemeColor+NobleCenter.m in Sources */,
@@ -12891,7 +12475,6 @@
9BD63FAE277EE97A006EB744 /* XPReleaseRadioPresenter.m in Sources */,
9B1FC3D827E49C36006EFFE0 /* XPMineDressBubbleCollectionViewCell.m in Sources */,
9BE01AEA2893CB4400B50299 /* XPDressSearchViewController.m in Sources */,
238B37DA2AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardInputNumView.m in Sources */,
E8751E6B28A64C6E0056EF44 /* XPSailingRankTableViewCell.m in Sources */,
9B1B72B528003664003FACE9 /* Api+AnchorPk.m in Sources */,
23194DCC2AD14BF000649F51 /* DDTTYLogger.m in Sources */,
@@ -12907,7 +12490,6 @@
9BDA3E7D27FD47AB00517FE6 /* XPAnchorFansTeamPresenter.m in Sources */,
E8C6FFE62754FE53004DC9F0 /* XPHomeSearchPresenter.m in Sources */,
2320F6422BE0F53F00227EEB /* MSRoomMenuGameEmptyCell.m in Sources */,
238B37C02AC55A2C00BFC9D5 /* XPTreasureFairyPoolRecordView.m in Sources */,
9B2A12DE2783FEDD00CED41B /* UserVipInfoVo.m in Sources */,
233423CA2AAEE97500B1253F /* XPCandyTreeConfirmBuyView.m in Sources */,
E824543526F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.m in Sources */,
@@ -12929,7 +12511,6 @@
4C5C37232D0C1C7900BA9AB8 /* RegionListViewController.m in Sources */,
4CE746C62D9297C30094E496 /* BravoGiftTipModel.m in Sources */,
4CCFDA032DD59211009BD2FD /* Api+EventCenter.m in Sources */,
238B37CC2AC55A2C00BFC9D5 /* XPTreasureFairyPrizeSubView.m in Sources */,
E81125C4296E57B7000D9804 /* QinputPhotoView.m in Sources */,
E880B3A1278BD60C00A83B0D /* XPAcrossRoomPKSelectRoomView.m in Sources */,
9B3C181A292CE4FA003AF543 /* XPAnchorPKMatchView.m in Sources */,
@@ -13052,7 +12633,6 @@
E824544B26F5BBB800BE8163 /* XPMineModifPayPwdViewController.m in Sources */,
E81C1B2227705F950020D1E4 /* Api+ArrangeMic.m in Sources */,
E8E20BE828169BDC0033B688 /* XPMineLoginPasswordPresenter.m in Sources */,
238B37D52AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardView.m in Sources */,
E85E7B3F2A4EB0D300B6D00A /* XPGuildSingleRoomIncomeTableViewCell.m in Sources */,
9B1EF3D227E81C0600554295 /* XPMineDressUpBubbleViewController.m in Sources */,
2331C1AB2A60F32D00E1D940 /* CandyTreeResultModel.m in Sources */,
@@ -13071,13 +12651,11 @@
E86F6185284F4E4800E8EC9A /* RoomHalfHourRankModel.m in Sources */,
9B208A362779B50100F9E54A /* GiftNobleInfoModel.m in Sources */,
E80A086227F2AC190027B30C /* RoomPKDetailInfoModel.m in Sources */,
238B37CD2AC55A2C00BFC9D5 /* XPTreasureFailyResultView.m in Sources */,
4CAFF00A2DD342A400CD81DF /* MessagePublicEventModel.m in Sources */,
E824545126F5CE6E00BE8163 /* XPMineModifPayPwdPresenter.m in Sources */,
E8098CB1282E86EF0090B9F0 /* XPMomentsContentView.m in Sources */,
E85E3FA728B7A6F000268DC8 /* MessageContentMonentsView.m in Sources */,
E880B3AF278BE1D800A83B0D /* Api+AcrossRoomPK.m in Sources */,
238B37DC2AC55A2C00BFC9D5 /* XPTreasureFairyBallView.m in Sources */,
23CEFC4B2AFB8FC100576D89 /* BSUIDemoUtil.m in Sources */,
E8B9842D28AB77F10022D026 /* XPMonentsPublishTopicView.m in Sources */,
239141C62AE129F700322CA9 /* PIInputScrollingView.m in Sources */,
@@ -13110,7 +12688,6 @@
E8AC721C26F4720B007D6E91 /* XPMineSettingPresent.m in Sources */,
2305EF102AD8006900AD403C /* PIRoomMessagePhotoAlbumCell.m in Sources */,
4C0B4A502E65A68800D67F73 /* XPRoomAppManagerAction.m in Sources */,
238B37BA2AC55A2C00BFC9D5 /* XPTreasureFairyFriendView.m in Sources */,
E81060EE2987C35700B772F0 /* MessageTextClickModel.m in Sources */,
E87AE8C5284E1A8400CAFBB3 /* XPRoomNewUserGreetView.m in Sources */,
E87E627B2A3F5A0D002F68C9 /* XPNewHomeRecommendPresenter.m in Sources */,
@@ -13177,7 +12754,6 @@
9B7B605B27BB53060070BB72 /* XPAnchorAudienceUpMicView.m in Sources */,
4CF67BA52DF9568C00EE5A28 /* BaseModelVo.m in Sources */,
23CEFC522AFB8FC100576D89 /* BSFileOptionModel.m in Sources */,
238B37D02AC55A2C00BFC9D5 /* XPTreasureFairySummonGiftView.m in Sources */,
14DCAD0E299B6AD900A7DD31 /* XPForgetPwdViewController.m in Sources */,
23194DD12AD14BF000649F51 /* DDAbstractDatabaseLogger.m in Sources */,
545831A02C2AEFAF00364026 /* TenMicStageView.m in Sources */,
@@ -13197,7 +12773,6 @@
2331C1712A5EB71000E1D940 /* XPNobleCenterTableHeadView.m in Sources */,
181D7F212727D9DB00B7C059 /* SocialStageView.m in Sources */,
E8AB630D28ADD8C60023B0D2 /* XPMomentTopicContainerViewController.m in Sources */,
23E9EA7C2A83977400B792F2 /* MessageContentTreasureFairyView.m in Sources */,
4C85DB812DCDD83E00FD9839 /* CreateEventPresenter.m in Sources */,
E8D4DE472940473500EC788D /* GiftTwelveStarFirstModel.m in Sources */,
547B30F92CB511700041E962 /* RoomBoomEntryView.m in Sources */,
@@ -13207,7 +12782,6 @@
2331C1B82A60F32D00E1D940 /* XPRoomHalfWebView.m in Sources */,
9BFE0D8E2898C8C300F53C24 /* XPAnchorCardSkillCollectionViewCell.m in Sources */,
54AE7E172C9AE589006D2BE2 /* CPListViewController.m in Sources */,
238B37A92AC55A2C00BFC9D5 /* TreasureFairyUserInfoModel.m in Sources */,
E85E7B382A4EB0D300B6D00A /* XPMineGuildSearchMemberTableViewCell.m in Sources */,
23D321D52ADD0F05006B259C /* Api+PhotoAlbum.m in Sources */,
23E9EA842A84B6FD00B792F2 /* XPMineUserInfoTagModel.m in Sources */,
@@ -13237,7 +12811,6 @@
186A534626FC6ED900D67B2C /* TTPopup.m in Sources */,
9B4D449328F15765002572D5 /* XPGiftLuckyGiftBroadcastView.m in Sources */,
E81C278C26EAFAF60031E639 /* Base64.m in Sources */,
238B37C92AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultSmallView.m in Sources */,
544B19B62CA14A7100885BEB /* CPGiftBanner.m in Sources */,
E8C1CD7027D894B800376F83 /* RoomFaceTitleItemModel.m in Sources */,
E85E7B4B2A4EB0D300B6D00A /* XPMineGuildManagerSetViewController.m in Sources */,
@@ -13291,9 +12864,7 @@
1464C5F929A4D00000AF7C94 /* XPIAPRechargeHeaderView.m in Sources */,
E83645A82A40AF5400E0DBE4 /* NSBundle+Localizable.m in Sources */,
4CAE69CC2E69A2DB00A9FC35 /* MicMidpointRectManager.m in Sources */,
23E9EA7F2A839B2F00B792F2 /* MessageTreasureFairyModel.m in Sources */,
E8778AFB2989034200CF139B /* XPSessionSayHelloEmptyTableViewCell.m in Sources */,
238B37B02AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultCell.m in Sources */,
E88B5CC126FB407B00DA9178 /* XPMineUserInfoViewController.m in Sources */,
2331C1AC2A60F32D00E1D940 /* CandyTreeRecordModel.m in Sources */,
540EC1D32C89998500F3BF0D /* GiftComboManager.m in Sources */,
@@ -13301,7 +12872,6 @@
E81E09CF290F750800A1F410 /* AdvertiseModel.m in Sources */,
2305F3472AD94E9D00AD403C /* XPMaskManagerCell.m in Sources */,
E852D74428633A08001465ED /* MonentsCommentModel.m in Sources */,
238B37C42AC55A2C00BFC9D5 /* XPTreasureFairyBallContentView.m in Sources */,
E8C1CD6D27D8938C00376F83 /* XPRoomFaceTitleCollectionViewCell.m in Sources */,
548E01C62C3F78360071C83D /* FeedBackViewController.m in Sources */,
E8C1CD7627D8AE3D00376F83 /* XPRoomFacePresenter.m in Sources */,
@@ -13311,11 +12881,9 @@
E8899C7F27853B6A007944BE /* DatingMicroView.m in Sources */,
23E9EA882A84B75900B792F2 /* XPMineUserInfoHeaderTagView.m in Sources */,
E87DF4EC2A42CB60009C1185 /* XPSearchListTableViewCell.m in Sources */,
238B37C22AC55A2C00BFC9D5 /* XPTreasureFairyDrawSubView.m in Sources */,
E85E7B052A4EB0D200B6D00A /* XPClanPresenter.m in Sources */,
E85E7BA52A4EC99300B6D00A /* XPMineChooseGiveDiamondView.m in Sources */,
E8F63CB1298B553500B338BA /* SessionSayHelloLevelModel.m in Sources */,
238B37BB2AC55A2C00BFC9D5 /* XPTreasureFairySummonView.m in Sources */,
236B2E4B2AA07D06003967A8 /* XPLittleGameRoomListView.m in Sources */,
9BE01AD428927E9C00B50299 /* XPDressUpShopListViewController.m in Sources */,
4CD47BBE2E619F1700BCDA46 /* XPRoomMoreMenuAction.m in Sources */,
@@ -13325,20 +12893,17 @@
E824545926F5E65900BE8163 /* XPMineVerifIdentityView.m in Sources */,
E841ED61280FB0BD00904808 /* ContentLevelUpgradeModel.m in Sources */,
23CEFC632AFB8FC100576D89 /* BSRealTextView.m in Sources */,
238B37B92AC55A2C00BFC9D5 /* XPTreasureFairyTrialsRecordCell.m in Sources */,
236B2E542AA08757003967A8 /* LittleGameScrollStageView.m in Sources */,
189DD74026E21C3F00AB55B1 /* YYUtility+App.m in Sources */,
E85E7B182A4EB0D200B6D00A /* ClanDetailInfoModel.m in Sources */,
236B2E452AA07D06003967A8 /* NSData+RW.m in Sources */,
E85E7B272A4EB0D300B6D00A /* XPGuildSuperAdminMenuView.m in Sources */,
189DD74526E21CCC00AB55B1 /* YYReachability.m in Sources */,
238B37D62AC55A2C00BFC9D5 /* XPTreasureFairyTrialsView.m in Sources */,
E82109AD26F1C8A000FC3319 /* CountDownHelper.m in Sources */,
E878B8582835F0D300E22DCF /* MonentsInteractiveModel.m in Sources */,
E87DF4E42A42CAD2009C1185 /* XPHomeSearchNavView.m in Sources */,
9BD2ECCE288F829600F5CD9A /* XPMineFootPrintViewController.m in Sources */,
9B4E920028E57A620033419E /* XPGiftHeadTypeView.m in Sources */,
238B37C62AC55A2C00BFC9D5 /* XPTreasureFairyMyView.m in Sources */,
54E4D5332C90658C009E1FEA /* LuckyGiftWinningBannerView.m in Sources */,
E86A16BF2856D4D5004228B8 /* XPSessionFindNewGreetListView.m in Sources */,
E85E7B312A4EB0D300B6D00A /* XPNewGuildIncomeHeaderView.m in Sources */,
@@ -13352,7 +12917,6 @@
E8F1559328129EBA00EE8C06 /* ContentSecretaryModel.m in Sources */,
E85E7B342A4EB0D300B6D00A /* XPMineMainGuildListVC.m in Sources */,
9BBC02912786FC570007C24B /* XPMineNobleCardTableViewCell.m in Sources */,
238B37B12AC55A2C00BFC9D5 /* XPTreasureFairyFriendCell.m in Sources */,
E8751E7428A665BC0056EF44 /* RoomSailingInfoModel.m in Sources */,
E80EC81328ACD84000D133C5 /* QKeyboardManager.m in Sources */,
4CD6FF692D673F7F00262AB7 /* AgentMessageTableViewCell.m in Sources */,
@@ -13387,7 +12951,6 @@
4CC6195A2CEC7770008C1EE8 /* MyDressingDataPresent.m in Sources */,
E84150BF27747BD300A7F548 /* Api+FirstRecharge.m in Sources */,
E84B0E422727EE0A008818C6 /* XPRoomMessageHeaderView.m in Sources */,
238B37AC2AC55A2C00BFC9D5 /* TreasureFailryMessageModel.m in Sources */,
2331C1812A5ECD3800E1D940 /* XPNobleCenterPayCell.m in Sources */,
E852D73B286317F0001465ED /* XPMomentsDetailViewController.m in Sources */,
2331C1692A5EB71000E1D940 /* XPNobleSettingViewController.m in Sources */,
@@ -13396,7 +12959,6 @@
E81060D9298761A300B772F0 /* MessageBaseModel.m in Sources */,
E890BC10273D23F00007C46B /* GiftInfoModel.m in Sources */,
E8A30BEB28534A96003B4873 /* XPSessionFindNewFiltrateView.m in Sources */,
238B37AD2AC55A2C00BFC9D5 /* TreasureFairyBallInfoModel.m in Sources */,
E84BF7E0277C869A00EF8877 /* XPRoomOnLineViewController.m in Sources */,
186A534826FC6ED900D67B2C /* TTAlertButtonConfig.m in Sources */,
236B2E422AA07D06003967A8 /* SudCommon.m in Sources */,
@@ -13410,7 +12972,6 @@
9BD2ECDA288F867000F5CD9A /* XPMineFootPrintTableViewCell.m in Sources */,
545888332C1AFFB500897585 /* XPRoomPKPanelView.m in Sources */,
E8395339276A0CC100CF2F24 /* XPMineHeadwearTableViewCell.m in Sources */,
238B37CB2AC55A2C00BFC9D5 /* XPTreasureFairyWebView.m in Sources */,
E875FA8727D619820086ED04 /* ClientDataModel.m in Sources */,
9BFB10222897D68400B3985E /* XPTabAnchorCardModel.m in Sources */,
E8B846DC26FDE24300A777FE /* RechargeListModel.m in Sources */,
@@ -13452,7 +13013,6 @@
E8788934273A53D700BF1D57 /* XPSendGiftView.m in Sources */,
234E50AF2BF7352C005CB6D5 /* NSTextAttachment+MSImage.m in Sources */,
E896EF9C2771AE6B00AD2CC1 /* XPMineFansViewController.m in Sources */,
238B37A72AC55A2C00BFC9D5 /* TreasureFairyRewardModel.m in Sources */,
54B9C6E72C9C2CA1003F1CC5 /* XPMineGuildTableViewCell.m in Sources */,
E84B0E462727EF9D008818C6 /* XPRoomMessageParser.m in Sources */,
23E9E9A12A80C7E000B792F2 /* XPMineGuildPersonalBillRecordModel.m in Sources */,
@@ -13497,7 +13057,6 @@
540EC1D02C89925F00F3BF0D /* GiftComboView.m in Sources */,
E81060DF29876D3A00B772F0 /* MessageTimeModel.m in Sources */,
E81A65422835120200F55894 /* XPMonentsInteractivePresenter.m in Sources */,
238B37A82AC55A2C00BFC9D5 /* TreasureFairyTrialsRecordModel.m in Sources */,
239D0FD52C0475E6002977CE /* MSTabbarBeginGameView.m in Sources */,
E80EC80C28ACD84000D133C5 /* UITextView+QEmotion.m in Sources */,
E8664EE627E482EF000171BA /* RoomPKTeamModel.m in Sources */,
@@ -13526,14 +13085,12 @@
14EB640D29A5C16000A4A00B /* XPMomentsSimpleDetailNav.m in Sources */,
E80EC80E28ACD84000D133C5 /* QKeyboardBaseManager.m in Sources */,
54C389672C24464600FD47B1 /* HomeMineRoomModel.m in Sources */,
23E9EA792A8385CC00B792F2 /* XPTreasureFairyGiftView.m in Sources */,
149839C7299E0B9F00F82CBF /* XPMomentListCollectionViewCell.m in Sources */,
4C6E1F792CEB12780073D0A3 /* UIView+GradientLayer.m in Sources */,
236BA4982BB6AFED00C7C73A /* PINoblePrivilegeEmptyCell.m in Sources */,
E88C729C2828F37D0047FB2B /* XPRoomMusicLibraryEmptyTableViewCell.m in Sources */,
E85E7B0A2A4EB0D200B6D00A /* XPGuildManagerPerPresenter.m in Sources */,
9B85F3562806DD8A006EDF51 /* XPAnchorPKFinishView.m in Sources */,
238B37D72AC55A2C00BFC9D5 /* XPTreasureFairyTrialsBallView.m in Sources */,
E85E7BA12A4EC99300B6D00A /* XPMineGiveDiamondModel.m in Sources */,
E85E7B232A4EB0D300B6D00A /* XPMineClanViewController.m in Sources */,
E89DA67227008D59008483C1 /* WalletInfoModel.m in Sources */,
@@ -13546,7 +13103,6 @@
E80CBDEA27D0C53F001E1EC2 /* XPWeakTimer.m in Sources */,
E85E7BAC2A4EC99300B6D00A /* XPMineGiveDiamondDetailsView.m in Sources */,
4C51B09F2DA50FDA00D8DFB5 /* CPRelationshipChangeView.m in Sources */,
238B37B42AC55A2C00BFC9D5 /* XPTreasureFairyNewSummonCell.m in Sources */,
E85E7B152A4EB0D200B6D00A /* ClanInfoModel.m in Sources */,
189DD55026DE37F900AB55B1 /* MvpViewController.m in Sources */,
E81366F326F0B7C80076364C /* LoginFullInfoViewController.m in Sources */,

View File

@@ -1,16 +0,0 @@
//
// MessageContentTreasureFairyView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/23.
//
#import "MessageContentCustomView.h"
NS_ASSUME_NONNULL_BEGIN
@interface MessageContentTreasureFairyView : MessageContentCustomView
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,154 +0,0 @@
//
// MessageContentTreasureFairyView.m
// xplan-ios
//
// Created by on 2023/2/23.
//
#import "MessageContentTreasureFairyView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
#import "NSObject+MJExtension.h"
#import "TTPopup.h"
#import "MessageTreasureFairyModel.h"
///Model
#import "TreasureFairyBallInfoModel.h"
#import "ContentTreasureFairyModel.h"
///View
#import "XPTreasureFairyMessageSendView.h"
@interface MessageContentTreasureFairyView ()
///
@property (nonatomic,strong) NetImageView *ballImageView;
///
@property (nonatomic,strong) UIStackView *stackView;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UILabel *checkLabel;
///
@property (nonatomic,strong) NIMMessage *message;
@property (nonatomic,strong) ContentTreasureFairyModel *fairyInfo;
@end
@implementation MessageContentTreasureFairyView
+ (CGFloat)measureHeight:(NIMMessage *)message {
return 78 + CONTENT_PADDING_V_TOTAL;
}
- (void)initSubViews {
[super initSubViews];
[self addSubview:self.backView];
[self.backView addSubview:self.ballImageView];
[self.backView addSubview:self.stackView];
[self.stackView addArrangedSubview:self.titleLabel];
[self.stackView addArrangedSubview:self.checkLabel];
}
- (void)initSubViewConstraints {
[super initSubViewConstraints];
[self.backView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.top.bottom.trailing.equalTo(self);
make.leading.mas_equalTo(self).offset(10);
make.height.mas_equalTo(78);
make.width.mas_equalTo(235);
}];
[self.ballImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(62, 62));
make.leading.mas_equalTo(self.backView);
make.centerY.mas_equalTo(self.backView);
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.ballImageView.mas_trailing).offset(12);
make.centerY.mas_equalTo(self.ballImageView);
make.trailing.mas_equalTo(self.backView).offset(-10);
}];
}
- (void)render:(MessageTreasureFairyModel *)model {
self.message = model.message;
NIMCustomObject *obj = (NIMCustomObject *)model.message.messageObject;
AttachmentModel * attach = (AttachmentModel *)obj.attachment;
ContentTreasureFairyModel * info;
if (model.message.localExt) {
info = [ContentTreasureFairyModel modelWithDictionary:model.message.localExt];
} else {
info = [ContentTreasureFairyModel modelWithDictionary:attach.data];
}
self.fairyInfo = info;
self.checkLabel.hidden = (attach.second == Custom_Message_Sub_Treasure_Fairy_Send_Fairy || info.isSended || self.message.isOutgoingMsg);
self.ballImageView.imageUrl = info.elfPicUrl;
self.titleLabel.text = info.msgContent;
}
- (void)checkRecognizer {
if (!self.titleLabel.isHidden) {
XPTreasureFairyMessageSendView * view = [[XPTreasureFairyMessageSendView alloc] init];
view.fairyInfo = self.fairyInfo;
@kWeakify(self);
view.finish = ^(BOOL success,ContentTreasureFairyModel * fairyInfo) {
@kStrongify(self);
fairyInfo.isSended = YES;
self.fairyInfo.isSended = fairyInfo;
self.message.localExt = [self.fairyInfo model2dictionary];
[[NIMSDK sharedSDK].conversationManager updateMessage:self.message forSession:self.message.session completion:^(NSError * _Nullable error) {
if (self.customMessageDelegate && [self.customMessageDelegate respondsToSelector:@selector(updateMessageSuccess:)]) {
[self.customMessageDelegate updateMessageSuccess:self.message];
}
}];
};
[TTPopup popupView:view style:TTPopupStyleAlert];
}
}
- (NetImageView *)ballImageView {
if (!_ballImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_ballImageView = [[NetImageView alloc] initWithConfig:config];
_ballImageView.contentMode = UIViewContentModeScaleAspectFill;
_ballImageView.layer.masksToBounds = YES;
}
return _ballImageView;
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisVertical;
_stackView.distribution = UIStackViewDistributionFill;
_stackView.alignment = UIStackViewAlignmentFill;
_stackView.spacing = 10;
}
return _stackView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:13];
_titleLabel.textColor = [DJDKMIMOMColor mainTextColor];
_titleLabel.numberOfLines = 2;
}
return _titleLabel;
}
- (UILabel *)checkLabel {
if (!_checkLabel) {
_checkLabel = [[UILabel alloc] init];
_checkLabel.text = YMLocalizedString(@"MessageContentTreasureFairyView0");
_checkLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#5FCCE4"];
_checkLabel.font = [UIFont systemFontOfSize:13];
_checkLabel.textAlignment = NSTextAlignmentLeft;
_checkLabel.userInteractionEnabled = YES;
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(checkRecognizer)];
[_checkLabel addGestureRecognizer:tap];
}
return _checkLabel;
}
@end

View File

@@ -1,16 +0,0 @@
//
// MessageTreasureFairyModel.h
// YuMi
//
// Created by duoban on 2023/8/9.
//
#import "MessageBaseModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface MessageTreasureFairyModel : MessageBaseModel
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,28 +0,0 @@
//
// MessageTreasureFairyModel.m
// YuMi
//
// Created by duoban on 2023/8/9.
//
#import "MessageTreasureFairyModel.h"
#import "AttachmentModel.h"
#import "GuildMessageModel.h"
#import "DJDKMIMOMColor.h"
#import "NSObject+MJExtension.h"
@implementation MessageTreasureFairyModel
- (instancetype)initWithMessage:(NIMMessage *)message {
if (self = [super initWithMessage:message]) {
self.messageType = SessionMessageType_Custom;
self.height = 78 + CONTENT_PADDING_V_TOTAL;
self.contentSize = CGSizeMake(CONTENT_WIDTH_MAX, 78 + 20 + 15 + 15);
}
return self;
}
- (NSString *)cellContent:(MessageBaseModel *)model {
return @"MessageContentTreasureFairyView";
}
@end

View File

@@ -1,23 +0,0 @@
//
// XPTreasureFairyGiftView.h
// xplan-ios
//
// Created by XY on 2023/3/1.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPTreasureFairyGiftView : UIView
///是否是动态飘屏
@property (nonatomic,assign) BOOL isMaxLargeGift;
/// 是否是抽奖(抽奖、召唤)
@property (nonatomic,assign) BOOL isDrawGift;
///夺宝信息
@property (nonatomic,copy) NSDictionary *treasureInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,193 +0,0 @@
//
// XPTreasureFairyGiftView.m
// xplan-ios
//
// Created by XY on 2023/3/1.
//
#import "XPTreasureFairyGiftView.h"
///Third
#import <Masonry/Masonry.h>
#import <SVGA.h>
#import "XPSVGAPlayer.h"
#import "ThemeColor+Room.h"
#import "TreasureFailryMessageModel.h"
#import "NSObject+MJExtension.h"
@interface XPTreasureFairyGiftView()
///
@property (strong, nonatomic) SVGAParser *parser;
///
@property (nonatomic,strong) XPSVGAPlayer *treasureView;
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UIView *titleView;
///
@property (nonatomic,strong) UILabel *titleLabel;
@end
@implementation XPTreasureFairyGiftView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.treasureView];
[self addSubview:self.backImageView];
[self.backImageView addSubview:self.titleView];
[self.titleView addSubview:self.titleLabel];
}
- (void)initSubViewConstraints {
[self.treasureView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView).inset(20);
make.height.mas_equalTo(28);
make.top.mas_equalTo(self.backImageView).offset(23);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.titleView);
make.centerY.mas_equalTo(self.titleView);
}];
}
- (NSAttributedString *)createAttribute:(NSString * )text color:(UIColor *)color fontSize:(CGFloat)fonSize {
NSDictionary * attribute = @{NSFontAttributeName:[UIFont systemFontOfSize:fonSize], NSForegroundColorAttributeName:color};
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:text attributes:attribute];
return attr;
}
#pragma mark - Getters And Setters
- (void)setTreasureInfo:(NSDictionary *)treasureInfo {
if (treasureInfo) {
TreasureFailryMessageModel * giftInfo = [TreasureFailryMessageModel modelWithDictionary:treasureInfo];
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] init];
CGFloat fontSize = self.isMaxLargeGift ? 22 : 13;
// CGFloat fontSize = 13;
if (self.isDrawGift) {
[attribute appendAttributedString:[self createAttribute:YMLocalizedString(@"XPTreasureFairyGiftView0") color:[DJDKMIMOMColor colorWithHexString:@"#8C4700"] fontSize:fontSize]];
NSString * nick = giftInfo.nick;
if (nick.length > 6) {
nick = [nick substringToIndex:6];
}
[attribute appendAttributedString:[self createAttribute:nick color:[DJDKMIMOMColor colorWithHexString:@"#EC4613"] fontSize:fontSize]];
[attribute appendAttributedString:[self createAttribute:YMLocalizedString(@"XPTreasureFairyGiftView1") color:[DJDKMIMOMColor colorWithHexString:@"#8C4700"] fontSize:fontSize]];
[attribute appendAttributedString:[self createAttribute:giftInfo.rewardName color:[DJDKMIMOMColor colorWithHexString:@"#EC4613"] fontSize:fontSize]];
if (giftInfo.rewardNum > 1) {
[attribute appendAttributedString:[self createAttribute:[NSString stringWithFormat:@" X%ld", giftInfo.rewardNum] color:[DJDKMIMOMColor colorWithHexString:@"#EC4613"] fontSize:fontSize]];
}
}else{
[attribute appendAttributedString:[self createAttribute:YMLocalizedString(@"XPTreasureFairyGiftView2") color:[DJDKMIMOMColor colorWithHexString:@"#8C4700"] fontSize:fontSize]];
[attribute appendAttributedString:[self createAttribute:giftInfo.nick color:[DJDKMIMOMColor colorWithHexString:@"#EC4613"] fontSize:fontSize]];
[attribute appendAttributedString:[self createAttribute:YMLocalizedString(@"XPTreasureFairyGiftView3") color:[DJDKMIMOMColor colorWithHexString:@"#8C4700"] fontSize:fontSize]];
NSString *level = @"";
if (giftInfo.rewardLevel == 1) {
level = YMLocalizedString(@"XPTreasureFairyGiftView4");
}else if (giftInfo.rewardLevel == 2) {
level = YMLocalizedString(@"XPTreasureFairyGiftView5");
}else if (giftInfo.rewardLevel == 3) {
level = YMLocalizedString(@"XPTreasureFairyGiftView6");
}
[attribute appendAttributedString:[self createAttribute:level color:[DJDKMIMOMColor colorWithHexString:@"#8C4700"] fontSize:fontSize]];
[attribute appendAttributedString:[self createAttribute:YMLocalizedString(@"XPTreasureFairyGiftView7") color:[DJDKMIMOMColor colorWithHexString:@"#8C4700"] fontSize:fontSize]];
[attribute appendAttributedString:[self createAttribute:[NSString stringWithFormat:@"%ld",giftInfo.rewardShowValue] color:[DJDKMIMOMColor colorWithHexString:@"#F1390A"] fontSize:fontSize]];
if ([giftInfo.rewardType isEqualToString:@"gift"]) {
[attribute appendAttributedString:[self createAttribute:YMLocalizedString(@"XPTreasureFairyGiftView8") color:[DJDKMIMOMColor colorWithHexString:@"#F1390A"] fontSize:fontSize]];
}else{
[attribute appendAttributedString:[self createAttribute:giftInfo.rewardUnit color:[DJDKMIMOMColor colorWithHexString:@"#F1390A"] fontSize:fontSize]];
}
[attribute appendAttributedString:[self createAttribute:giftInfo.rewardName color:[DJDKMIMOMColor colorWithHexString:@"#F1390A"] fontSize:fontSize]];
}
NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];
paragraphStyle.lineBreakMode = NSLineBreakByCharWrapping;
paragraphStyle.lineSpacing = 0.0f;//
paragraphStyle.alignment = NSTextAlignmentCenter;
paragraphStyle.baseWritingDirection = NSWritingDirectionLeftToRight;
[attribute addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, attribute.length)];
[self.treasureView setAttributedText:attribute forKey:@"touming_text_name"];
if (self.isMaxLargeGift) {
self.backImageView.hidden = YES;
self.treasureView.hidden = NO;
@kWeakify(self);
[self.parser parseWithNamed:@"pi_treasure_fairy_gift_bg" inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
@kStrongify(self);
self.treasureView.loops = 1;
self.treasureView.clearsAfterStop = NO;
self.treasureView.videoItem = videoItem;
[self.treasureView startAnimation];
} failureBlock:^(NSError * _Nonnull error) {
}];
} else {
self.backImageView.hidden = NO;
self.treasureView.hidden = YES;
self.titleLabel.attributedText = attribute;
self.titleLabel.textAlignment = NSTextAlignmentCenter;
}
}
}
- (XPSVGAPlayer *)treasureView {
if (!_treasureView) {
_treasureView = [[XPSVGAPlayer alloc]init];
_treasureView.backgroundColor = [UIColor clearColor];
_treasureView.userInteractionEnabled = NO;
}
return _treasureView;
}
- (SVGAParser *)parser {
if (!_parser) {
_parser = [[SVGAParser alloc]init];
}
return _parser;
}
- (UIView *)titleView {
if (!_titleView) {
_titleView = [[UIView alloc] init];
_titleView.backgroundColor = [UIColor clearColor];
}
return _titleView;
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_treaseure_fairy_normal_gift_bg"];
}
return _backImageView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.numberOfLines = 2;
}
return _titleLabel;
}
@end

View File

@@ -1,132 +0,0 @@
//
// Api+TreasureFairy.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/15.
//
#import "Api.h"
NS_ASSUME_NONNULL_BEGIN
@interface Api (TreasureFairy)
/// 夺宝限制
/// - Parameter completion: 完成
+ (void)treasureFailyLimitInfo:(HttpRequestHelperCompletion)completion;
/// 夺宝奖池
/// - Parameter completion: 完成
+ (void)treasureFailyDrawList:(HttpRequestHelperCompletion)completion;
/// 夺宝信息
/// - Parameter completion: 完成
+ (void)treasureFailyDrawInfo:(HttpRequestHelperCompletion)completion;
/// 开始夺宝
/// - Parameters:
/// - completion: 完成
/// - roomUid: 房主的uid
/// - drawNum: 个数
+ (void)treasureFailyDraw:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid drawNum:(NSString *)drawNum;
/// 森林抽奖
/// - Parameters:
/// - completion: 完成
/// - roomUid: 抽奖次数
/// - poolLevel: 奖池类型 1:初级2:中级3:高级;
+ (void)treasureFailyForestDraw:(HttpRequestHelperCompletion)completion drawNum:(NSString *)drawNum poolLevel:(NSString *)poolLevel;
/// 森林抽奖记录
/// - Parameters:
/// - completion: 完成
/// - page: 页数
/// - pageSize: 一页多少个
+ (void)treasureFairyForestDrawRecord:(HttpRequestHelperCompletion)completion page:(NSString *)page pageSize:(NSString *)pageSize;
/// 用户森林信息
/// - Parameter completion: 完成
+ (void)treasureFailyForestUserInfo:(HttpRequestHelperCompletion)completion;
/// 猛犸森林奖池配置列表
/// - Parameter completion: 完成
/// - Parameter poolLevel: 奖池等级
+ (void)treasureFailyForestItems:(HttpRequestHelperCompletion)completion poolLevel:(NSString *)poolLevel;
/// 我的精灵
/// - Parameter completion: 完成
+ (void)treasureFairyMyBallList:(HttpRequestHelperCompletion)completion;
/// 我的好友
/// - Parameters:
/// - completion: 完成
/// - nick: 昵称
+ (void)treasureFairyFansFriendList:(HttpRequestHelperCompletion)completion nick:(NSString *)nick;
/// 精灵赠送
/// - Parameters:
/// - completion: 完成
/// - elfId: 精灵id
/// - targetUid: 目标用户的uid
+ (void)treasureFairySendFairyBall:(HttpRequestHelperCompletion)completion elfId:(NSString *)elfId targetUid:(NSString *)targetUid;
/// 索要
/// - Parameters:
/// - completion: 完成
/// - elfId: 精灵id
/// - targetUid: 目标用户的uid
+ (void)treasureFairyAskForFairyBall:(HttpRequestHelperCompletion)completion elfId:(NSString *)elfId targetUid:(NSString *)targetUid;
/// 赠与和获赠记录
/// - Parameter completion: 完成
/// - Parameter page: 页数
/// - Parameter page: 一页多少个
+ (void)treasureFailySendAndAskRecordList:(HttpRequestHelperCompletion)completion page:(NSString *)page pageSize:(NSString *)pageSize;
/// 精灵试炼
/// - Parameter completion: 完成
/// - Parameter page: 页数
/// - Parameter page: 一页多少个
+ (void)treasureFailyCompoundBall:(HttpRequestHelperCompletion)completion compoundLevel:(NSInteger)compoundLevel compoundReqs:(NSArray *)compoundReqs;
/// 精灵试炼记录
/// - Parameter completion: 完成
/// - Parameter page: 页数
/// - Parameter pageSize: 一页多少个
+ (void)treasureFailyCompoundBallRecord:(HttpRequestHelperCompletion)completion page:(NSString *)page pageSize:(NSString *)pageSize;
/// 兑换-精灵召回列表
/// - Parameter completion: 完成
/// - Parameter page: 页数
/// - Parameter pageSize: 一页多少个
+ (void)treasureFailyConvertElfList:(HttpRequestHelperCompletion)completion;
/// 兑换-精灵
/// - Parameter completion: 完成
/// - Parameter itemId: id
+ (void)treasureFailyConvert:(HttpRequestHelperCompletion)completion itemId:(NSString *)itemId roomUid:(NSString *)roomUid propIdStr:(NSString *)propIdStr propNumStr:(NSString *)propNumStr;
/// 兑换-碎片兑换列表
/// - Parameter completion: 完成
/// - Parameter page: 页数
/// - Parameter pageSize: 一页多少个
+ (void)treasureFailyFragmentExchangeList:(HttpRequestHelperCompletion)completion;
/// 兑换记录
/// - Parameters:
/// - completion: 完成
/// - convertType: 1:精灵召唤 2:碎片兑换
/// - page: 页数
/// - pageSize: 一页多少个
+ (void)treasureFairyConvertRecord:(HttpRequestHelperCompletion)completion convertType:(NSString *)convertType page:(NSString *)page pageSize:(NSString *)pageSize;
/// 购买精灵碎片
/// - Parameters:
/// - completion: 完成
/// - num: 数量
/// - uid: 用户id
+(void)buyElfShard:(HttpRequestHelperCompletion)completion num:(NSString *)num uid:(NSString *)uid;
/// 精灵分解
/// - Parameter completion: 完成
/// - Parameter salvageReq: 分解的精灵
+ (void)treasureFailySalvageall:(HttpRequestHelperCompletion)completion salvageReq:(NSArray *)salvageReq;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,184 +0,0 @@
//
// Api+TreasureFairy.m
// xplan-ios
//
// Created by on 2023/2/15.
//
#import "Api+TreasureFairy.h"
#import "NSMutableDictionary+Saft.h"
@implementation Api (TreasureFairy)
///
/// - Parameter completion:
+ (void)treasureFailyLimitInfo:(HttpRequestHelperCompletion)completion {
[self makeRequest:@"act/seize-treasure/status" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
}
///
/// - Parameter completion:
+ (void)treasureFailyDrawList:(HttpRequestHelperCompletion)completion {
[self makeRequest:@"act/seize-treasure/draw/pool/list" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
}
///
/// - Parameter completion:
+ (void)treasureFailyDrawInfo:(HttpRequestHelperCompletion)completion {
[self makeRequest:@"act/seize-treasure/user/draw/info" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
}
///
/// - Parameters:
/// - completion:
/// - roomUid: uid
/// - drawNum:
+ (void)treasureFailyDraw:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid drawNum:(NSString *)drawNum {
[self makeRequest:@"act/seize-treasure/draw" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, roomUid, drawNum, nil];
}
///
/// - Parameters:
/// - completion:
/// - roomUid:
/// - poolLevel: 1:2:3:
+ (void)treasureFailyForestDraw:(HttpRequestHelperCompletion)completion drawNum:(NSString *)drawNum poolLevel:(NSString *)poolLevel {
[self makeRequest:@"act/seize-treasure/forest/draw" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, drawNum, poolLevel, nil];
}
///
/// - Parameters:
/// - completion:
/// - page:
/// - pageSize:
+ (void)treasureFairyForestDrawRecord:(HttpRequestHelperCompletion)completion page:(NSString *)page pageSize:(NSString *)pageSize {
[self makeRequest:@"act/seize-treasure/forest/draw/record" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, page, pageSize, nil];
}
///
/// - Parameter completion:
+ (void)treasureFailyForestUserInfo:(HttpRequestHelperCompletion)completion {
[self makeRequest:@"act/seize-treasure/user/forest/info" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
}
///
/// - Parameter completion:
/// - Parameter poolLevel:
+ (void)treasureFailyForestItems:(HttpRequestHelperCompletion)completion poolLevel:(NSString *)poolLevel {
[self makeRequest:@"act/seize-treasure/draw/forest/item" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__,poolLevel, nil];
}
///
/// - Parameter completion:
+ (void)treasureFairyMyBallList:(HttpRequestHelperCompletion)completion {
[self makeRequest:@"act/seize-treasure/elf/user/info" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
}
///
/// - Parameters:
/// - completion:
/// - nick:
+ (void)treasureFairyFansFriendList:(HttpRequestHelperCompletion)completion nick:(NSString *)nick {
NSMutableDictionary * params = [NSMutableDictionary dictionary];
[params safeSetObject:nick forKey:@"nick"];
[HttpRequestHelper request:@"fans/friend/list" method:HttpRequestHelperMethodGET params:params completion:completion];
}
///
/// - Parameters:
/// - completion:
/// - elfId: id
/// - targetUid: uid
+ (void)treasureFairySendFairyBall:(HttpRequestHelperCompletion)completion elfId:(NSString *)elfId targetUid:(NSString *)targetUid {
[self makeRequest:@"act/seize-treasure/elf/send" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__,elfId, targetUid, nil];
}
///
/// - Parameters:
/// - completion:
/// - elfId: id
/// - targetUid: uid
+ (void)treasureFairyAskForFairyBall:(HttpRequestHelperCompletion)completion elfId:(NSString *)elfId targetUid:(NSString *)targetUid {
[self makeRequest:@"act/seize-treasure/elf/askFor" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__,elfId, targetUid, nil];
}
///
/// - Parameter completion:
/// - Parameter page:
/// - Parameter page:
+ (void)treasureFailySendAndAskRecordList:(HttpRequestHelperCompletion)completion page:(NSString *)page pageSize:(NSString *)pageSize {
[self makeRequest:@"act/seize-treasure/elf/record" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, page, pageSize,nil];
}
///
/// - Parameter completion:
/// - Parameter page:
/// - Parameter page:
+ (void)treasureFailyCompoundBall:(HttpRequestHelperCompletion)completion compoundLevel:(NSInteger)compoundLevel compoundReqs:(NSArray *)compoundReqs {
NSMutableDictionary * dic = [NSMutableDictionary dictionary];
[dic safeSetObject:@(compoundLevel) forKey:@"level"];
[dic safeSetObject:compoundReqs forKey:@"expendList"];
[HttpRequestHelper postSkillCard:@"act/seize-treasure/elf/compound" params:dic.toJSONString completion:completion];
}
///
/// - Parameter completion:
/// - Parameter salvageReq:
+ (void)treasureFailySalvageall:(HttpRequestHelperCompletion)completion salvageReq:(NSArray *)salvageReq {
NSMutableDictionary * dic = [NSMutableDictionary dictionary];
[dic safeSetObject:salvageReq forKey:@"expendList"];
[HttpRequestHelper postSkillCard:@"act/seize-treasure/elf/salvage" params:dic.toJSONString completion:completion];
}
///
/// - Parameter completion:
/// - Parameter page:
/// - Parameter pageSize:
+ (void)treasureFailyCompoundBallRecord:(HttpRequestHelperCompletion)completion page:(NSString *)page pageSize:(NSString *)pageSize {
[self makeRequest:@"act/seize-treasure/elf/compound/record" method:HttpRequestHelperMethodGET completion:completion,__FUNCTION__, page, pageSize, nil];
}
/// -
/// - Parameter completion:
/// - Parameter page:
/// - Parameter pageSize:
+ (void)treasureFailyConvertElfList:(HttpRequestHelperCompletion)completion {
[self makeRequest:@"act/seize-treasure/convert/elf/list" method:HttpRequestHelperMethodGET completion:completion,__FUNCTION__, nil];
}
/// -
/// - Parameter completion:
/// - Parameter itemId: id
+ (void)treasureFailyConvert:(HttpRequestHelperCompletion)completion itemId:(NSString *)itemId roomUid:(nonnull NSString *)roomUid propIdStr:(NSString *)propIdStr propNumStr:(NSString *)propNumStr {
if(propIdStr.length > 0){
[self makeRequest:@"act/seize-treasure/convert" method:HttpRequestHelperMethodPOST completion:completion,__FUNCTION__, itemId, roomUid,propIdStr,propNumStr,nil];
return;
}
[self makeRequest:@"act/seize-treasure/convert" method:HttpRequestHelperMethodPOST completion:completion,__FUNCTION__, itemId, roomUid,nil];
}
/// -
/// - Parameter completion:
/// - Parameter page:
/// - Parameter pageSize:
+ (void)treasureFailyFragmentExchangeList:(HttpRequestHelperCompletion)completion {
[self makeRequest:@"act/seize-treasure/convert/chip/list" method:HttpRequestHelperMethodGET completion:completion,__FUNCTION__, nil];
}
///
/// - Parameters:
/// - completion:
/// - convertType: 1: 2:
/// - page:
/// - pageSize:
+ (void)treasureFairyConvertRecord:(HttpRequestHelperCompletion)completion convertType:(NSString *)convertType page:(NSString *)page pageSize:(NSString *)pageSize {
[self makeRequest:@"act/seize-treasure/convert/record" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, convertType, page, pageSize, nil];
}
///
/// - Parameters:
/// - completion:
/// - num:
/// - uid: id
+(void)buyElfShard:(HttpRequestHelperCompletion)completion num:(NSString*)num uid:(NSString *)uid{
[self makeRequest:@"act/seize-treasure/shard/buy" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, num,uid, nil];
}
@end

View File

@@ -1,35 +0,0 @@
//
// TreasureFailryMessageModel.h
// xplan-ios
//
// Created by 冯硕 on 2023/3/1.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface TreasureFailryMessageModel : PIBaseModel
///奖励的名称
@property (nonatomic,copy) NSString *rewardName;
///奖励的个数
@property (nonatomic,assign) NSInteger rewardNum;
///用户的uid
@property (nonatomic,copy) NSString *uid;
///昵称
@property (nonatomic,copy) NSString *nick;
///所在房间的Uid
@property (nonatomic,copy) NSString *roomUid;
///奖励等级
@property (nonatomic,assign) NSInteger rewardLevel;
///奖励类型
@property (nonatomic,copy) NSString *rewardType;
///限制等级
@property (nonatomic,assign) NSInteger userLevelLimit;
///礼物价值
@property (nonatomic,assign) NSInteger rewardShowValue;
/// 奖励单位
@property (nonatomic, copy) NSString *rewardUnit;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// TreasureFailryMessageModel.m
// xplan-ios
//
// Created by on 2023/3/1.
//
#import "TreasureFailryMessageModel.h"
@implementation TreasureFailryMessageModel
@end

View File

@@ -1,25 +0,0 @@
//
// TreasureFailyKeyInfoModel.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/17.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface TreasureFailyKeyInfoModel : PIBaseModel
///门票数
@property (nonatomic,assign) NSInteger drawTicketNum;
///幸运值
@property (nonatomic,assign) NSInteger luckyNum;
///写一个幸运值
@property (nonatomic,assign) NSInteger nextBallNum;
///需要幸运值
@property (nonatomic,assign) NSInteger needLuckyNum;
///保存我的精灵选择的精灵等级0初级1史诗2传说
@property (nonatomic,assign) NSInteger spriteLevel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// TreasureFailyKeyInfoModel.m
// xplan-ios
//
// Created by on 2023/2/17.
//
#import "TreasureFailyKeyInfoModel.h"
@implementation TreasureFailyKeyInfoModel
@end

View File

@@ -1,52 +0,0 @@
//
// TreasureFairyBallInfoModel.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/22.
//
#import <Foundation/Foundation.h>
#import "TreasureFairyInfoModel.h"
NS_ASSUME_NONNULL_BEGIN
@class TreasureFairyBallModel;
@interface TreasureFairyBallInfoModel : PIBaseModel
///头像
@property (nonatomic,copy) NSString *avatar;
///昵称
@property (nonatomic,copy) NSString *nick;
///精灵碎片
@property (nonatomic,assign) NSInteger chipNum;
///史诗
@property (nonatomic,copy) NSArray<TreasureFairyBallModel *> *middleElves;
///普通
@property (nonatomic,copy) NSArray<TreasureFairyBallModel *> *lowElves;
///传说
@property (nonatomic,copy) NSArray<TreasureFairyBallModel *> *highElves;
@end
@interface TreasureFairyBallModel : PIBaseModel
///id
@property (nonatomic,assign) NSInteger elfId;
///精灵名称
@property (nonatomic,copy) NSString *elfName;
///精灵数量
@property (nonatomic,assign) NSInteger elfNum;
///精灵图片
@property (nonatomic,copy) NSString *elfPicUrl;
///精灵等级
@property (nonatomic,assign) TreasureFairyStoreType elfLevel;
///是否翻转了 本地字段
@property (nonatomic,assign) BOOL isFlip;
///选中的个数 最大为3
@property (nonatomic,assign) NSInteger chooseNum;
///消息中使用的
///昵称 赠送的时候使用
@property (nonatomic,copy) NSString *nick;
///赠送的人的uid
@property (nonatomic,assign) NSInteger uid;
@property(nonatomic,assign) BOOL isHigh;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,26 +0,0 @@
//
// TreasureFairyBallInfoModel.m
// xplan-ios
//
// Created by on 2023/2/22.
//
#import "TreasureFairyBallInfoModel.h"
@implementation TreasureFairyBallInfoModel
+ (NSDictionary *)objectClassInArray {
return @{
@"highElves":TreasureFairyBallModel.class,
@"lowElves":TreasureFairyBallModel.class,
@"middleElves":TreasureFairyBallModel.class,
};
}
@end
@implementation TreasureFairyBallModel
@end

View File

@@ -1,27 +0,0 @@
//
// TreasureFairyConvertRecordModel.h
// xplan-ios
//
// Created by XY on 2023/3/1.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface TreasureFairyConvertRecordModel : PIBaseModel
@property (nonatomic, assign) NSInteger convertLevel;
@property (nonatomic, assign) NSInteger convertType;
@property (nonatomic, copy) NSString *createTime;
@property (nonatomic, assign) NSInteger recordId;
@property (nonatomic, copy) NSString *rewardName;
@property (nonatomic, copy) NSString *rewardNum;
@property (nonatomic, copy) NSString *rewardPicUrl;
@property (nonatomic, copy) NSString *rewardShowValue;
@property (nonatomic, copy) NSString *rewardType;
@property (nonatomic, copy) NSString *rewardUnit;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// TreasureFairyConvertRecordModel.m
// xplan-ios
//
// Created by XY on 2023/3/1.
//
#import "TreasureFairyConvertRecordModel.h"
@implementation TreasureFairyConvertRecordModel
@end

View File

@@ -1,53 +0,0 @@
//
// TreasureFairyFragmentModel.h
// xplan-ios
//
// Created by XY on 2023/2/28.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface TreasureFairyFragmentModel : PIBaseModel
/// 消耗数量
@property (nonatomic, assign) NSInteger expendNum;
/// 兑换项id
@property (nonatomic, assign) NSInteger itemId;
/// 兑换等级
@property (nonatomic, assign) NSInteger level;
/// 奖励id
@property (nonatomic, assign) NSInteger rewardId;
/// 奖励名称
@property (nonatomic, copy) NSString *rewardName;
/// 奖励数量
@property (nonatomic, assign) NSInteger rewardNum;
/// 奖励图片url
@property (nonatomic, copy) NSString *rewardPicUrl;
/// 奖励价值
@property (nonatomic, copy) NSString *rewardShowValue;
/// 奖励类型 activityProps:活动道具;gift:礼物;namePlate:铭牌;car:座驾;headwear:头饰;chatBubble:气泡;infoCard:资料卡;
@property (nonatomic, copy) NSString *rewardType;
/// 奖励单位
@property (nonatomic, copy) NSString *rewardUnit;
/// 兑换类型
@property (nonatomic, assign) NSInteger type;
@property(nonatomic,copy) NSArray *propItems;
@end
@interface TreasureFairyFragmentItemModel : PIBaseModel
@property (nonatomic, copy) NSString *picUrl;
@property (nonatomic, copy) NSString *propId;
@property (nonatomic, copy) NSString *propName;
@property (nonatomic, copy) NSString *propNum;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,20 +0,0 @@
//
// TreasureFairyFragmentModel.m
// xplan-ios
//
// Created by XY on 2023/2/28.
//
#import "TreasureFairyFragmentModel.h"
@implementation TreasureFairyFragmentModel
+ (NSDictionary *)objectClassInArray{
return @{@"propItems":TreasureFairyFragmentItemModel.class};
}
@end
@implementation TreasureFairyFragmentItemModel
@end

View File

@@ -1,58 +0,0 @@
//
// TreasureFairyInfoModel.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/15.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, TreasureFairyStoreType) {
///普通
TreasureFairyStoreType_Normal = 1,
///史诗
TreasureFairyStoreType_Middle = 2,
///传说
TreasureFairyStoreType_High = 3,
///分解
TreasureFairyStoreType_Salvage = 7,
};
typedef NS_ENUM(NSInteger, TreasureFairyPropType) {
///碎片
TreasureFairyPropType_Piece = 1,
///精灵球
TreasureFairyPropType_Ball = 2,
///精灵
TreasureFairyPropType_Fairy = 3,
///分解获得碎片
TreasureFairyPropType_Salvage = 4,
};
@interface TreasureFairyInfoModel : PIBaseModel
///奖励id
@property (nonatomic,assign) NSInteger rewardId;
///奖励的名称
@property (nonatomic,copy) NSString *rewardName;
///奖励的个数
@property (nonatomic,assign) NSInteger rewardNum;
///奖励的图片
@property (nonatomic,copy) NSString *rewardPicUrl;
/// 展示概率
@property (nonatomic,assign) CGFloat showRatio;
///礼物的等级
@property (nonatomic,assign) NSInteger rewardLevel;
///礼物的index
@property (nonatomic,assign) NSInteger itemIndex;
#pragma mark - 夺宝记录
///奖池等级
@property (nonatomic,assign) TreasureFairyStoreType poolLevel;
///时间戳
@property (nonatomic,copy) NSString *drawTime;
///森林开出的礼物类型
@property (nonatomic,assign) TreasureFairyPropType propType;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// TreasureFairyInfoModel.m
// xplan-ios
//
// Created by on 2023/2/15.
//
#import "TreasureFairyInfoModel.h"
@implementation TreasureFairyInfoModel
@end

View File

@@ -1,19 +0,0 @@
//
// TreasureFairyLimitModel.h
// xplan-ios
//
// Created by 冯硕 on 2023/3/1.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface TreasureFairyLimitModel : PIBaseModel
///是否开启
@property (nonatomic,assign) BOOL open;
///等级限制
@property (nonatomic,assign) NSInteger levelLimit;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// TreasureFairyLimitModel.m
// xplan-ios
//
// Created by on 2023/3/1.
//
#import "TreasureFairyLimitModel.h"
@implementation TreasureFairyLimitModel
@end

View File

@@ -1,30 +0,0 @@
//
// TreasureFairyRewardModel.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/28.
//
#import <Foundation/Foundation.h>
#import "TreasureFairyInfoModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface TreasureFairyRewardModel : PIBaseModel
@property (nonatomic,assign) NSInteger itemId;
///奖励id
@property (nonatomic,assign) NSInteger rewardId;
///奖励的名称
@property (nonatomic,copy) NSString *rewardName;
///奖励的个数
@property (nonatomic,assign) NSInteger rewardNum;
///奖励的图片
@property (nonatomic,copy) NSString *rewardPicUrl;
///奖励的价值
@property (nonatomic,assign) NSInteger rewardShowValue;
///奖励的单位
@property (nonatomic,assign) NSInteger rewardUnit;
///类型
@property (nonatomic,assign) TreasureFairyStoreType level;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// TreasureFairyRewardModel.m
// xplan-ios
//
// Created by on 2023/2/28.
//
#import "TreasureFairyRewardModel.h"
@implementation TreasureFairyRewardModel
@end

View File

@@ -1,34 +0,0 @@
//
// TreasureFairySendRecordModel.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/23.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, TreasureFairySendRecordType) {
///赠与
TreasureFairySendRecordModel_Send = 2,
///获赠
TreasureFairySendRecordModel_Receive =3,
};
@interface TreasureFairySendRecordModel : PIBaseModel
///时间戳
@property (nonatomic,copy) NSString *createTime;
///图片
@property (nonatomic,copy) NSString *elfPicUrl;
///头像
@property (nonatomic,copy) NSString *targetAvatar;
///昵称
@property (nonatomic,copy) NSString *targetNick;
///类型
@property (nonatomic,assign) TreasureFairySendRecordType type;
///精灵名称
@property (nonatomic,copy) NSString *elfName;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// TreasureFairySendRecordModel.m
// xplan-ios
//
// Created by on 2023/2/23.
//
#import "TreasureFairySendRecordModel.h"
@implementation TreasureFairySendRecordModel
@end

View File

@@ -1,25 +0,0 @@
//
// TreasureFairyTrialsRecordModel.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/27.
//
#import <Foundation/Foundation.h>
#import "TreasureFairyInfoModel.h"
#import "TreasureFairyBallInfoModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface TreasureFairyTrialsRecordModel : PIBaseModel
///精灵等级
@property (nonatomic,assign) TreasureFairyStoreType compoundLevel;
///创建的时间
@property (nonatomic,copy) NSString *createTime;
///奖励的名称
@property (nonatomic,copy) NSString *elfName;
///合成的元素
@property (nonatomic,strong) NSArray<TreasureFairyBallModel *> *expendList;
@property(nonatomic, assign) NSInteger type;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,16 +0,0 @@
//
// TreasureFairyTrialsRecordModel.m
// xplan-ios
//
// Created by on 2023/2/27.
//
#import "TreasureFairyTrialsRecordModel.h"
@implementation TreasureFairyTrialsRecordModel
+ (NSDictionary *)objectClassInArray {
return @{
@"expendList":TreasureFairyBallModel.class
};
}
@end

View File

@@ -1,25 +0,0 @@
//
// TreasureFairyUserInfoModel.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/21.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface TreasureFairyUserInfoModel : PIBaseModel
///奖励的名称
@property (nonatomic,copy) NSString *avatar;
///奖励的名称
@property (nonatomic,copy) NSString *nick;
///高级精灵球个数
@property (nonatomic,assign) NSInteger highBallNum;
///初级精灵球个数
@property (nonatomic,assign) NSInteger lowBallNum;
///中级精灵球个数
@property (nonatomic,assign) NSInteger middleBallNum;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// TreasureFairyUserInfoModel.m
// xplan-ios
//
// Created by on 2023/2/21.
//
#import "TreasureFairyUserInfoModel.h"
@implementation TreasureFairyUserInfoModel
@end

View File

@@ -1,23 +0,0 @@
//
// TreasureFailyPresenter.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/15.
//
#import "BaseMvpPresenter.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPTreasureFailyPresenter : BaseMvpPresenter
///获取夺宝信息
- (void)getTreasureFailyInfo;
///夺宝奖励列表
- (void)getTreasureFailyDrawList;
///开始夺宝
- (void)drawTreasureFaily:(NSString *)roomUid drawNum:(NSInteger)drawNum;
///购买精灵碎片
-(void)buyElfShardWithNum:(NSString *)num;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,50 +0,0 @@
//
// TreasureFailyPresenter.m
// xplan-ios
//
// Created by on 2023/2/15.
//
#import "XPTreasureFailyPresenter.h"
#import "Api+TreasureFairy.h"
#import "TreasureFailyKeyInfoModel.h"
#import "TreasureFairyInfoModel.h"
#import "XPTreasureFailyProtocol.h"
@implementation XPTreasureFailyPresenter
///
- (void)getTreasureFailyInfo {
[Api treasureFailyDrawInfo:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
TreasureFailyKeyInfoModel * info = [TreasureFailyKeyInfoModel modelWithDictionary:data.data];
[[self getView] getTreasureFailyInfoSuccess:info];
}]];
}
///
- (void)getTreasureFailyDrawList {
[Api treasureFailyDrawList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray * array = [TreasureFairyInfoModel modelsWithArray:data.data];
[[self getView] getTreasureFailyDrawListSuccess:array];
}]];
}
///
- (void)drawTreasureFaily:(NSString *)roomUid drawNum:(NSInteger)drawNum {
NSString * drawStr = [NSString stringWithFormat:@"%ld", drawNum];
[Api treasureFailyDraw:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray * array = [TreasureFairyInfoModel modelsWithArray:data.data];
[[self getView] drawTreasureFailySuccess:array];
} fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView] drawTreasureFailyFail:code num:drawStr];
}] roomUid:roomUid drawNum:drawStr];
}
///
-(void)buyElfShardWithNum:(NSString *)num{
NSString *uid = [AccountInfoStorage instance].getUid;
[Api buyElfShard:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[[self getView]buyElfShardSuccessWithNum:num];
} fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView]buyElfShardFail];
}showLoading:YES] num:num uid:uid];
}
@end

View File

@@ -1,29 +0,0 @@
//
// XPTreasureFailyProtocol.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/15.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFailyKeyInfoModel;
@protocol XPTreasureFailyProtocol <NSObject>
///获取夺宝精灵用户信息成功
- (void)getTreasureFailyInfoSuccess:(TreasureFailyKeyInfoModel *)info;
///夺宝精灵奖励列表
- (void)getTreasureFailyDrawListSuccess:(NSArray *)list;
///夺宝精灵 开始夺宝
- (void)drawTreasureFailySuccess:(NSArray *)array;
- (void)drawTreasureFailyFail:(NSInteger)code num:(NSString *)num;
///购买精灵碎片成功
-(void)buyElfShardSuccessWithNum:(NSString *)num;
///购买精灵碎片失败
-(void)buyElfShardFail;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,17 +0,0 @@
//
// XPTreasureFailyResultGiftView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/16.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFairyInfoModel;
@interface XPTreasureFailyResultGiftCell : UICollectionViewCell
///奖励信息
@property (nonatomic,strong) TreasureFairyInfoModel *prizeInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,121 +0,0 @@
//
// XPTreasureFailyResultGiftView.m
// xplan-ios
//
// Created by on 2023/2/16.
//
#import "XPTreasureFailyResultGiftCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
///Model
#import "TreasureFairyInfoModel.h"
@interface XPTreasureFailyResultGiftCell ()
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) NetImageView *giftImageView;
///
@property (nonatomic,strong) UIButton *countButton;
///
@property (nonatomic,strong) UILabel *nameLabel;
@end
@implementation XPTreasureFailyResultGiftCell
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:self.backImageView];
[self.contentView addSubview:self.nameLabel];
[self.backImageView addSubview:self.giftImageView];
[self.backImageView addSubview:self.countButton];
}
- (void)initSubViewConstraints {
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.top.mas_equalTo(self);
make.height.mas_equalTo(self.backImageView.mas_width);
}];
[self.giftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.backImageView).inset(10);
}];
[self.countButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(29.5, 30.5));
make.bottom.trailing.mas_equalTo(self.backImageView);
}];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self);
make.top.mas_equalTo(self.backImageView.mas_bottom).offset(7);
}];
}
#pragma mark - Getters And Setters
- (void)setPrizeInfo:(TreasureFairyInfoModel *)prizeInfo {
_prizeInfo = prizeInfo;
if (_prizeInfo) {
self.giftImageView.imageUrl = prizeInfo.rewardPicUrl;
[self.countButton setTitle:[NSString stringWithFormat:@"%ld", _prizeInfo.rewardNum] forState:UIControlStateNormal];
self.nameLabel.text = _prizeInfo.rewardName;
}
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_treasure_faily_result_gift_bg"];
}
return _backImageView;
}
- (NetImageView *)giftImageView {
if (!_giftImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_giftImageView = [[NetImageView alloc] initWithConfig:config];
_giftImageView.layer.masksToBounds = YES;
_giftImageView.contentMode = UIViewContentModeScaleAspectFill;
}
return _giftImageView;
}
- (UIButton *)countButton {
if (!_countButton) {
_countButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_countButton setTitleColor:[DJDKMIMOMColor colorWithHexString:@"#1F5764"] forState:UIControlStateNormal];
_countButton.titleLabel.font = [UIFont systemFontOfSize:10];
[_countButton setBackgroundImage:[UIImage imageNamed:@"room_treasure_fairy_result_coung_bg"] forState:UIControlStateNormal];
}
return _countButton;
}
- (UILabel *)nameLabel {
if (!_nameLabel) {
_nameLabel = [[UILabel alloc] init];
_nameLabel.font = [UIFont systemFontOfSize:13];
_nameLabel.textAlignment = NSTextAlignmentCenter;
_nameLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#FFE8AA"];
}
return _nameLabel;
}
@end

View File

@@ -1,16 +0,0 @@
//
// XPTreasureFairyFriendCell.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/23.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class UserInfoModel;
@interface XPTreasureFairyFriendCell : UITableViewCell
@property (nonatomic,strong) UserInfoModel *userInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,122 +0,0 @@
//
// XPTreasureFairyFriendCell.m
// xplan-ios
//
// Created by on 2023/2/23.
//
#import "XPTreasureFairyFriendCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
///Model
#import "UserInfoModel.h"
@interface XPTreasureFairyFriendCell ()
///
@property (nonatomic,strong) UIView *backView;
///
@property (nonatomic,strong) NetImageView *avatarImageView;
///
@property (nonatomic,strong) UILabel *nickLabel;
///
@property (nonatomic,strong) UILabel *signLabel;
@end
@implementation XPTreasureFairyFriendCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.backView];
[self.backView addSubview:self.avatarImageView];
[self.backView addSubview:self.nickLabel];
[self.backView addSubview:self.signLabel];
}
- (void)initSubViewConstraints {
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.contentView).inset(15);
make.top.mas_equalTo(self.contentView);
make.height.mas_equalTo(55);
}];
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(49, 49));
make.leading.mas_equalTo(self.backView).offset(12);
make.centerY.mas_equalTo(self.backView);
}];
[self.nickLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.avatarImageView.mas_trailing).offset(8);
make.trailing.mas_lessThanOrEqualTo(self.backView).offset(-5);
make.bottom.mas_equalTo(self.avatarImageView.mas_centerY).offset(-3);
}];
[self.signLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.nickLabel);
make.top.mas_equalTo(self.nickLabel.mas_bottom).offset(3);
}];
}
#pragma mark - Getters And Setters
- (void)setUserInfo:(UserInfoModel *)userInfo {
_userInfo = userInfo;
if (_userInfo) {
self.avatarImageView.imageUrl = _userInfo.avatar;
self.nickLabel.text = _userInfo.nick;
self.signLabel.text = _userInfo.userDesc.length > 0 ? _userInfo.userDesc : YMLocalizedString(@"XPTreasureFairyFriendCell0");
}
}
- (UIView *)backView {
if (!_backView) {
_backView = [[UIView alloc] init];
_backView.backgroundColor = [DJDKMIMOMColor colorWithHexString:@"#00A69D"];
_backView.layer.cornerRadius = 4;
_backView.layer.masksToBounds = YES;
}
return _backView;
}
- (NetImageView *)avatarImageView {
if (!_avatarImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_avatarImageView = [[NetImageView alloc] initWithConfig:config];
_avatarImageView.layer.masksToBounds = YES;
_avatarImageView.layer.cornerRadius = 49/2;
_avatarImageView.layer.borderWidth = 0.5;
_avatarImageView.layer.borderColor = [DJDKMIMOMColor colorWithHexString:@"#FFE8AA"].CGColor;
}
return _avatarImageView;
}
- (UILabel *)nickLabel {
if (!_nickLabel) {
_nickLabel = [[UILabel alloc] init];
_nickLabel.font = [UIFont systemFontOfSize:14];
_nickLabel.textColor = [UIColor whiteColor];
}
return _nickLabel;
}
- (UILabel *)signLabel {
if (!_signLabel) {
_signLabel = [[UILabel alloc] init];
_signLabel.font = [UIFont systemFontOfSize:12];
_signLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#59FDFF"];
}
return _signLabel;
}
@end

View File

@@ -1,28 +0,0 @@
//
// XPTreasureFairyNewSummonCell.h
// YuMi
//
// Created by duoban on 2023/9/6.
//
#import <UIKit/UIKit.h>
#import "TreasureFairyFragmentModel.h"
NS_ASSUME_NONNULL_BEGIN
@protocol XPTreasureFairyNewSummonCellDelegate <NSObject>
/// 兑换事件
- (void)treasureFairyShopingExchangeAction:(TreasureFairyFragmentModel *)fragmentModel;
@end
@interface XPTreasureFairyNewSummonCell : UICollectionViewCell
@property (nonatomic, strong) TreasureFairyFragmentModel *fragmemtModel;
@property (nonatomic, weak) id<XPTreasureFairyNewSummonCellDelegate> delegate;
@end
@interface XPTreasureFairyNewSummonPriceView : UIView
@property(nonatomic,copy) NSString *imageIcon;
@property(nonatomic,copy) NSString *text;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,315 +0,0 @@
//
// XPTreasureFairyNewSummonCell.m
// YuMi
//
// Created by duoban on 2023/9/6.
//
#import "XPTreasureFairyNewSummonCell.h"
@interface XPTreasureFairyNewSummonCell()
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UIImageView *ballBgImageView;
///
@property (nonatomic,strong) NetImageView *ballImaegView;
///
@property (nonatomic,strong) UILabel *nameLabel;
///
@property (nonatomic,strong) UIStackView *stackView;
///
@property (nonatomic,strong) XPTreasureFairyNewSummonPriceView *firstPieceView;
///
@property (nonatomic,strong) XPTreasureFairyNewSummonPriceView *secondPieceView;
///
@property (nonatomic,strong) XPTreasureFairyNewSummonPriceView *thirdPieceView;
///
@property (nonatomic,strong) UIButton *exchangeButton;
@end
@implementation XPTreasureFairyNewSummonCell
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
self.contentView.backgroundColor = UIColor.clearColor;
self.backgroundColor = UIColor.clearColor;
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self.contentView addSubview:self.backImageView];
[self.backImageView addSubview:self.ballImaegView];
[self.backImageView addSubview:self.nameLabel];
[self.backImageView addSubview:self.stackView];
[self.backImageView addSubview:self.exchangeButton];
[self.stackView addArrangedSubview:self.firstPieceView];
[self.stackView addArrangedSubview:self.secondPieceView];
[self.stackView addArrangedSubview:self.thirdPieceView];
}
- (void)initSubViewConstraints {
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.contentView);
}];
[self.ballImaegView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(74);
make.height.mas_equalTo(74);
make.centerX.mas_equalTo(self.backImageView);
make.top.mas_equalTo(60.0);
}];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(8);
make.trailing.mas_equalTo(-8);
make.height.mas_equalTo(12);
make.top.mas_equalTo(137.0);
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.nameLabel.mas_bottom).mas_offset(4);
make.centerX.mas_equalTo(self.backImageView);
make.height.mas_equalTo(34);
make.width.mas_equalTo(124);
}];
[self.firstPieceView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(40);
make.height.mas_equalTo(34);
}];
[self.secondPieceView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(40);
make.height.mas_equalTo(34);
}];
[self.thirdPieceView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(40);
make.height.mas_equalTo(34);
}];
[self.exchangeButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.backImageView);
make.top.equalTo(self.stackView.mas_bottom).mas_offset(4);
make.width.mas_equalTo(70);
make.height.mas_equalTo(23);
}];
}
- (void)layoutSubviews {
[super layoutSubviews];
self.ballImaegView.layer.cornerRadius = self.ballImaegView.bounds.size.width/2.0;
self.ballImaegView.clipsToBounds = YES;
}
- (void)setFragmemtModel:(TreasureFairyFragmentModel *)fragmemtModel {
_fragmemtModel = fragmemtModel;
NSString * utils = fragmemtModel.rewardUnit;
if ([fragmemtModel.rewardType isEqualToString:@"gift"]) {
utils = YMLocalizedString(@"XPTreasureFairyShopingExchangeCell0");
self.nameLabel.text = [NSString stringWithFormat:@"%@(%@%@)",fragmemtModel.rewardName, fragmemtModel.rewardShowValue, utils];
} else {
self.nameLabel.text = [NSString stringWithFormat:@"%@(%ld%@)",fragmemtModel.rewardName, fragmemtModel.rewardNum, utils];
}
[self.ballImaegView loadImageWithUrl:fragmemtModel.rewardPicUrl completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
self.ballImaegView.image = image;
CGFloat width = 60;
CGFloat height = 60;
if(image.size.width < image.size.height){
height = width * image.size.height / (image.size.width > 0 ? image.size.width : 1);
}else if (image.size.width > image.size.height){
width = height * image.size.width / (image.size.height > 0 ? image.size.height : 1);
}
dispatch_async(dispatch_get_main_queue(), ^{
[self.ballImaegView mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(width);
make.height.mas_equalTo(height);
}];
});
}];
// self.pieceCountLabel.text = [NSString stringWithFormat:@"%ld",fragmemtModel.expendNum];
NSArray *pieceViewList = @[_firstPieceView,_secondPieceView,_thirdPieceView];
int count = 0;
for (int i = 0 ; i < pieceViewList.count; i++) {
XPTreasureFairyNewSummonPriceView *priceView = pieceViewList[i];
if(i < _fragmemtModel.propItems.count){
priceView.hidden = NO;
TreasureFairyFragmentItemModel *itemModel = _fragmemtModel.propItems[i];
priceView.imageIcon = itemModel.picUrl;
priceView.text = [NSString stringWithFormat:@"%@x%@",itemModel.propName,itemModel.propNum];
}else{
priceView.hidden = YES;
count = count + 1;
}
}
CGFloat width = 124 - count * 40;
[self.stackView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.nameLabel.mas_bottom).mas_offset(4);
make.centerX.mas_equalTo(self.backImageView);
make.height.mas_equalTo(34);
make.width.mas_equalTo(width);
}];
[self.exchangeButton setTitle:YMLocalizedString(@"XPTreasureFairyShopingExchangeCell1") forState:UIControlStateNormal];
}
#pragma mark - Action
- (void)exchangeBtnAction {
if (self.delegate && [self.delegate respondsToSelector:@selector(treasureFairyShopingExchangeAction:)]) {
[self.delegate treasureFairyShopingExchangeAction:self.fragmemtModel];
}
}
#pragma mark - Getters And Setters
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.image = [UIImage imageNamed:@"room_treasure_fairy_shop_new_exchange_bg"];
_backImageView.userInteractionEnabled = YES;
}
return _backImageView;
}
- (NetImageView *)ballImaegView {
if (!_ballImaegView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_ballImaegView = [[NetImageView alloc] initWithConfig:config];
// _ballImaegView.clipsToBounds = YES;
// _ballImaegView.contentMode = UIViewContentModeScaleAspectFill;
}
return _ballImaegView;
}
- (UILabel *)nameLabel {
if (!_nameLabel) {
_nameLabel = [[UILabel alloc] init];
_nameLabel.textColor = UIColor.whiteColor;
_nameLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular];
_nameLabel.textAlignment = NSTextAlignmentCenter;
}
return _nameLabel;
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisHorizontal;
_stackView.alignment = UIStackViewAlignmentFill;
_stackView.distribution = UIStackViewDistributionFill;
_stackView.spacing = 2;
}
return _stackView;
}
- (XPTreasureFairyNewSummonPriceView *)firstPieceView{
if(!_firstPieceView){
_firstPieceView = [[XPTreasureFairyNewSummonPriceView alloc]initWithFrame:CGRectZero];
_firstPieceView.hidden = YES;
_firstPieceView.tag = 101;
}
return _firstPieceView;
}
- (XPTreasureFairyNewSummonPriceView *)secondPieceView{
if(!_secondPieceView){
_secondPieceView = [[XPTreasureFairyNewSummonPriceView alloc]initWithFrame:CGRectZero];
_secondPieceView.hidden = YES;
_secondPieceView.tag = 102;
}
return _secondPieceView;
}
- (XPTreasureFairyNewSummonPriceView *)thirdPieceView{
if(!_thirdPieceView){
_thirdPieceView = [[XPTreasureFairyNewSummonPriceView alloc]initWithFrame:CGRectZero];
_thirdPieceView.hidden = YES;
_thirdPieceView.tag = 103;
}
return _thirdPieceView;
}
- (UIButton *)exchangeButton {
if (!_exchangeButton) {
_exchangeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_exchangeButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor colorWithHexString:@"#3AEAC7"], [DJDKMIMOMColor colorWithHexString:@"#FFFEBB"]] gradientType:GradientTypeTopToBottom imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal];
[_exchangeButton setTitleColor:[DJDKMIMOMColor colorWithHexString:@"#1F5764"] forState:UIControlStateNormal];
_exchangeButton.titleLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular];
_exchangeButton.layer.cornerRadius = 4;
_exchangeButton.clipsToBounds = YES;
[_exchangeButton addTarget:self action:@selector(exchangeBtnAction) forControlEvents:UIControlEventTouchUpInside];
}
return _exchangeButton;
}
@end
@interface XPTreasureFairyNewSummonPriceView()
///
@property(nonatomic,strong) NetImageView *iconView;
///
@property(nonatomic,strong) UILabel *priceView;
@end
@implementation XPTreasureFairyNewSummonPriceView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self addSubview:self.iconView];
[self addSubview:self.priceView];
}
-(void)installConstraints{
[self.iconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(25);
make.centerX.top.equalTo(self);
}];
[self.priceView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.iconView.mas_bottom).mas_offset(1);
make.leading.trailing.equalTo(self);
make.height.mas_equalTo(8);
}];
}
-(void)setImageIcon:(NSString *)imageIcon{
_imageIcon = imageIcon;
_iconView.imageUrl = _imageIcon;
}
-(void)setText:(NSString *)text{
_text = text;
_priceView.text = _text;
}
#pragma mark -
- (NetImageView *)iconView{
if(!_iconView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultEmptyPlaceholder];
_iconView = [[NetImageView alloc]initWithConfig:config];
}
return _iconView;
}
- (UILabel *)priceView{
if(!_priceView){
_priceView = [UILabel labelInitWithText:@"" font:[UIFont systemFontOfSize:8 weight:UIFontWeightRegular] textColor:[UIColor whiteColor]];
_priceView.textAlignment = NSTextAlignmentCenter;
}
return _priceView;
}
@end

View File

@@ -1,17 +0,0 @@
//
// XPTreasureFairyPrizePoolCell.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/21.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFairyInfoModel;
@interface XPTreasureFairyPrizePoolCell : UICollectionViewCell
@property (nonatomic,strong) TreasureFairyInfoModel *info;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,106 +0,0 @@
//
// XPTreasureFairyPrizePoolCell.m
// xplan-ios
//
// Created by on 2023/2/21.
//
#import "XPTreasureFairyPrizePoolCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
#import "UIImage+Utils.h"
#import "TreasureFairyInfoModel.h"
@interface XPTreasureFairyPrizePoolCell ()
///
@property (nonatomic,strong) NetImageView *giftImageView;
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UILabel *nameLabel;
@end
@implementation XPTreasureFairyPrizePoolCell
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:self.backImageView];
[self.contentView addSubview:self.giftImageView];
[self.contentView addSubview:self.nameLabel];
}
- (void)initSubViewConstraints {
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(94, 115));
make.centerX.mas_equalTo(self.contentView);
make.top.mas_equalTo(self.contentView);
}];
[self.giftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(65, 65));
make.centerX.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.backImageView).offset(18);
}];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView);
make.bottom.mas_equalTo(self.backImageView).offset(-8);
}];
}
#pragma mark - Getters And Setters
- (void)setInfo:(TreasureFairyInfoModel *)info {
_info = info;
if (_info) {
self.giftImageView.imageUrl = _info.rewardPicUrl;
self.nameLabel.text = _info.rewardName;
}
}
- (NetImageView *)giftImageView {
if (!_giftImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_giftImageView = [[NetImageView alloc] initWithConfig:config];
_giftImageView.layer.masksToBounds = YES;
_giftImageView.contentMode = UIViewContentModeScaleAspectFill;
}
return _giftImageView;
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_treasure_fairy_prize_pool_bg"];
}
return _backImageView;
}
- (UILabel *)nameLabel {
if (!_nameLabel) {
_nameLabel = [[UILabel alloc] init];
_nameLabel.font = [UIFont systemFontOfSize:15];
_nameLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#1F5764"];
_nameLabel.textAlignment = NSTextAlignmentCenter;
}
return _nameLabel;
}
@end

View File

@@ -1,23 +0,0 @@
//
// XPTreasureFairyPrizeRecordCell.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/21.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFairyInfoModel;
@interface XPTreasureFairyPrizeRecordCell : UITableViewCell
///礼物信息
@property (nonatomic,strong) TreasureFairyInfoModel *recordInfo;
///时间
@property (nonatomic,strong, readonly) UILabel *timeLabel;
///等级
@property (nonatomic,strong, readonly) UILabel *levelLabel;
///奖励
@property (nonatomic,strong, readonly) UILabel * prizeLabel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,134 +0,0 @@
//
// XPTreasureFairyPrizeRecordCell.m
// xplan-ios
//
// Created by on 2023/2/21.
//
#import "XPTreasureFairyPrizeRecordCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "PLTimeUtil.h"
///Model
#import "TreasureFairyInfoModel.h"
@interface XPTreasureFairyPrizeRecordCell ()
///
@property (nonatomic,strong) UIStackView *stackView;
///
@property (nonatomic,strong) UILabel *timeLabel;
///
@property (nonatomic,strong) UILabel *levelLabel;
///
@property (nonatomic,strong) UILabel * prizeLabel;
@end
@implementation XPTreasureFairyPrizeRecordCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.stackView];
[self.stackView addArrangedSubview:self.timeLabel];
[self.stackView addArrangedSubview:self.levelLabel];
[self.stackView addArrangedSubview:self.prizeLabel];
}
- (void)initSubViewConstraints {
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.contentView);
}];
}
- (NSString *)getDateWithHHMMSS:(NSString *)time {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"HH:mm:ss"];
NSDate* date = [NSDate dateWithTimeIntervalSince1970:[time doubleValue]/ 1000.0];
NSString* dateString = [formatter stringFromDate:date];
return dateString;
}
- (NSString *)getDateWithYYMM:(NSString *)time {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"yyyy:MM:dd"];
NSDate* date = [NSDate dateWithTimeIntervalSince1970:[time doubleValue]/ 1000.0];
NSString* dateString = [formatter stringFromDate:date];
return dateString;
}
#pragma mark - Getters And Setters
- (void)setRecordInfo:(TreasureFairyInfoModel *)recordInfo {
_recordInfo = recordInfo;
if (_recordInfo) {
NSString * time = [NSString stringWithFormat:@"%@\n%@", [self getDateWithYYMM:_recordInfo.drawTime], [self getDateWithHHMMSS:_recordInfo.drawTime]];
self.timeLabel.text = time;
if (_recordInfo.poolLevel == TreasureFairyStoreType_Normal) {
self.levelLabel.text = YMLocalizedString(@"XPTreasureFairyPrizeRecordCell0");
} else if (_recordInfo.poolLevel == TreasureFairyStoreType_Middle) {
self.levelLabel.text = YMLocalizedString(@"XPTreasureFairyPrizeRecordCell1");
} else {
self.levelLabel.text = YMLocalizedString(@"XPTreasureFairyPrizeRecordCell2");
}
self.prizeLabel.text = [NSString stringWithFormat:@"%@x%ld", _recordInfo.rewardName, _recordInfo.rewardNum];
}
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisHorizontal;
_stackView.distribution = UIStackViewDistributionFillEqually;
_stackView.alignment = UIStackViewAlignmentFill;
_stackView.spacing = 0;
}
return _stackView;
}
- (UILabel *)timeLabel {
if (!_timeLabel) {
_timeLabel = [[UILabel alloc] init];
_timeLabel.font = [UIFont systemFontOfSize:12];
_timeLabel.textColor = [UIColor whiteColor];
_timeLabel.numberOfLines = 0;
_timeLabel.textAlignment = NSTextAlignmentCenter;
}
return _timeLabel;
}
- (UILabel *)levelLabel {
if (!_levelLabel) {
_levelLabel = [[UILabel alloc] init];
_levelLabel.font = [UIFont systemFontOfSize:12];
_levelLabel.textColor = [UIColor whiteColor];
_levelLabel.textAlignment = NSTextAlignmentCenter;
}
return _levelLabel;
}
- (UILabel *)prizeLabel {
if (!_prizeLabel) {
_prizeLabel = [[UILabel alloc] init];
_prizeLabel.font = [UIFont systemFontOfSize:12];
_prizeLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#FEF8A8"];
_prizeLabel.textAlignment = NSTextAlignmentCenter;
}
return _prizeLabel;
}
@end

View File

@@ -1,16 +0,0 @@
//
// XPTreasureFairySendRecordCell.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/23.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFairySendRecordModel;
@interface XPTreasureFairySendRecordCell : UITableViewCell
@property (nonatomic,strong) TreasureFairySendRecordModel *recordInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,142 +0,0 @@
//
// XPTreasureFairySendRecordCell.m
// xplan-ios
//
// Created by on 2023/2/23.
//
#import "XPTreasureFairySendRecordCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
///Model
#import "TreasureFairySendRecordModel.h"
@interface XPTreasureFairySendRecordCell ()
///
@property (nonatomic,strong) UILabel *timeLabel;
///
@property (nonatomic,strong) UIView *backView;
///
@property (nonatomic,strong) NetImageView *avatarImageView;
///
@property (nonatomic,strong) UILabel *titleLabel;
@end
@implementation XPTreasureFairySendRecordCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.timeLabel];
[self.contentView addSubview:self.backView];
[self.backView addSubview:self.avatarImageView];
[self.backView addSubview:self.titleLabel];
}
- (void)initSubViewConstraints {
[self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.contentView).offset(20);
make.top.mas_equalTo(self.contentView);
}];
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.contentView).inset(20);
make.height.mas_equalTo(58);
make.top.mas_equalTo(self.timeLabel.mas_bottom).offset(8);
}];
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(42, 42));
make.leading.mas_equalTo(self.backView).offset(12);
make.centerY.mas_equalTo(self.backView);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.avatarImageView.mas_trailing).offset(9);
make.centerY.mas_equalTo(self.avatarImageView);
make.trailing.mas_lessThanOrEqualTo(self.backView).offset(-5);
}];
}
- (NSString *)getDateWithTotalTimeWith:(NSString *)time {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:YMLocalizedString(@"XPTreasureFairySendRecordCell0")];
NSDate* date = [NSDate dateWithTimeIntervalSince1970:[time doubleValue]/ 1000.0];
NSString* dateString = [formatter stringFromDate:date];
return dateString;
}
#pragma mark - Getters And Setters
- (void)setRecordInfo:(TreasureFairySendRecordModel *)recordInfo {
_recordInfo = recordInfo;
if (_recordInfo) {
self.timeLabel.text = [self getDateWithTotalTimeWith:_recordInfo.createTime];
self.avatarImageView.imageUrl = _recordInfo.elfPicUrl;
NSString * nick = self.recordInfo.targetNick;
if (_recordInfo.type == TreasureFairySendRecordModel_Send) {
self.titleLabel.text = [NSString stringWithFormat:YMLocalizedString(@"XPTreasureFairySendRecordCell1"),nick,self.recordInfo.elfName];
} else {
self.titleLabel.text = [NSString stringWithFormat:YMLocalizedString(@"XPTreasureFairySendRecordCell2"), nick,self.recordInfo.elfName];
}
}
}
- (UILabel *)timeLabel {
if (!_timeLabel) {
_timeLabel = [[UILabel alloc] init];
_timeLabel.font = [UIFont systemFontOfSize:12];
_timeLabel.textColor = [UIColor whiteColor];
}
return _timeLabel;
}
- (UIView *)backView {
if (!_backView) {
_backView = [[UIView alloc] init];
_backView.backgroundColor = [DJDKMIMOMColor colorWithHexString:@"#00A69D"];
_backView.layer.masksToBounds = YES;
_backView.layer.cornerRadius = 8;
}
return _backView;
}
- (NetImageView *)avatarImageView {
if (!_avatarImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_avatarImageView = [[NetImageView alloc] initWithConfig:config];
_avatarImageView.layer.masksToBounds = YES;
_avatarImageView.layer.cornerRadius = 4;
_avatarImageView.layer.borderColor = [DJDKMIMOMColor colorWithHexString:@"#FFE8AA"].CGColor;
_avatarImageView.layer.borderWidth = 0.5;
_avatarImageView.contentMode = UIViewContentModeScaleAspectFill;
}
return _avatarImageView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:12];
_titleLabel.textColor = [UIColor whiteColor];
_titleLabel.numberOfLines = 0;
}
return _titleLabel;
}
@end

View File

@@ -1,28 +0,0 @@
//
// XPTreasureFairyShopingExchangeCell.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/28.
//
#import <UIKit/UIKit.h>
@class TreasureFairyFragmentModel;
NS_ASSUME_NONNULL_BEGIN
@protocol XPTreasureFairyShopingExchangeCellDelegate <NSObject>
/// 兑换事件
- (void)treasureFairyShopingExchangeAction:(TreasureFairyFragmentModel *)fragmentModel;
@end
@interface XPTreasureFairyShopingExchangeCell : UICollectionViewCell
@property (nonatomic, strong) TreasureFairyFragmentModel *fragmemtModel;
@property (nonatomic, weak) id<XPTreasureFairyShopingExchangeCellDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,219 +0,0 @@
//
// XPTreasureFairyShopingExchangeCell.m
// xplan-ios
//
// Created by on 2023/2/28.
//
#import "XPTreasureFairyShopingExchangeCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
#import "UIImage+Utils.h"
///Model
#import "TreasureFairyFragmentModel.h"
@interface XPTreasureFairyShopingExchangeCell ()
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UIImageView *ballBgImageView;
///
@property (nonatomic,strong) NetImageView *ballImaegView;
///
@property (nonatomic,strong) UILabel *nameLabel;
///
@property (nonatomic,strong) UIStackView *stackView;
///便
@property (nonatomic,strong) UIImageView *pieceImageView;
///便
@property (nonatomic,strong) UILabel *pieceCountLabel;
///
@property (nonatomic,strong) UIButton *exchangeButton;
@end
@implementation XPTreasureFairyShopingExchangeCell
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
self.contentView.backgroundColor = UIColor.clearColor;
self.backgroundColor = UIColor.clearColor;
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self.contentView addSubview:self.backImageView];
[self.backImageView addSubview:self.ballImaegView];
[self.backImageView addSubview:self.nameLabel];
[self.backImageView addSubview:self.stackView];
[self.backImageView addSubview:self.exchangeButton];
[self.stackView addArrangedSubview:self.pieceImageView];
[self.stackView addArrangedSubview:self.pieceCountLabel];
}
- (void)initSubViewConstraints {
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.contentView);
}];
[self.ballImaegView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(70);
make.height.mas_equalTo(70);
make.centerX.mas_equalTo(self.backImageView);
make.top.mas_equalTo(55);
}];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(8);
make.trailing.mas_equalTo(-8);
make.bottom.mas_equalTo(self.stackView.mas_top).offset(-4);
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.exchangeButton.mas_top).offset(-7);
make.centerX.mas_equalTo(self.backImageView);
make.height.mas_equalTo(20);
}];
[self.pieceImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(self.stackView.mas_height);
}];
[self.exchangeButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.backImageView);
make.bottom.mas_equalTo(-26);
make.width.mas_equalTo(80);
make.height.mas_equalTo(25);
}];
}
- (void)layoutSubviews {
[super layoutSubviews];
self.ballImaegView.layer.cornerRadius = self.ballImaegView.bounds.size.width/2.0;
self.ballImaegView.clipsToBounds = YES;
}
- (void)setFragmemtModel:(TreasureFairyFragmentModel *)fragmemtModel {
_fragmemtModel = fragmemtModel;
NSString * utils = fragmemtModel.rewardUnit;
if ([fragmemtModel.rewardType isEqualToString:@"gift"]) {
utils = YMLocalizedString(@"XPTreasureFairyShopingExchangeCell0");
self.nameLabel.text = [NSString stringWithFormat:@"%@(%@%@)",fragmemtModel.rewardName, fragmemtModel.rewardShowValue, utils];
} else {
self.nameLabel.text = [NSString stringWithFormat:@"%@(%ld%@)",fragmemtModel.rewardName, fragmemtModel.rewardNum, utils];
}
[self.ballImaegView loadImageWithUrl:fragmemtModel.rewardPicUrl completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
self.ballImaegView.image = image;
// CGFloat width = 60;
// CGFloat height = 60;
// if(image.size.width < image.size.height){
// width = width * image.size.height / (image.size.width > 0 ? image.size.width : 1);
// }else if (image.size.width > image.size.height){
// height = height * image.size.width / (image.size.height > 0 ? image.size.height : 1);
// }
// dispatch_async(dispatch_get_main_queue(), ^{
// [self.ballImaegView mas_remakeConstraints:^(MASConstraintMaker *make) {
// make.centerX.mas_equalTo(self.backImageView);
// make.top.mas_equalTo(59.0);
// make.width.mas_equalTo(width);
// make.height.mas_equalTo(height);
// }];
// });
}];
self.pieceCountLabel.text = [NSString stringWithFormat:@"%ld",fragmemtModel.expendNum];
[self.exchangeButton setTitle:YMLocalizedString(@"XPTreasureFairyShopingExchangeCell1") forState:UIControlStateNormal];
}
#pragma mark - Action
- (void)exchangeBtnAction {
if (self.delegate && [self.delegate respondsToSelector:@selector(treasureFairyShopingExchangeAction:)]) {
[self.delegate treasureFairyShopingExchangeAction:self.fragmemtModel];
}
}
#pragma mark - Getters And Setters
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.image = [UIImage imageNamed:@"room_treasure_fairy_shop_exchange_bg"];
_backImageView.userInteractionEnabled = YES;
}
return _backImageView;
}
- (NetImageView *)ballImaegView {
if (!_ballImaegView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_ballImaegView = [[NetImageView alloc] initWithConfig:config];
_ballImaegView.contentMode = UIViewContentModeScaleAspectFit;
}
return _ballImaegView;
}
- (UILabel *)nameLabel {
if (!_nameLabel) {
_nameLabel = [[UILabel alloc] init];
_nameLabel.textColor = UIColor.whiteColor;
_nameLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular];
_nameLabel.textAlignment = NSTextAlignmentCenter;
}
return _nameLabel;
}
- (UIImageView *)pieceImageView {
if (!_pieceImageView) {
_pieceImageView = [[UIImageView alloc] init];
_pieceImageView.contentMode = UIViewContentModeScaleAspectFit;
_pieceImageView.image = [UIImage imageNamed:@"room_treasure_fairy_shop_fragment"];
}
return _pieceImageView;
}
- (UILabel *)pieceCountLabel {
if (!_pieceCountLabel) {
_pieceCountLabel = [[UILabel alloc] init];
_pieceCountLabel.textColor = UIColor.whiteColor;
_pieceCountLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular];
_pieceCountLabel.textAlignment = NSTextAlignmentCenter;
}
return _pieceCountLabel;
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisHorizontal;
_stackView.alignment = UIStackViewAlignmentFill;
_stackView.distribution = UIStackViewDistributionFill;
_stackView.spacing = 4;
}
return _stackView;
}
- (UIButton *)exchangeButton {
if (!_exchangeButton) {
_exchangeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_exchangeButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor colorWithHexString:@"#3AEAC7"], [DJDKMIMOMColor colorWithHexString:@"#FFFEBB"]] gradientType:GradientTypeTopToBottom imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal];
[_exchangeButton setTitleColor:[DJDKMIMOMColor colorWithHexString:@"#1F5764"] forState:UIControlStateNormal];
_exchangeButton.titleLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular];
_exchangeButton.layer.cornerRadius = 4;
_exchangeButton.clipsToBounds = YES;
[_exchangeButton addTarget:self action:@selector(exchangeBtnAction) forControlEvents:UIControlEventTouchUpInside];
}
return _exchangeButton;
}
@end

View File

@@ -1,28 +0,0 @@
//
// XPTreasureFairyShopingRecordCell.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/27.
//
#import <UIKit/UIKit.h>
@class TreasureFairyConvertRecordModel;
NS_ASSUME_NONNULL_BEGIN
@interface XPTreasureFairyShopingRecordCell : UITableViewCell
///是否是召唤
@property (nonatomic,assign) BOOL isSummon;
///时间
@property (nonatomic,strong, readonly) UILabel *timeLabel;
///等级
@property (nonatomic,strong, readonly) UILabel *levelLabel;
///奖励
@property (nonatomic,strong, readonly) UILabel * prizeLabel;
///记录模型
@property (nonatomic, strong) TreasureFairyConvertRecordModel *recordModel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,161 +0,0 @@
//
// XPTreasureFairyShopingRecordCell.m
// xplan-ios
//
// Created by on 2023/2/27.
//
#import "XPTreasureFairyShopingRecordCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "PLTimeUtil.h"
///Model
#import "TreasureFairyConvertRecordModel.h"
@interface XPTreasureFairyShopingRecordCell ()
///
@property (nonatomic,strong) UIStackView *stackView;
///
@property (nonatomic,strong) UILabel *timeLabel;
///
@property (nonatomic,strong) UILabel *levelLabel;
///
@property (nonatomic,strong) UILabel * prizeLabel;
@end
@implementation XPTreasureFairyShopingRecordCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.stackView];
[self.stackView addArrangedSubview:self.timeLabel];
[self.stackView addArrangedSubview:self.levelLabel];
[self.stackView addArrangedSubview:self.prizeLabel];
}
- (void)initSubViewConstraints {
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.contentView);
}];
}
- (NSString *)getDateWithHHMMSS:(NSString *)time {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"HH:mm:ss"];
NSDate* date = [NSDate dateWithTimeIntervalSince1970:[time doubleValue]/ 1000.0];
NSString* dateString = [formatter stringFromDate:date];
return dateString;
}
- (NSString *)getDateWithYYMM:(NSString *)time {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"yyyy:MM:dd"];
NSDate* date = [NSDate dateWithTimeIntervalSince1970:[time doubleValue]/ 1000.0];
NSString* dateString = [formatter stringFromDate:date];
return dateString;
}
#pragma mark - Getters And Setters
- (void)setRecordModel:(TreasureFairyConvertRecordModel *)recordModel {
_recordModel = recordModel;
if (_recordModel != nil) {
NSString * time = [NSString stringWithFormat:@"%@\n%@", [self getDateWithYYMM:recordModel.createTime], [self getDateWithHHMMSS:recordModel.createTime]];
self.timeLabel.text = time;
if (self.isSummon) {
NSString *level = @"";
if (recordModel.convertLevel == 1) {
level = YMLocalizedString(@"XPTreasureFairyShopingRecordCell0");
}else if (recordModel.convertLevel == 2) {
level = YMLocalizedString(@"XPTreasureFairyShopingRecordCell1");
}else if (recordModel.convertLevel == 3) {
level = YMLocalizedString(@"XPTreasureFairyShopingRecordCell2");
}else if (recordModel.convertLevel == 5){
level = YMLocalizedString(@"XPTreasureFairyShopingRecordCell2");
}
self.levelLabel.text = level;
self.prizeLabel.text = [NSString stringWithFormat:@"%@x%@",recordModel.rewardName, recordModel.rewardNum];
}else{
NSString *string1 = [NSString stringWithFormat:@"%@x%@\n",recordModel.rewardName, recordModel.rewardNum];
NSString *string2 = [NSString stringWithFormat:YMLocalizedString(@"XPTreasureFairyShopingRecordCell3"), recordModel.rewardShowValue];
NSString *string = [NSString stringWithFormat:@"%@%@",string1, string2];
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:string];
NSRange range = NSMakeRange(string.length-string2.length, string2.length);
[attrStr addAttribute:NSForegroundColorAttributeName value:UIColor.whiteColor range:range];
[attrStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:11] range:range];
self.prizeLabel.attributedText = attrStr;
}
}
}
- (void)setIsSummon:(BOOL)isSummon {
_isSummon = isSummon;
// if (_isSummon) {
// self.levelLabel.hidden = NO;
// } else {
// self.levelLabel.hidden = YES;
// }
self.levelLabel.hidden = YES;
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisHorizontal;
_stackView.distribution = UIStackViewDistributionFillEqually;
_stackView.alignment = UIStackViewAlignmentFill;
_stackView.spacing = 0;
}
return _stackView;
}
- (UILabel *)timeLabel {
if (!_timeLabel) {
_timeLabel = [[UILabel alloc] init];
_timeLabel.font = [UIFont systemFontOfSize:12];
_timeLabel.textColor = [UIColor whiteColor];
_timeLabel.numberOfLines = 0;
_timeLabel.textAlignment = NSTextAlignmentCenter;
}
return _timeLabel;
}
- (UILabel *)levelLabel {
if (!_levelLabel) {
_levelLabel = [[UILabel alloc] init];
_levelLabel.font = [UIFont systemFontOfSize:12];
_levelLabel.textColor = [UIColor whiteColor];
_levelLabel.textAlignment = NSTextAlignmentCenter;
}
return _levelLabel;
}
- (UILabel *)prizeLabel {
if (!_prizeLabel) {
_prizeLabel = [[UILabel alloc] init];
_prizeLabel.font = [UIFont systemFontOfSize:12];
_prizeLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#FEF8A8"];
_prizeLabel.textAlignment = NSTextAlignmentCenter;
_prizeLabel.numberOfLines = 0;
}
return _prizeLabel;
}
@end

View File

@@ -1,20 +0,0 @@
//
// XPTreasureFairyStoreResultCell.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/20.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFairyInfoModel, TreasureFairyBallModel;
@interface XPTreasureFairyStoreResultCell : UICollectionViewCell
///奖励信息
@property (nonatomic,strong) TreasureFairyInfoModel *prizeInfo;
///试炼精灵球信息
@property (nonatomic,strong) TreasureFairyBallModel *ballInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,121 +0,0 @@
//
// XPTreasureFairyStoreResultCell.m
// xplan-ios
//
// Created by on 2023/2/20.
//
#import "XPTreasureFairyStoreResultCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
#import "UIImage+Utils.h"
///Model
#import "TreasureFairyInfoModel.h"
#import "TreasureFairyBallInfoModel.h"
@interface XPTreasureFairyStoreResultCell ()
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) NetImageView *giftImageView;
///
@property (nonatomic,strong) UILabel *nameLabel;
@end
@implementation XPTreasureFairyStoreResultCell
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:self.backImageView];
[self.contentView addSubview:self.nameLabel];
[self.contentView addSubview:self.giftImageView];
}
- (void)initSubViewConstraints {
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.top.mas_equalTo(self);
make.height.mas_equalTo(self.backImageView.mas_width);
}];
[self.giftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.backImageView).inset(10);
}];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self);
make.top.mas_equalTo(self.backImageView.mas_bottom).offset(7);
}];
}
#pragma mark - Getters And Setters
- (void)setPrizeInfo:(TreasureFairyInfoModel *)prizeInfo {
_prizeInfo = prizeInfo;
if (_prizeInfo) {
if(_prizeInfo.propType == TreasureFairyPropType_Salvage){
self.giftImageView.image = kImage(@"room_treasure_fairy_buy_elf_icon");
self.nameLabel.text =[NSString stringWithFormat:@"x%ld", _prizeInfo.rewardNum];
_backImageView.hidden = YES;
return;
}
_backImageView.hidden = NO;
self.giftImageView.imageUrl = prizeInfo.rewardPicUrl;
self.nameLabel.text =[NSString stringWithFormat:@"%@x%ld", _prizeInfo.rewardName, _prizeInfo.rewardNum];
}
}
- (void)setBallInfo:(TreasureFairyBallModel *)ballInfo{
_ballInfo = ballInfo;
if (_ballInfo) {
self.giftImageView.imageUrl = _ballInfo.elfPicUrl;
self.nameLabel.text =[NSString stringWithFormat:@"%@", _ballInfo.elfName];
}
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor colorWithHexString:@"#00B9AF"], [DJDKMIMOMColor colorWithHexString:@"#006E7C"]] gradientType:GradientTypeTopToBottom imgSize:CGSizeMake(10, 10)];
_backImageView.layer.masksToBounds = YES;
_backImageView.layer.borderWidth = 0.5;
_backImageView.layer.cornerRadius = 45;
_backImageView.layer.borderColor = [DJDKMIMOMColor colorWithHexString:@"#F4FFC3"].CGColor;
}
return _backImageView;
}
- (NetImageView *)giftImageView {
if (!_giftImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_giftImageView = [[NetImageView alloc] initWithConfig:config];
_giftImageView.layer.masksToBounds = YES;
_giftImageView.contentMode = UIViewContentModeScaleAspectFill;
}
return _giftImageView;
}
- (UILabel *)nameLabel {
if (!_nameLabel) {
_nameLabel = [[UILabel alloc] init];
_nameLabel.font = [UIFont systemFontOfSize:12];
_nameLabel.textAlignment = NSTextAlignmentCenter;
_nameLabel.textColor = [UIColor whiteColor];
}
return _nameLabel;
}
@end

View File

@@ -1,25 +0,0 @@
//
// XPTreasureFairyTrialsRecordCell.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/27.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFairyTrialsRecordModel;
@interface XPTreasureFairyTrialsRecordCell : UITableViewCell
@property (nonatomic,strong) TreasureFairyTrialsRecordModel *recordInfo;
///时间
@property (nonatomic,strong, readonly) UILabel *timeLabel;
///等级
@property (nonatomic,strong, readonly) UILabel *levelLabel;
///奖励
@property (nonatomic,strong, readonly) UILabel * prizeLabel;
///投入的
@property (nonatomic,strong, readonly) UILabel *trialsLabel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,161 +0,0 @@
//
// XPTreasureFairyTrialsRecordCell.m
// xplan-ios
//
// Created by on 2023/2/27.
//
#import "XPTreasureFairyTrialsRecordCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "PLTimeUtil.h"
#import "NSArray+Safe.h"
///Model
#import "TreasureFairyTrialsRecordModel.h"
@interface XPTreasureFairyTrialsRecordCell ()
///
@property (nonatomic,strong) UIStackView *stackView;
///
@property (nonatomic,strong) UILabel *timeLabel;
///
@property (nonatomic,strong) UILabel *levelLabel;
///
@property (nonatomic,strong) UILabel *trialsLabel;
///
@property (nonatomic,strong) UILabel * prizeLabel;
@end
@implementation XPTreasureFairyTrialsRecordCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.stackView];
[self.stackView addArrangedSubview:self.timeLabel];
[self.stackView addArrangedSubview:self.levelLabel];
[self.stackView addArrangedSubview:self.trialsLabel];
[self.stackView addArrangedSubview:self.prizeLabel];
}
- (void)initSubViewConstraints {
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.leading.bottom.equalTo(self.contentView);
make.trailing.mas_equalTo(-5);
}];
}
- (NSString *)getDateWithHHMMSS:(NSString *)time {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"HH:mm:ss"];
NSDate* date = [NSDate dateWithTimeIntervalSince1970:[time doubleValue]/ 1000.0];
NSString* dateString = [formatter stringFromDate:date];
return dateString;
}
- (NSString *)getDateWithYYMM:(NSString *)time {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"yyyy:MM:dd"];
NSDate* date = [NSDate dateWithTimeIntervalSince1970:[time doubleValue]/ 1000.0];
NSString* dateString = [formatter stringFromDate:date];
return dateString;
}
#pragma mark - Getters And Setters
- (void)setRecordInfo:(TreasureFairyTrialsRecordModel *)recordInfo {
_recordInfo = recordInfo;
if (_recordInfo) {
NSString * time = [NSString stringWithFormat:@"%@\n%@", [self getDateWithYYMM:_recordInfo.createTime], [self getDateWithHHMMSS:_recordInfo.createTime]];
self.timeLabel.text = time;
if (_recordInfo.type == TreasureFairyStoreType_Salvage) {
self.levelLabel.text = YMLocalizedString(@"XPTreasureFairyTrialsRecordCell1");
} else {
self.levelLabel.text = YMLocalizedString(@"XPTreasureFairyTrialsRecordCell0");
}
NSMutableString * trilasTitle = [[NSMutableString alloc] init];
for (int i = 0; i < _recordInfo.expendList.count; i++) {
TreasureFairyBallModel * ballInfo = [_recordInfo.expendList xpSafeObjectAtIndex:i];
if (ballInfo.elfName.length > 0) {
[trilasTitle appendString:[NSString stringWithFormat:@"%@x%ld", ballInfo.elfName, ballInfo.elfNum]];
}
if (i <( _recordInfo.expendList.count -1)){
[trilasTitle appendString:@"\n"];
}
}
self.trialsLabel.text = trilasTitle;
self.prizeLabel.text = _recordInfo.elfName;
}
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisHorizontal;
_stackView.distribution = UIStackViewDistributionFillEqually;
_stackView.alignment = UIStackViewAlignmentFill;
_stackView.spacing = 0;
}
return _stackView;
}
- (UILabel *)timeLabel {
if (!_timeLabel) {
_timeLabel = [[UILabel alloc] init];
_timeLabel.font = [UIFont systemFontOfSize:12];
_timeLabel.textColor = [UIColor whiteColor];
_timeLabel.numberOfLines = 0;
_timeLabel.textAlignment = NSTextAlignmentCenter;
}
return _timeLabel;
}
- (UILabel *)levelLabel {
if (!_levelLabel) {
_levelLabel = [[UILabel alloc] init];
_levelLabel.font = [UIFont systemFontOfSize:12];
_levelLabel.textColor = [UIColor whiteColor];
_levelLabel.textAlignment = NSTextAlignmentCenter;
}
return _levelLabel;
}
- (UILabel *)trialsLabel {
if (!_trialsLabel) {
_trialsLabel = [[UILabel alloc] init];
_trialsLabel.font = [UIFont systemFontOfSize:12];
_trialsLabel.textColor = [UIColor whiteColor];
_trialsLabel.textAlignment = NSTextAlignmentCenter;
_trialsLabel.numberOfLines = 4;
}
return _trialsLabel;
}
- (UILabel *)prizeLabel {
if (!_prizeLabel) {
_prizeLabel = [[UILabel alloc] init];
_prizeLabel.font = [UIFont systemFontOfSize:12];
_prizeLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#FEF8A8"];
_prizeLabel.textAlignment = NSTextAlignmentCenter;
_prizeLabel.numberOfLines = 0;
}
return _prizeLabel;
}
@end

View File

@@ -1,25 +0,0 @@
//
// PITreasureFairyBuyElfShardInputNumView.h
// YuMi
//
// Created by duoban on 2023/9/7.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@protocol PITreasureFairyBuyElfShardInputNumViewDelegate <NSObject>
-(void)inputShardNum:(NSString *)num;
@end
@interface PITreasureFairyBuyElfShardInputNumView : UIView
@property(nonatomic,copy) NSString *text;
@property(nonatomic,weak) id<PITreasureFairyBuyElfShardInputNumViewDelegate>delegate;
///精灵碎片数量
@property(nonatomic,copy) NSString *shardNum;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,164 +0,0 @@
//
// PITreasureFairyBuyElfShardInputNumView.m
// YuMi
//
// Created by duoban on 2023/9/7.
//
#import "PITreasureFairyBuyElfShardInputNumView.h"
@interface PITreasureFairyBuyElfShardInputNumView()<UITextFieldDelegate>
///
@property(nonatomic,strong) UIButton *addBtn;
///
@property(nonatomic,strong) UIButton *subtractBtn;
///
@property(nonatomic,strong) UIView *bgView;
///
@property(nonatomic,strong) MSBaseTextField *textFiled;
@end
@implementation PITreasureFairyBuyElfShardInputNumView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self addSubview:self.bgView];
[self addSubview:self.subtractBtn];
[self addSubview:self.addBtn];
[self.bgView addSubview:self.textFiled];
}
-(void)installConstraints{
[self.subtractBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(51);
make.height.mas_equalTo(29);
make.leading.top.equalTo(self);
}];
[self.addBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.top.equalTo(self);
make.width.mas_equalTo(51);
make.height.mas_equalTo(29);
}];
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.equalTo(self).inset(15);
make.bottom.top.equalTo(self);
}];
[self.textFiled mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(51);
make.trailing.mas_equalTo(-51);
make.bottom.top.equalTo(self);
}];
}
-(void)setShardNum:(NSString *)shardNum{
_shardNum = shardNum;
_textFiled.text = _shardNum;
}
#pragma mark -UITextFieldDelegate
- (void)textFieldDidChanged:(UITextField *)textField {
if(textField.text.integerValue <= 0){
textField.text = @"";
}
if(self.delegate && [self.delegate respondsToSelector:@selector(inputShardNum:)]){
[self.delegate inputShardNum:textField.text];
}
}
- (void)textFieldDidEndEditing:(UITextField *)textField{
if(textField.text.length <= 0){
textField.text = @"";
}
if(self.delegate && [self.delegate respondsToSelector:@selector(inputShardNum:)]){
[self.delegate inputShardNum:textField.text];
}
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
return [self validateNumber:string];
}
- (BOOL)validateNumber:(NSString*)number {
BOOL res = YES;
NSCharacterSet* tmpSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
int i = 0;
while (i < number.length) {
NSString * string = [number substringWithRange:NSMakeRange(i, 1)];
NSRange range = [string rangeOfCharacterFromSet:tmpSet];
if (range.length == 0) {
res = NO;
break;
}
i++;
}
return res;
}
-(void)addBtnAction{
NSInteger num = self.textFiled.text.integerValue + 10;
self.textFiled.text = @(num).stringValue;
if(self.delegate && [self.delegate respondsToSelector:@selector(inputShardNum:)]){
[self.delegate inputShardNum:self.textFiled.text];
}
}
-(void)subtractAction{
NSInteger num = self.textFiled.text.integerValue - 10;
if(num <= 1){
num = 1;
}
self.textFiled.text = @(num).stringValue;
if(self.delegate && [self.delegate respondsToSelector:@selector(inputShardNum:)]){
[self.delegate inputShardNum:self.textFiled.text];
}
}
#pragma mark -
- (NSString *)text{
return self.textFiled.text;
}
- (UIView *)bgView{
if(!_bgView){
_bgView = [UIView new];
_bgView.backgroundColor = UIColorFromRGB(0x306065);
}
return _bgView;
}
- (MSBaseTextField *)textFiled {
if (!_textFiled) {
_textFiled = [[MSBaseTextField alloc] init];
_textFiled.tintColor = [UIColor whiteColor];
_textFiled.textColor = [UIColor whiteColor];
_textFiled.backgroundColor = [UIColor clearColor];
_textFiled.textAlignment = NSTextAlignmentCenter;
_textFiled.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular];
_textFiled.text = @"1";
_textFiled.delegate = self;
[_textFiled addTarget:self action:@selector(textFieldDidChanged:) forControlEvents:UIControlEventEditingChanged];
_textFiled.keyboardType = UIKeyboardTypeNumberPad;
}
return _textFiled;
}
- (UIButton *)addBtn{
if(!_addBtn){
_addBtn = [UIButton new];
[_addBtn setBackgroundImage:kImage(@"room_treasure_fairy_new_buy_elf_add") forState:UIControlStateNormal];
[_addBtn addTarget:self action:@selector(addBtnAction) forControlEvents:UIControlEventTouchUpInside];
}
return _addBtn;
}
- (UIButton *)subtractBtn{
if(!_subtractBtn){
_subtractBtn = [UIButton new];
[_subtractBtn setBackgroundImage:kImage(@"room_treasure_fairy_new_buy_elf_subtract") forState:UIControlStateNormal];
[_subtractBtn addTarget:self action:@selector(subtractAction) forControlEvents:UIControlEventTouchUpInside];
}
return _subtractBtn;
}
@end

View File

@@ -1,16 +0,0 @@
//
// PITreasureFairyBuyElfShardSuccessView.h
// YuMi
//
// Created by duoban on 2023/9/7.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface PITreasureFairyBuyElfShardSuccessView : UIView
@property(nonatomic,copy) NSString *num;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,177 +0,0 @@
//
// PITreasureFairyBuyElfShardSuccessView.m
// YuMi
//
// Created by duoban on 2023/9/7.
//
#import "PITreasureFairyBuyElfShardSuccessView.h"
@interface PITreasureFairyBuyElfShardSuccessView()
///
@property(nonatomic,strong) UIButton *closeView;
///
@property(nonatomic,strong) UIImageView *pi_iconView;
///
@property(nonatomic,strong) UIImageView *bgImageView;
///
@property(nonatomic,strong) UIImageView *titleView;
///
@property(nonatomic,strong) UILabel *getView;
///
@property(nonatomic,strong) UILabel *numView;
///
@property(nonatomic,strong) UIButton *chooseBnt;
///
@property(nonatomic,strong) UILabel *tipsView;
@end
@implementation PITreasureFairyBuyElfShardSuccessView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self addSubview:self.closeView];
[self addSubview:self.bgImageView];
[self addSubview:self.titleView];
[self.bgImageView addSubview:self.getView];
[self.bgImageView addSubview:self.pi_iconView];
[self.bgImageView addSubview:self.numView];
[self.bgImageView addSubview:self.chooseBnt];
[self.bgImageView addSubview:self.tipsView];
}
-(void)installConstraints{
[self.closeView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(242);
make.width.mas_equalTo(258);
make.center.equalTo(self);
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.bgImageView.mas_top).mas_offset(-13);
make.width.mas_equalTo(136);
make.height.mas_equalTo(44);
make.centerX.equalTo(self.bgImageView);
}];
[self.getView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.titleView.mas_bottom).mas_offset(16);
make.height.mas_equalTo(13);
make.centerX.equalTo(self.bgImageView);
}];
[self.pi_iconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(65);
make.centerX.equalTo(self.bgImageView);
make.top.equalTo(self.getView.mas_bottom).mas_offset(7);
}];
[self.numView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgImageView);
make.height.mas_equalTo(13);
make.top.equalTo(self.pi_iconView.mas_bottom).mas_offset(14);
}];
[self.tipsView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgImageView).mas_offset(8);
make.height.mas_equalTo(10);
make.top.equalTo(self.numView.mas_bottom).mas_offset(22);
}];
[self.chooseBnt mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(10);
make.trailing.equalTo(self.tipsView.mas_leading).mas_offset(-6);
make.centerY.equalTo(self.tipsView);
}];
}
-(void)setNum:(NSString *)num{
_num = num;
_numView.text = [NSString stringWithFormat:@"x%@",_num];
}
-(void)closeViewAction{
[TTPopup dismiss];
}
-(void)chooseTipAction{
_chooseBnt.selected = !_chooseBnt.selected;
NSString *time = [NSDate getNowTimeTimestamp];
NSString *curTime = [NSDate timestampSwitchTime:[time integerValue] andFormatter:@"yyyy-MM-dd"];
NSDictionary *timeDic = [[NSUserDefaults standardUserDefaults]valueForKey:@"kBuyElfShardSuccessNoPrompt"];
if(timeDic == nil){
if(_chooseBnt.selected == NO)return;
NSMutableDictionary *curDic = [[NSMutableDictionary alloc]initWithDictionary:timeDic];
[curDic setValue:@(YES) forKey:curTime];
[[NSUserDefaults standardUserDefaults]setValue:curDic forKey:@"kBuyElfShardSuccessNoPrompt"];
[[NSUserDefaults standardUserDefaults]synchronize];
}else{
NSMutableDictionary *curDic = [[NSMutableDictionary alloc]initWithDictionary:timeDic];
[curDic removeAllObjects];
if(_chooseBnt.selected == YES){
[curDic setValue:@(YES) forKey:curTime];
}
[[NSUserDefaults standardUserDefaults]setValue:curDic forKey:@"kBuyElfShardSuccessNoPrompt"];
[[NSUserDefaults standardUserDefaults]synchronize];
}
}
#pragma mark -
- (UIButton *)closeView{
if(!_closeView){
_closeView = [UIButton new];
[_closeView addTarget:self action:@selector(closeViewAction) forControlEvents:UIControlEventTouchUpInside];
}
return _closeView;
}
- (UIImageView *)bgImageView{
if(!_bgImageView){
_bgImageView = [UIImageView new];
_bgImageView.image = kImage(@"room_treasure_fairy_new_buy_elf_bg");
_bgImageView.userInteractionEnabled = YES;
}
return _bgImageView;
}
-(UIImageView *)pi_iconView{
if(!_pi_iconView){
_pi_iconView = [UIImageView new];
_pi_iconView.image = kImage(@"room_treasure_fairy_buy_elf_icon");
}
return _pi_iconView;
}
-(UIImageView *)titleView{
if(!_titleView){
_titleView = [UIImageView new];
_titleView.image = [UIImage getLanguageImage:@"room_treasure_fairy_buy_elf_title"];
}
return _titleView;
}
- (UILabel *)numView{
if(!_numView){
_numView = [UILabel labelInitWithText:@"0" font:[UIFont systemFontOfSize:16 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0xFFE8AA)];
}
return _numView;
}
- (UIButton *)chooseBnt{
if(!_chooseBnt){
_chooseBnt = [UIButton new];
[_chooseBnt setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_chooseBnt setImage:kImage(@"room_treasure_fairy_buy_elf_choose") forState:UIControlStateSelected];
[_chooseBnt setImage:kImage(@"room_treasure_fairy_buy_elf_no_choose") forState:UIControlStateNormal];
[_chooseBnt addTarget:self action:@selector(chooseTipAction) forControlEvents:UIControlEventTouchUpInside];
}
return _chooseBnt;
}
- (UILabel *)tipsView{
if(!_tipsView){
_tipsView = [UILabel labelInitWithText:YMLocalizedString(@"PITreasureFairyBuyElfShardSuccessView0") font:[UIFont systemFontOfSize:10 weight:UIFontWeightRegular] textColor:[UIColor colorWithWhite:1 alpha:0.8]];
}
return _tipsView;
}
- (UILabel *)getView{
if(!_getView){
_getView = [UILabel labelInitWithText:YMLocalizedString(@"PITreasureFairyBuyElfShardSuccessView1") font:[UIFont systemFontOfSize:14 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0xFFE8AA)];
}
return _getView;
}
@end

View File

@@ -1,30 +0,0 @@
//
// PITreasureFairyBuyElfShardView.h
// YuMi
//
// Created by duoban on 2023/9/7.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@protocol PITreasureFairyBuyElfShardViewDelegate <NSObject>
-(void)buyElfShardWithType:(int)type num:(NSString *)num;
@end
@interface PITreasureFairyBuyElfShardView : UIView
///精灵碎片数量
@property(nonatomic,copy) NSString *shardNum;
///精灵碎片价格
@property(nonatomic,copy) NSString *price;
@property(nonatomic,weak) id<PITreasureFairyBuyElfShardViewDelegate>delegate;
-(instancetype)initWithFrame:(CGRect)frame type:(int)type;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,340 +0,0 @@
//
// PITreasureFairyBuyElfShardView.m
// YuMi
//
// Created by duoban on 2023/9/7.
//
#import "PITreasureFairyBuyElfShardView.h"
#import "PITreasureFairyBuyElfShardInputNumView.h"
@interface PITreasureFairyBuyElfShardView()<PITreasureFairyBuyElfShardInputNumViewDelegate>
///
@property(nonatomic,strong) UIButton *closeView;
///
@property(nonatomic,strong) UIImageView *pi_iconView;
///
@property(nonatomic,strong) UIImageView *bgImageView;
///
@property(nonatomic,strong) UIImageView *titleView;
///
@property(nonatomic,strong) UILabel *titleTipsView;
///
@property(nonatomic,strong) UILabel *numView;
///
@property(nonatomic,strong) UIButton *chooseBnt;
///
@property(nonatomic,strong) UILabel *tipsView;
///
@property(nonatomic,strong) PITreasureFairyBuyElfShardInputNumView *inputNumView;
///
@property(nonatomic,strong) UIButton *buyBtn;
///01
@property(nonatomic,assign) int type;
@end
@implementation PITreasureFairyBuyElfShardView
-(void)dealloc{
[[NSNotificationCenter defaultCenter]removeObserver:self];
}
-(instancetype)initWithFrame:(CGRect)frame type:(int)type{
self = [super initWithFrame:frame];
if(self){
self.type = type;
if(type == 0){
[self installUI];
[self installConstraints];
}else{
[self installUIWithBuy];
[self installConstraintsWithBuy];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHidden:) name:UIKeyboardWillHideNotification object:nil];
}
}
return self;
}
- (void)keyboardWillShow:(NSNotification *)notification {
CGRect keyboardRect = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGFloat time = [[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue];
CGFloat height = KScreenHeight - keyboardRect.size.height - 315;
[UIView animateWithDuration:time animations:^{
CGRect rect = self.bgImageView.frame;
rect.origin.y = height;
self.bgImageView.frame = rect;
CGRect titleRect = self.titleView.frame;
titleRect.origin.y = height;
self.titleView.frame = titleRect;
}];
}
//
- (void)keyboardWillHidden:(NSNotification *)notification {
CGFloat time = [[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue];
[UIView animateWithDuration:time animations:^{
CGRect rect = self.bgImageView.frame;
rect.origin.y = (KScreenHeight - 315)/2;
self.bgImageView.frame = rect;
CGRect titleRect = self.titleView.frame;
titleRect.origin.y = (KScreenHeight - 315)/2;
self.titleView.frame = titleRect;
}];
}
-(void)installUI{
[self addSubview:self.closeView];
[self addSubview:self.bgImageView];
[self addSubview:self.titleView];
[self.bgImageView addSubview:self.pi_iconView];
[self.bgImageView addSubview:self.numView];
[self.bgImageView addSubview:self.titleTipsView];
[self.bgImageView addSubview:self.buyBtn];
[self.bgImageView addSubview:self.chooseBnt];
[self.bgImageView addSubview:self.tipsView];
}
-(void)installConstraints{
[self.closeView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(315);
make.width.mas_equalTo(258);
make.center.equalTo(self);
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.bgImageView.mas_top).mas_offset(0);
make.width.mas_equalTo(136);
make.height.mas_equalTo(44);
make.centerX.equalTo(self.bgImageView);
}];
[self.pi_iconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(65);
make.width.mas_equalTo(65);
make.centerX.equalTo(self.bgImageView);
make.top.equalTo(self.titleView.mas_bottom).mas_offset(31);
}];
[self.numView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgImageView);
make.height.mas_equalTo(19);
make.top.equalTo(self.pi_iconView.mas_bottom).mas_offset(4);
}];
[self.titleTipsView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.numView.mas_bottom).mas_offset(13);
make.height.mas_equalTo(12);
make.centerX.equalTo(self.bgImageView);
}];
[self.buyBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(140);
make.height.mas_equalTo(34);
make.top.equalTo(self.titleTipsView.mas_bottom).mas_offset(20);
make.centerX.equalTo(self.bgImageView);
}];
[self.tipsView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgImageView).mas_offset(8);
make.height.mas_equalTo(10);
make.top.equalTo(self.buyBtn.mas_bottom).mas_offset(17);
}];
[self.chooseBnt mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(10);
make.trailing.equalTo(self.tipsView.mas_leading).mas_offset(-6);
make.centerY.equalTo(self.tipsView);
}];
}
-(void)installUIWithBuy{
self.backgroundColor = [UIColor colorWithWhite:0 alpha:0.5];
[self addSubview:self.closeView];
[self addSubview:self.bgImageView];
[self addSubview:self.titleView];
[self.bgImageView addSubview:self.titleTipsView];
[self.bgImageView addSubview:self.pi_iconView];
[self.bgImageView addSubview:self.numView];
[self.bgImageView addSubview:self.inputNumView];
[self.bgImageView addSubview:self.buyBtn];
}
-(void)installConstraintsWithBuy{
[self.closeView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(315);
make.width.mas_equalTo(258);
make.center.equalTo(self);
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.bgImageView.mas_top).mas_offset(0);
make.width.mas_equalTo(136);
make.height.mas_equalTo(44);
make.centerX.equalTo(self.bgImageView);
}];
[self.titleTipsView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.titleView.mas_bottom).mas_offset(18);
make.height.mas_equalTo(13);
make.centerX.equalTo(self.bgImageView);
}];
[self.pi_iconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(64);
make.width.mas_equalTo(63);
make.centerX.equalTo(self.bgImageView);
make.top.equalTo(self.titleTipsView.mas_bottom).mas_offset(12);
}];
[self.numView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgImageView);
make.height.mas_equalTo(19);
make.top.equalTo(self.pi_iconView.mas_bottom).mas_offset(4);
}];
[self.inputNumView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.numView.mas_bottom).mas_offset(13);
make.height.mas_equalTo(29);
make.width.mas_equalTo(172);
make.centerX.equalTo(self.bgImageView);
}];
[self.buyBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(34);
make.width.mas_equalTo(140);
make.centerX.equalTo(self.bgImageView);
make.top.equalTo(self.inputNumView.mas_bottom).mas_offset(20);
}];
}
-(void)closeViewAction{
[TTPopup dismiss];
}
-(void)chooseTipAction{
_chooseBnt.selected = !_chooseBnt.selected;
NSString *time = [NSDate getNowTimeTimestamp];
NSString *curTime = [NSDate timestampSwitchTime:[time integerValue] andFormatter:@"yyyy-MM-dd"];
NSDictionary *timeDic = [[NSUserDefaults standardUserDefaults]valueForKey:@"kBuyElfShardNoPrompt"];
if(timeDic == nil){
if(_chooseBnt.selected == NO)return;
NSMutableDictionary *curDic = [[NSMutableDictionary alloc]initWithDictionary:timeDic];
[curDic setValue:@(YES) forKey:curTime];
[[NSUserDefaults standardUserDefaults]setValue:curDic forKey:@"kBuyElfShardNoPrompt"];
[[NSUserDefaults standardUserDefaults]synchronize];
}else{
NSMutableDictionary *curDic = [[NSMutableDictionary alloc]initWithDictionary:timeDic];
[curDic removeAllObjects];
if(_chooseBnt.selected == YES){
[curDic setValue:@(YES) forKey:curTime];
}
[[NSUserDefaults standardUserDefaults]setValue:curDic forKey:@"kBuyElfShardNoPrompt"];
[[NSUserDefaults standardUserDefaults]synchronize];
}
}
- (void)setShardNum:(NSString *)shardNum{
_shardNum = shardNum;
_titleTipsView.text = [NSString stringWithFormat:YMLocalizedString(@"PITreasureFairyBuyElfShardView2"),_shardNum];
_inputNumView.shardNum = _shardNum;
}
-(void)setPrice:(NSString *)price{
_price = price;
[self setPriceView];
}
-(void)setPriceView{
NSString *getPrice = @(self.price.integerValue * self.shardNum.integerValue).stringValue;
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@" %@",getPrice] attributes:@{NSFontAttributeName:self.numView.font,NSForegroundColorAttributeName:[UIColor whiteColor]}];
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
UIImage *iconImage = [UIImage imageNamed:@"room_treasure_fairy_buy_elf_price"];;
attachment.bounds = CGRectMake(0, roundf(self.numView.font.capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height);
attachment.image = iconImage;
[textAtt insertAttributedString:[NSMutableAttributedString attributedStringWithAttachment:attachment] atIndex:0];
self.numView.attributedText = textAtt;
}
-(void)bugShardAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(buyElfShardWithType:num:)]){
[self.delegate buyElfShardWithType:self.type num:self.shardNum];
}
}
#pragma mark- PITreasureFairyBuyElfShardInputNumViewDelegate
-(void)inputShardNum:(NSString *)num{
self.shardNum = num;
[self setPriceView];
}
#pragma mark -
- (UIButton *)closeView{
if(!_closeView){
_closeView = [UIButton new];
[_closeView addTarget:self action:@selector(closeViewAction) forControlEvents:UIControlEventTouchUpInside];
}
return _closeView;
}
- (UIImageView *)bgImageView{
if(!_bgImageView){
_bgImageView = [UIImageView new];
_bgImageView.image = kImage(@"room_treasure_fairy_buy_elf_bg");
_bgImageView.userInteractionEnabled = YES;
}
return _bgImageView;
}
-(UIImageView *)pi_iconView{
if(!_pi_iconView){
_pi_iconView = [UIImageView new];
_pi_iconView.image = kImage(@"room_treasure_fairy_buy_elf_icon");
}
return _pi_iconView;
}
-(UIImageView *)titleView{
if(!_titleView){
_titleView = [UIImageView new];
_titleView.image = kImage(@"room_treasure_fairy_new_buy_elf_title");
}
return _titleView;
}
- (UILabel *)numView{
if(!_numView){
_numView = [UILabel labelInitWithText:@"0" font:[UIFont systemFontOfSize:16 weight:UIFontWeightRegular] textColor:[UIColor whiteColor]];
}
return _numView;
}
- (UIButton *)chooseBnt{
if(!_chooseBnt){
_chooseBnt = [UIButton new];
[_chooseBnt setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_chooseBnt setImage:kImage(@"room_treasure_fairy_buy_elf_choose") forState:UIControlStateSelected];
[_chooseBnt setImage:kImage(@"room_treasure_fairy_buy_elf_no_choose") forState:UIControlStateNormal];
[_chooseBnt addTarget:self action:@selector(chooseTipAction) forControlEvents:UIControlEventTouchUpInside];
}
return _chooseBnt;
}
- (UILabel *)tipsView{
if(!_tipsView){
_tipsView = [UILabel labelInitWithText:YMLocalizedString(@"PITreasureFairyBuyElfShardSuccessView0") font:[UIFont systemFontOfSize:10 weight:UIFontWeightRegular] textColor:[UIColor colorWithWhite:1 alpha:0.8]];
}
return _tipsView;
}
- (UILabel *)titleTipsView{
if(!_titleTipsView){
_titleTipsView = [UILabel labelInitWithText:YMLocalizedString(@"PITreasureFairyBuyElfShardView0") font:[UIFont systemFontOfSize:14 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0xFFE8AA)];
}
return _titleTipsView;
}
- (PITreasureFairyBuyElfShardInputNumView *)inputNumView{
if(!_inputNumView){
_inputNumView = [[PITreasureFairyBuyElfShardInputNumView alloc]initWithFrame:CGRectZero];
_inputNumView.delegate = self;
}
return _inputNumView;
}
- (UIButton *)buyBtn{
if(!_buyBtn){
_buyBtn = [UIButton new];
[_buyBtn setBackgroundImage:kImage(@"room_treasure_fairy_buy_elf_but_btn") forState:UIControlStateNormal];
[_buyBtn setTitle:YMLocalizedString(@"PITreasureFairyBuyElfShardView1") forState:UIControlStateNormal];
[_buyBtn setTitleColor:UIColorFromRGB(0x1F5764) forState:UIControlStateNormal];
_buyBtn.titleLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium];
[_buyBtn addTarget:self action:@selector(bugShardAction) forControlEvents:UIControlEventTouchUpInside];
}
return _buyBtn;
}
@end

View File

@@ -1,16 +0,0 @@
//
// XPTreasureFailrySummonBallView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/28.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFairyBallModel;
@interface XPTreasureFailrySummonBallView : UIView
@property (nonatomic,strong) TreasureFairyBallModel *ballInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,118 +0,0 @@
//
// XPTreasureFailrySummonBallView.m
// xplan-ios
//
// Created by on 2023/2/28.
//
#import "XPTreasureFailrySummonBallView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
///Model
#import "TreasureFairyBallInfoModel.h"
@interface XPTreasureFailrySummonBallView ()
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) NetImageView *ballImageView;
///
@property (nonatomic,strong) UILabel *nameLabel;
///
@property (nonatomic,strong) UILabel *countLabel;
@end
@implementation XPTreasureFailrySummonBallView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.backImageView];
[self addSubview:self.ballImageView];
[self addSubview:self.nameLabel];
[self addSubview:self.countLabel];
}
- (void)initSubViewConstraints {
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self);
}];
[self.ballImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(45, 45));
make.top.mas_equalTo(self).offset(13);
make.centerX.mas_equalTo(self);
}];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.backImageView).offset(-3);
make.leading.trailing.mas_equalTo(self.backImageView);
}];
[self.countLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(18, 18));
make.leading.mas_equalTo(self.backImageView).offset(61);
make.top.mas_equalTo(self.backImageView).offset(51);
}];
}
#pragma mark - Getters And Setters
- (void)setBallInfo:(TreasureFairyBallModel *)ballInfo {
_ballInfo =ballInfo;
if (_ballInfo) {
self.ballImageView.imageUrl = _ballInfo.elfPicUrl;
self.nameLabel.text = _ballInfo.elfName;
self.countLabel.text = [NSString stringWithFormat:@"%ld", _ballInfo.elfNum];
}
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_treasure_fairy_shoping_ball_bg"];
}
return _backImageView;
}
- (NetImageView *)ballImageView {
if (!_ballImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_ballImageView = [[NetImageView alloc] initWithConfig:config];
_ballImageView.contentMode = UIViewContentModeScaleAspectFill;
}
return _ballImageView;
}
- (UILabel *)nameLabel {
if (!_nameLabel) {
_nameLabel = [[UILabel alloc] init];
_nameLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
_nameLabel.textColor = [UIColor whiteColor];
_nameLabel.textAlignment = NSTextAlignmentCenter;
}
return _nameLabel;
}
- (UILabel *)countLabel {
if (!_countLabel) {
_countLabel = [[UILabel alloc] init];
_countLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
_countLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#1F5764"];
_countLabel.textAlignment = NSTextAlignmentCenter;
}
return _countLabel;
}
@end

View File

@@ -1,17 +0,0 @@
//
// XPTreasureFailyPrizeGiftView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/15.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPTreasureFailyPrizeGiftView : UIView
///显示的内容
@property (nonatomic,copy) NSString *title;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,65 +0,0 @@
//
// XPTreasureFailyPrizeGiftView.m
// xplan-ios
//
// Created by on 2023/2/15.
//
#import "XPTreasureFailyPrizeGiftView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
@interface XPTreasureFailyPrizeGiftView ()
///
@property (nonatomic,strong) UIButton *prizeButton;
@end
@implementation XPTreasureFailyPrizeGiftView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.prizeButton];
}
- (void)initSubViewConstraints {
[self.prizeButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.mas_equalTo(self);
make.top.mas_equalTo(self).offset(6);
}];
}
#pragma mark - Getters And Setters
- (void)setTitle:(NSString *)title {
_title = title;
if (_title.length > 0) {
[self.prizeButton setTitle:title forState:UIControlStateNormal];
}
}
- (UIButton *)prizeButton {
if (!_prizeButton) {
UIButton * newAnimaView = [UIButton buttonWithType:UIButtonTypeCustom];
newAnimaView.imageView.layer.masksToBounds = YES;
newAnimaView.imageView.contentMode = UIViewContentModeCenter;
[newAnimaView setBackgroundImage:[UIImage imageNamed:@"room_treasure_fairy_prize_bg"] forState:UIControlStateNormal];
newAnimaView.titleLabel.font = [UIFont systemFontOfSize:12];
[newAnimaView setTitleColor:[DJDKMIMOMColor colorWithHexString:@"#FFE8AA"] forState:UIControlStateNormal];
_prizeButton = newAnimaView;
}
return _prizeButton;
}
@end

View File

@@ -1,19 +0,0 @@
//
// XPTreasureFailyResultView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/16.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPTreasureFailyResultView : UIView
///数据
@property (nonatomic,strong) NSArray *datasource;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,156 +0,0 @@
//
// XPTreasureFailyResultView.m
// xplan-ios
//
// Created by on 2023/2/16.
//
#import "XPTreasureFailyResultView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "TTPopup.h"
#import "NSArray+Safe.h"
///View
#import "XPTreasureFailyResultGiftCell.h"
@interface XPTreasureFailyResultView ()<UICollectionViewDelegate, UICollectionViewDataSource>
///View
@property (nonatomic,strong) UIView *bottomView;
///
@property (nonatomic,strong) UIImageView *backImageView;
///cell
@property (nonatomic,strong) XPTreasureFailyResultGiftCell *oneGiftView;
///
@property (nonatomic,strong) UICollectionView *collectionView;
@end
@implementation XPTreasureFailyResultView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.backImageView];
[self addSubview:self.bottomView];
[self.backImageView addSubview:self.oneGiftView];
[self.backImageView addSubview:self.collectionView];
}
- (void)initSubViewConstraints {
CGFloat kscale = 364.0 / 375.0;
self.frame = CGRectMake(0, 0, KScreenWidth, KScreenWidth * kscale + 89 * kScreenScale);
[self.bottomView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.mas_equalTo(self);
make.top.mas_equalTo(self.backImageView.mas_bottom);
}];
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.top.mas_equalTo(self);
make.height.mas_equalTo(KScreenWidth * kscale);
}];
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.backImageView).offset(87 * kScreenScale);
make.bottom.mas_equalTo(self.backImageView).offset((-182 + 89) * kScreenScale);
make.leading.trailing.mas_equalTo(self.backImageView);
}];
[self.oneGiftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(115);
make.width.mas_equalTo(90);
make.centerX.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.backImageView).offset(129 * kScreenScale);
}];
}
#pragma mark - Event Response
- (void)dismissView {
[TTPopup dismiss];
}
#pragma mark - UICollectionViewDelegate And UICollectionViewDataSoure
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.datasource.count;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
XPTreasureFailyResultGiftCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPTreasureFailyResultGiftCell class]) forIndexPath:indexPath];
TreasureFairyInfoModel * info = [self.datasource xpSafeObjectAtIndex:indexPath.row];
cell.prizeInfo = info;
return cell;
}
#pragma mark - Getters And Setters
- (void)setDatasource:(NSArray *)datasource {
_datasource = datasource;
if (_datasource.count > 1) {
self.collectionView.hidden = NO;
self.oneGiftView.hidden = YES;
[self.collectionView reloadData];
} else {
self.oneGiftView.hidden = NO;
self.collectionView.hidden = YES;
if (_datasource.count == 1) {
self.oneGiftView.prizeInfo = _datasource.firstObject;
}
}
}
- (UICollectionView *)collectionView{
if (!_collectionView) {
MSBaseRTLFlowLayout *layout = [[MSBaseRTLFlowLayout alloc] init];
CGFloat itemWidth = (KScreenWidth - 14 * 3 - 60) / 4.0;
layout.itemSize = CGSizeMake(itemWidth, itemWidth + 23);
layout.sectionInset = UIEdgeInsetsMake(0, 30, 0, 30);
layout.minimumLineSpacing = 11;
layout.minimumInteritemSpacing = 14;
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
_collectionView.dataSource = self;
_collectionView.delegate = self;
_collectionView.backgroundColor = [UIColor clearColor];
[_collectionView registerClass:[XPTreasureFailyResultGiftCell class] forCellWithReuseIdentifier:NSStringFromClass([XPTreasureFailyResultGiftCell class])];
}
return _collectionView;
}
- (UIView *)bottomView {
if (!_bottomView) {
_bottomView = [[UIView alloc] init];
_bottomView.backgroundColor = [UIColor clearColor];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissView)];
[_bottomView addGestureRecognizer:tap];
}
return _bottomView;
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage getLanguageImage:@"room_treasure_fairy_result_bg"];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissView)];
[_backImageView addGestureRecognizer:tap];
}
return _backImageView;
}
- (XPTreasureFailyResultGiftCell *)oneGiftView {
if (!_oneGiftView) {
_oneGiftView = [[XPTreasureFailyResultGiftCell alloc] init];
}
return _oneGiftView;
}
@end

View File

@@ -1,26 +0,0 @@
//
// XPTreasureFairyBallContentView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/22.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class XPTreasureFairyBallContentView, TreasureFairyBallModel;
@protocol XPTreasureFairyBallContentViewDelegate <NSObject>
///索取
- (void)xPTreasureFairyBallContentView:(XPTreasureFairyBallContentView *)view askInfo:(TreasureFairyBallModel *)askInfo;
///赠送
- (void)xPTreasureFairyBallContentView:(XPTreasureFairyBallContentView *)view sendInfo:(TreasureFairyBallModel *)sendInfo;
@end
@interface XPTreasureFairyBallContentView : UIView
///数据
@property (nonatomic,strong) NSArray *datasource;
///代理
@property (nonatomic,weak) id<XPTreasureFairyBallContentViewDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,130 +0,0 @@
//
// XPTreasureFairyBallContentView.m
// xplan-ios
//
// Created by on 2023/2/22.
//
#import "XPTreasureFairyBallContentView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NSArray+Safe.h"
///View
#import "XPTreasureFairyBallView.h"
@interface XPTreasureFairyBallContentView ()<XPTreasureFairyBallViewDelegate>
///
@property (nonatomic,strong) XPTreasureFairyBallView *firstView;
///
@property (nonatomic,strong) XPTreasureFairyBallView *secondView;
///
@property (nonatomic,strong) XPTreasureFairyBallView *thirdView;
@property (nonatomic,strong) NSArray *viewList;
@end
@implementation XPTreasureFairyBallContentView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.firstView];
[self addSubview:self.secondView];
[self addSubview:self.thirdView];
self.viewList = @[self.firstView, self.secondView, self.thirdView];
}
- (void)initSubViewConstraints {
[self mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.thirdView.mas_bottom);
}];
[self.firstView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(108, 153));
make.centerX.mas_equalTo(self);
make.top.mas_equalTo(self);
}];
[self.secondView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(108, 153));
make.trailing.mas_equalTo(self.mas_centerX).mas_offset(-19);
make.top.equalTo(self.firstView.mas_bottom).mas_offset(10);
}];
[self.thirdView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerY.mas_equalTo(self.secondView);
make.leading.mas_equalTo(self.secondView.mas_trailing).offset(37);
}];
}
#pragma mark - XPTreasureFairyBallViewDelegate
- (void)xPTreasureFairyBallView:(XPTreasureFairyBallView *)view askBallInfo:(TreasureFairyBallModel *)info {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPTreasureFairyBallContentView:askInfo:)]) {
[self.delegate xPTreasureFairyBallContentView:self askInfo:info];
}
}
- (void)xPTreasureFairyBallView:(XPTreasureFairyBallView *)view sendBallInfo:(TreasureFairyBallModel *)info {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPTreasureFairyBallContentView:sendInfo:)]) {
[self.delegate xPTreasureFairyBallContentView:self sendInfo:info];
}
}
#pragma mark - Getters And Setters
- (void)setDatasource:(NSArray *)datasource {
_datasource = datasource;
if (_datasource.count > 0) {
for (int i = 0; i < _datasource.count; i++) {
TreasureFairyBallModel * ballInfo = [_datasource xpSafeObjectAtIndex:i];
if (i < self.viewList.count) {
XPTreasureFairyBallView * view = [self.viewList xpSafeObjectAtIndex:i];
view.ballInfo = ballInfo;
}
}
}
}
- (XPTreasureFairyBallView *)firstView {
if(!_firstView) {
_firstView = [[XPTreasureFairyBallView alloc] init];
_firstView.delegate = self;
}
return _firstView;
}
- (XPTreasureFairyBallView *)secondView {
if(!_secondView) {
_secondView = [[XPTreasureFairyBallView alloc] init];
_secondView.delegate = self;
}
return _secondView;
}
- (XPTreasureFairyBallView *)thirdView {
if(!_thirdView) {
_thirdView = [[XPTreasureFairyBallView alloc] init];
_thirdView.delegate = self;
}
return _thirdView;
}
@end

View File

@@ -1,25 +0,0 @@
//
// XPTreasureFairyBallView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/22.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFairyBallModel, XPTreasureFairyBallView;
@protocol XPTreasureFairyBallViewDelegate <NSObject>
///索要
- (void)xPTreasureFairyBallView:(XPTreasureFairyBallView *)view askBallInfo:(TreasureFairyBallModel *)info;
///赠送
- (void)xPTreasureFairyBallView:(XPTreasureFairyBallView *)view sendBallInfo:(TreasureFairyBallModel *)info;
@end
@interface XPTreasureFairyBallView : UIView
@property (nonatomic,strong) TreasureFairyBallModel *ballInfo;
///代理
@property (nonatomic,weak) id<XPTreasureFairyBallViewDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,296 +0,0 @@
//
// XPTreasureFairyBallView.m
// xplan-ios
//
// Created by on 2023/2/22.
//
#import "XPTreasureFairyBallView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
///Model
#import "TreasureFairyBallInfoModel.h"
@interface XPTreasureFairyBallView ()
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UILabel *nameLabel;
///
@property (nonatomic,strong) UILabel *numberLabel;
///
@property (nonatomic,strong) NetImageView *ballImageView;
///
@property (nonatomic,strong) UIStackView *stackView;
///
@property (nonatomic,strong) UIButton *notGetButton;
///
@property (nonatomic,strong) UIButton *sendButton;
///
@property (nonatomic,strong) UIButton *askButton;
///
@property (nonatomic,strong) UIImageView *coverImageView;
@end
@implementation XPTreasureFairyBallView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.backImageView];
[self addSubview:self.nameLabel];
[self addSubview:self.ballImageView];
[self addSubview:self.coverImageView];
[self addSubview:self.numberLabel];
[self addSubview:self.notGetButton];
[self addSubview:self.stackView];
[self.stackView addArrangedSubview:self.sendButton];
[self.stackView addArrangedSubview:self.askButton];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(flipRecognizer)];
[self addGestureRecognizer:tap];
}
- (void)initSubViewConstraints {
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self);
}];
[self.coverImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self);
}];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.backImageView).offset(30);
}];
[self.numberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.nameLabel.mas_bottom).offset(8);
}];
[self.ballImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(76, 76));
make.centerX.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.backImageView).offset(74);
}];
[self.notGetButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(54, 54));
make.top.mas_equalTo(self.backImageView).offset(60);
make.centerX.mas_equalTo(self.backImageView);
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.notGetButton);
make.centerX.mas_equalTo(self.backImageView);
}];
[self.askButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(54, 54));
}];
[self.sendButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(54, 54));
}];
}
- (void)delayAction {
TreasureFairyBallModel * info = self.ballInfo;
info.isFlip = !info.isFlip;
self.ballInfo = info;
}
#pragma mark - Event Response
- (void)flipRecognizer {
self.stackView.hidden = YES;
self.notGetButton.hidden = YES;
[self performSelector:@selector(delayAction) withObject:self afterDelay:0.5];
[UIView beginAnimations:@"aa" context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self cache:NO];
[UIView commitAnimations];
}
- (void)sendButtonAction:(UIButton *)sener {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPTreasureFairyBallView:sendBallInfo:)]) {
[self.delegate xPTreasureFairyBallView:self sendBallInfo:self.ballInfo];
}
}
- (void)askButtonAction:(UIButton *)sender {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPTreasureFairyBallView:askBallInfo:)]) {
[self.delegate xPTreasureFairyBallView:self askBallInfo:self.ballInfo];
}
}
#pragma mark - Getters And Setters
- (void)setBallInfo:(TreasureFairyBallModel *)ballInfo {
_ballInfo = ballInfo;
if (_ballInfo) {
self.nameLabel.text = _ballInfo.elfName;
self.ballImageView.imageUrl = _ballInfo.elfPicUrl;
NSString * backImageName;
NSString * coverImageName;
if (_ballInfo.elfLevel == TreasureFairyStoreType_High) {
backImageName = @"room_treasure_fairy_my_high_ball_bg";
coverImageName = @"room_treasure_fairy_my_high_ball_cover";
self.nameLabel.textColor = [UIColor whiteColor];
self.numberLabel.textColor = [UIColor whiteColor];
} else if (_ballInfo.elfLevel == TreasureFairyStoreType_Middle) {
backImageName = @"room_treasure_fairy_my_middle_ball_bg";
coverImageName = @"room_treasure_fairy_my_middle_ball_cover";
self.nameLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#FFFED6"];
self.numberLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#59FDFF"];
} else {
backImageName = @"room_treasure_fairy_my_low_ball_bg";
coverImageName = @"room_treasure_fairy_my_low_ball_cover";
self.nameLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#A4FFFC"];
self.numberLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#FFE8AA"];
}
if (_ballInfo.elfNum <=0 || _ballInfo.isFlip) {
self.coverImageView.hidden = NO;
} else {
self.coverImageView.hidden = YES;
}
if (_ballInfo.elfNum > 0) {///
self.numberLabel.hidden = NO;
self.notGetButton.hidden = YES;
self.numberLabel.text = [NSString stringWithFormat:@"x%ld", _ballInfo.elfNum];
} else {///
self.numberLabel.hidden = YES;
if (_ballInfo.isFlip) {
self.notGetButton.hidden = YES;
} else {
self.notGetButton.hidden = NO;
}
}
if (_ballInfo.isFlip) {
self.stackView.hidden = NO;
if (_ballInfo.elfNum > 0) {
self.sendButton.hidden = NO;
} else {
self.sendButton.hidden = YES;
}
} else {
self.stackView.hidden = YES;
}
if (backImageName.length > 0) {
self.backImageView.image = [UIImage imageNamed:backImageName];
}
if (coverImageName.length > 0) {
self.coverImageView.image = [UIImage imageNamed:coverImageName];
}
}
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_treasure_fairy_ball_bg"];
}
return _backImageView;
}
- (UILabel *)nameLabel {
if (!_nameLabel) {
_nameLabel = [[UILabel alloc] init];
_nameLabel.font = [UIFont systemFontOfSize:15 weight:UIFontWeightMedium];
_nameLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#A4FFFC"];
_nameLabel.textAlignment = NSTextAlignmentCenter;
}
return _nameLabel;
}
- (UILabel *)numberLabel {
if (!_numberLabel) {
_numberLabel = [[UILabel alloc] init];
_numberLabel.font = [UIFont systemFontOfSize:12];
_numberLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#59FDFF"];
_numberLabel.textAlignment = NSTextAlignmentCenter;
}
return _numberLabel;
}
- (UIImageView *)coverImageView {
if (!_coverImageView) {
_coverImageView = [[UIImageView alloc] init];
_coverImageView.userInteractionEnabled = YES;
}
return _coverImageView;
}
- (NetImageView *)ballImageView {
if (!_ballImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_ballImageView = [[NetImageView alloc] initWithConfig:config];
_ballImageView.layer.masksToBounds = YES;
_ballImageView.contentMode = UIViewContentModeScaleAspectFill;
}
return _ballImageView;
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisVertical;
_stackView.distribution = UIStackViewDistributionFill;
_stackView.alignment = UIStackViewAlignmentFill;
_stackView.spacing = 10;
_stackView.hidden = YES;
}
return _stackView;
}
- (UIButton *)notGetButton {
if (!_notGetButton) {
_notGetButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_notGetButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_ball_not_get"] forState:UIControlStateNormal];
[_notGetButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_ball_not_get"] forState:UIControlStateSelected];
_notGetButton.hidden = YES;
_notGetButton.userInteractionEnabled = NO;
}
return _notGetButton;
}
- (UIButton *)sendButton {
if (!_sendButton) {
_sendButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_sendButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_ball_send"] forState:UIControlStateNormal];
[_sendButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_ball_send"] forState:UIControlStateSelected];
[_sendButton addTarget:self action:@selector(sendButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _sendButton;
}
- (UIButton *)askButton {
if (!_askButton) {
_askButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_askButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_ball_ask"] forState:UIControlStateNormal];
[_askButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_ball_ask"] forState:UIControlStateSelected];
[_askButton addTarget:self action:@selector(askButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _askButton;
}
@end

View File

@@ -1,23 +0,0 @@
//
// XPTreasureFairyBottomView.h
// YuMi
//
// Created by duoban on 2023/9/5.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XPTreasureFairyBottomViewDelegate <NSObject>
///购买精灵碎片
-(void)buyElfShardWithNum:(NSString *)num;
@end
@interface XPTreasureFairyBottomView : UIView
@property(nonatomic,weak) id<XPTreasureFairyBottomViewDelegate>delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,323 +0,0 @@
//
// XPTreasureFairyBottomView.m
// YuMi
//
// Created by duoban on 2023/9/5.
//
#import "XPTreasureFairyBottomView.h"
@interface XPTreasureFairyBottomView()<UITextFieldDelegate>
///
@property(nonatomic,strong) UIImageView *bgImageView;
///
@property(nonatomic,strong) UIImageView *bgView;
///
@property(nonatomic,strong) UIButton *firstBg;
///
@property(nonatomic,strong) UIButton *tenthBg;
///
@property(nonatomic,strong) UIButton *hundredthBg;
///
@property(nonatomic,strong) UIButton *firstBtn;
///
@property(nonatomic,strong) UIButton *tenthBtn;
///
@property(nonatomic,strong) UIButton *hundredthBtn;
///
@property(nonatomic,strong) UIView *textBgView;
///
@property(nonatomic,strong) MSBaseTextField *textField;
///
@property(nonatomic,strong) UIButton *buyBtn;
///
@property(nonatomic,copy) NSString *chooseNum;
@end
@implementation XPTreasureFairyBottomView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self addSubview:self.bgImageView];
[self.bgImageView addSubview:self.bgView];
[self.bgView addSubview:self.firstBtn];
[self.firstBtn addSubview:self.firstBg];
[self.bgView addSubview:self.tenthBtn];
[self.tenthBtn addSubview:self.tenthBg];
[self.bgView addSubview:self.hundredthBtn];
[self.hundredthBtn addSubview:self.hundredthBg];
[self.bgView addSubview:self.textBgView];
[self.bgView addSubview:self.textField];
[self.bgView addSubview:self.buyBtn];
}
-(void)installConstraints{
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgImageView);
make.width.mas_equalTo(327);
make.top.mas_equalTo(10);
make.height.mas_equalTo(30);
}];
[self.firstBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(43);
make.height.mas_equalTo(19);
make.leading.mas_equalTo(12);
make.centerY.equalTo(self.bgView);
}];
[self.firstBg mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.firstBtn);
}];
[self.tenthBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(43);
make.height.mas_equalTo(19);
make.leading.mas_equalTo(65);
make.centerY.equalTo(self.bgView);
}];
[self.tenthBg mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.tenthBtn);
}];
[self.hundredthBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(43);
make.height.mas_equalTo(19);
make.leading.mas_equalTo(118);
make.centerY.equalTo(self.bgView);
}];
[self.hundredthBg mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.hundredthBtn);
}];
[self.textBgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(-71);
make.width.mas_equalTo(61);
make.height.mas_equalTo(21);
make.centerY.equalTo(self.bgView);
}];
[self.textField mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.textBgView);
}];
[self.buyBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(59);
make.height.mas_equalTo(23);
make.leading.equalTo(self.textBgView.mas_trailing).mas_offset(8);
make.centerY.equalTo(self.bgView);
}];
}
-(void)chooseBuyNumAction:(UIButton *)sender{
UIButton *supBtn = (UIButton *)sender.superview;
self.chooseNum = supBtn.currentTitle;
self.textField.text = @"";
NSArray *btnArr = @[self.firstBg,self.tenthBg,self.hundredthBg];
for (UIButton *btn in btnArr) {
if(btn == sender){
btn.hidden = YES;
btn.superview.layer.borderWidth = 1;
}else{
btn.hidden = NO;
btn.superview.layer.borderWidth = 0;
}
}
}
#pragma mark -UITextFieldDelegate
- (void)textFieldDidChange:(UITextField *)textField {
if(textField.text.integerValue <= 0){
textField.text = @"";
}
self.chooseNum = textField.text;
NSArray *btnArr = @[self.firstBg,self.tenthBg,self.hundredthBg];
for (UIButton *btn in btnArr) {
btn.hidden = NO;
btn.superview.layer.borderWidth = 0;
}
}
- (void)textFieldDidEndEditing:(UITextField *)textField{
if(textField.text.length <= 0){
textField.text = @"";
}
NSArray *btnArr = @[self.firstBg,self.tenthBg,self.hundredthBg];
for (UIButton *btn in btnArr) {
btn.hidden = NO;
btn.superview.layer.borderWidth = 0;
}
self.chooseNum = textField.text;
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
return [self validateNumber:string];
}
- (BOOL)validateNumber:(NSString*)number {
BOOL res = YES;
NSCharacterSet* tmpSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
int i = 0;
while (i < number.length) {
NSString * string = [number substringWithRange:NSMakeRange(i, 1)];
NSRange range = [string rangeOfCharacterFromSet:tmpSet];
if (range.length == 0) {
res = NO;
break;
}
i++;
}
return res;
}
-(void)bugAction{
if(self.self.chooseNum.length ==0){
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPTreasureFairyBottomView2")];
return;
}
if(self.delegate && [self.delegate respondsToSelector:@selector(buyElfShardWithNum:)]){
[self.delegate buyElfShardWithNum:self.chooseNum];
}
[self.textField resignFirstResponder];
}
#pragma mark -
- (UIImageView *)bgImageView{
if(!_bgImageView){
_bgImageView = [UIImageView new];
_bgImageView.userInteractionEnabled = YES;
_bgImageView.image = kImage(@"room_treasure_fairy_bottom_bg");
}
return _bgImageView;
}
- (UIImageView *)bgView{
if(!_bgView){
_bgView = [UIImageView new];
_bgView.userInteractionEnabled = YES;
UIImage *image = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0x17303C),UIColorFromRGB(0x284D5A)] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(327, 30)];
_bgView.image = image;
_bgView.layer.cornerRadius = 15;
_bgView.layer.masksToBounds = YES;
_bgView.layer.borderWidth = 1;
_bgView.layer.borderColor = [UIColor colorWithWhite:1 alpha:0.6].CGColor;
}
return _bgView;
}
- (UIButton *)firstBg{
if(!_firstBg){
_firstBg = [UIButton new];
_firstBg.backgroundColor = UIColorRGBAlpha(0x1F5B4B, 0.5);
_firstBg.layer.cornerRadius = 19/2;
_firstBg.layer.masksToBounds = YES;
[_firstBg addTarget:self action:@selector(chooseBuyNumAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _firstBg;
}
- (UIButton *)tenthBg{
if(!_tenthBg){
_tenthBg = [UIButton new];
_tenthBg.backgroundColor = UIColorRGBAlpha(0x1F5B4B, 0.5);
_tenthBg.layer.cornerRadius = 19/2;
_tenthBg.layer.masksToBounds = YES;
[_tenthBg addTarget:self action:@selector(chooseBuyNumAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _tenthBg;
}
- (UIButton *)hundredthBg{
if(!_hundredthBg){
_hundredthBg = [UIButton new];
_hundredthBg.backgroundColor = UIColorRGBAlpha(0x1F5B4B, 0.5);
_hundredthBg.layer.cornerRadius = 19/2;
_hundredthBg.layer.masksToBounds = YES;
[ _hundredthBg addTarget:self action:@selector(chooseBuyNumAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _hundredthBg;
}
-(UIButton *)firstBtn{
if(!_firstBtn){
_firstBtn = [UIButton new];
[_firstBtn setTitle:@"1" forState:UIControlStateNormal];
_firstBtn.backgroundColor = [UIColor colorWithWhite:1 alpha:0.1];
_firstBtn.layer.cornerRadius = 19/2;
_firstBtn.layer.masksToBounds = YES;
_firstBtn.layer.borderWidth = 0;
_firstBtn.layer.borderColor = UIColorFromRGB(0xF2DE84).CGColor;
[_firstBtn setTitleColor:UIColorFromRGB(0xF6F6F6) forState:UIControlStateNormal];
_firstBtn.titleLabel.font = [UIFont systemFontOfSize:10 weight:UIFontWeightMedium];
[_firstBtn setImage:kImage(@"room_treasure_fairy_bottom_icon") forState:UIControlStateNormal];
[_firstBtn setImageEdgeInsets:UIEdgeInsetsMake(0, -15, 0, 0)];
[_firstBtn setTitleEdgeInsets:UIEdgeInsetsMake(0, -5, 0, 0)];
}
return _firstBtn;
}
-(UIButton *)tenthBtn{
if(!_tenthBtn){
_tenthBtn = [UIButton new];
_tenthBtn.backgroundColor = [UIColor colorWithWhite:1 alpha:0.1];
[_tenthBtn setTitle:@"10" forState:UIControlStateNormal];
[_tenthBtn setTitleColor:UIColorFromRGB(0xF6F6F6) forState:UIControlStateNormal];
_tenthBtn.titleLabel.font = [UIFont systemFontOfSize:10 weight:UIFontWeightMedium];
[_tenthBtn setImage:kImage(@"room_treasure_fairy_bottom_icon") forState:UIControlStateNormal];
_tenthBtn.layer.cornerRadius = 19/2;
_tenthBtn.layer.masksToBounds = YES;
_tenthBtn.layer.borderWidth = 0;
_tenthBtn.layer.borderColor = UIColorFromRGB(0xF2DE84).CGColor;
[_tenthBtn setImageEdgeInsets:UIEdgeInsetsMake(0, -11, 0, 0)];
[_tenthBtn setTitleEdgeInsets:UIEdgeInsetsMake(0, -5, 0, 0)];
}
return _tenthBtn;
}
-(UIButton *)hundredthBtn{
if(!_hundredthBtn){
_hundredthBtn = [UIButton new];
_hundredthBtn.backgroundColor = [UIColor colorWithWhite:1 alpha:0.1];
[_hundredthBtn setTitle:@"100" forState:UIControlStateNormal];
[_hundredthBtn setTitleColor:UIColorFromRGB(0xF6F6F6) forState:UIControlStateNormal];
_hundredthBtn.titleLabel.font = [UIFont systemFontOfSize:10 weight:UIFontWeightMedium];
[_hundredthBtn setImage:kImage(@"room_treasure_fairy_bottom_icon") forState:UIControlStateNormal];
_hundredthBtn.layer.cornerRadius = 19/2;
_hundredthBtn.layer.masksToBounds = YES;
_hundredthBtn.layer.borderWidth = 0;
_hundredthBtn.layer.borderColor = UIColorFromRGB(0xF2DE84).CGColor;
}
return _hundredthBtn;
}
- (UIView *)textBgView{
if(!_textBgView ){
_textBgView = [UIView new];
_textBgView.backgroundColor = UIColorFromRGB(0x365A65);
_textBgView.layer.cornerRadius = 4;
_textBgView.layer.masksToBounds = YES;
}
return _textBgView;
}
- (MSBaseTextField *)textField{
if(!_textField){
_textField = [[MSBaseTextField alloc]init];
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:YMLocalizedString(@"XPTreasureFairyBottomView0") attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:9 weight:UIFontWeightRegular],NSForegroundColorAttributeName:UIColorFromRGB(0xF6F6F6)}];
_textField.attributedPlaceholder = textAtt;
_textField.font = [UIFont systemFontOfSize:9 weight:UIFontWeightRegular];
_textField.textColor = UIColorFromRGB(0xF6F6F6);
_textField.keyboardType = UIKeyboardTypeNumberPad;
_textField.textAlignment = NSTextAlignmentCenter;
_textField.delegate = self;
_textField.backgroundColor = [UIColor clearColor];
_textField.adjustsFontSizeToFitWidth = YES;
[_textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
}
return _textField;
}
- (UIButton *)buyBtn{
if(!_buyBtn){
_buyBtn = [UIButton new];
[_buyBtn setBackgroundImage:kImage(@"room_treasure_fairy_bottom_buy") forState:UIControlStateNormal];
[_buyBtn setTitle:YMLocalizedString(@"XPTreasureFairyBottomView1") forState:UIControlStateNormal];
[_buyBtn setTitleColor:UIColorFromRGB(0x1F5764 ) forState:UIControlStateNormal];
_buyBtn.titleLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
[_buyBtn addTarget:self action:@selector(bugAction) forControlEvents:UIControlEventTouchUpInside];
}
return _buyBtn;
}
@end

View File

@@ -1,16 +0,0 @@
//
// XPTreasureFairyDrawSubView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/15.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFairyInfoModel;
@interface XPTreasureFairyDrawSubView : UIView
@property (nonatomic,strong) TreasureFairyInfoModel *info;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,99 +0,0 @@
//
// XPTreasureFairyDrawSubView.m
// xplan-ios
//
// Created by on 2023/2/15.
//
#import "XPTreasureFairyDrawSubView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
///Model
#import "TreasureFairyInfoModel.h"
@interface XPTreasureFairyDrawSubView ()
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) NetImageView *fairyView;
///
@property (nonatomic,strong) UILabel *nameLabel;
@end
@implementation XPTreasureFairyDrawSubView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.backImageView];
[self addSubview:self.fairyView];
[self addSubview:self.nameLabel];
}
- (void)initSubViewConstraints {
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self);
}];
[self.fairyView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(40, 46));
make.centerX.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.backImageView).offset(8);
}];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.fairyView.mas_bottom).offset(2);
}];
}
#pragma mark - Getters And Setters
- (void)setInfo:(TreasureFairyInfoModel *)info {
_info = info;
if (_info) {
self.fairyView.imageUrl = _info.rewardPicUrl;
self.nameLabel.text = _info.rewardName;
}
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_treasure_fairy_draw_bg"];
}
return _backImageView;
}
- (NetImageView *)fairyView {
if (!_fairyView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
_fairyView = [[NetImageView alloc] initWithConfig:config];
_fairyView.layer.masksToBounds = YES;
_fairyView.contentMode = UIViewContentModeScaleAspectFit;
}
return _fairyView;
}
- (UILabel *)nameLabel {
if (!_nameLabel) {
_nameLabel = [[UILabel alloc] init];
_nameLabel.font = [UIFont systemFontOfSize:12];
_nameLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#FFE8AA"];
_nameLabel.textAlignment = NSTextAlignmentCenter;
_nameLabel.text = YMLocalizedString(@"XPTreasureFairyDrawSubView0");
}
return _nameLabel;
}
@end

View File

@@ -1,29 +0,0 @@
//
// XPTreasureFairyDrewView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/15.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFailyKeyInfoModel, TreasureFairyInfoModel;
typedef void(^AnimationCompletion)(BOOL finish);
typedef void(^RebrushCompletion)(void);
@interface XPTreasureFairyDrawView : UIView
@property (nonatomic,strong) TreasureFailyKeyInfoModel *keyInfo;
@property(nonatomic,copy) RebrushCompletion rebrushComletion;
///礼物的列表
@property (nonatomic,strong) NSArray *failyList;
- (void)startTimerCompletion:(AnimationCompletion)comletion;
///停止动画
- (void)stopAnimation;
///奖励的信息(最高奖励 动画要停止的位置)
@property (nonatomic,strong) TreasureFairyInfoModel *rewardInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,538 +0,0 @@
//
// XPTreasureFairyDrewView.m
// xplan-ios
//
// Created by on 2023/2/15.
//
#import "XPTreasureFairyDrawView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "XPWeakTimer.h"
#import "NSArray+Safe.h"
///Model
#import "TreasureFairyInfoModel.h"
#import "TreasureFailyKeyInfoModel.h"
///View
#import "XPTreasureFairyDrawSubView.h"
@interface XPTreasureFairyDrawView ()
{
NSTimer * timer;
}
///
@property (nonatomic,strong) UIImageView *coverImageView;
///
@property (nonatomic,strong) XPTreasureFairyDrawSubView *firstView;
///
@property (nonatomic,strong) XPTreasureFairyDrawSubView *secondView;
///
@property (nonatomic,strong) XPTreasureFairyDrawSubView *thirdView;
///
@property (nonatomic,strong) XPTreasureFairyDrawSubView *fourthView;
///
@property (nonatomic,strong) XPTreasureFairyDrawSubView *fifView;
///
@property (nonatomic,strong) XPTreasureFairyDrawSubView *sixView;
///
@property (nonatomic,strong) XPTreasureFairyDrawSubView *sevenView;
///
@property (nonatomic,strong) XPTreasureFairyDrawSubView *eightView;
///9
@property (nonatomic,strong) XPTreasureFairyDrawSubView *nineView;
///10
@property (nonatomic,strong) XPTreasureFairyDrawSubView *tenView;
///11
@property (nonatomic,strong) XPTreasureFairyDrawSubView *elevenView;
///12
@property (nonatomic,strong) XPTreasureFairyDrawSubView *twelveView;
///view
@property (nonatomic,strong) NSArray *viewList;
///
@property (nonatomic,strong) UIImageView *currentValueBgView;
///
@property (nonatomic,strong) UILabel *currentValueButton;
///
@property (nonatomic,strong) UIImageView *diamondBGView;
///
@property (nonatomic,strong) UIImageView *diamondImageView;
///
@property (nonatomic,strong) UIImageView *coverDiamondView;
///
@property (nonatomic,strong) UILabel *limitLabel;
///index
@property (nonatomic,assign) NSInteger currentIndex;
///
@property (nonatomic,assign) NSInteger cycleCount;
///
@property (nonatomic,assign) NSInteger rewardIndex;
@property (nonatomic,assign) NSInteger rewardNumber;
///
@property (nonatomic,copy) AnimationCompletion finishCompletion;
@property(nonatomic,strong) UIButton *rebrushBtn;
@end
@implementation XPTreasureFairyDrawView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Public Method
- (void)startTimerCompletion:(AnimationCompletion)comletion {
self.finishCompletion = comletion;
if (timer == nil) {
timer = [XPWeakTimer scheduledTimerWithTimeInterval:0.07 target:self selector:@selector(run) userInfo:nil repeats:YES];
[timer fire];
}
}
- (void)stopAnimation {
XPTreasureFairyDrawSubView * view = [self.viewList xpSafeObjectAtIndex:self.rewardNumber];
if (view) {
[self.coverImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(75 * kScreenScale, 81 * kScreenScale));
make.center.equalTo(view);
}];
}
[self stopTimer];
}
- (void)stopTimer {
[timer invalidate];
timer = nil;
self.cycleCount = 0;
self.finishCompletion(YES);
}
- (void)run {
self.currentIndex ++;
self.cycleCount ++;
///
if (self.cycleCount == (12 * 2 + self.rewardIndex)) {
[self stopTimer];
XPTreasureFairyDrawSubView * view = [self.viewList xpSafeObjectAtIndex:self.rewardNumber];
if (view) {
[self.coverImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(75 * kScreenScale, 81 * kScreenScale));
make.center.equalTo(view);
}];
}
return;
}
if (self.currentIndex >= self.viewList.count) {
self.currentIndex = 0;
}
XPTreasureFairyDrawSubView * view = [self.viewList xpSafeObjectAtIndex:self.currentIndex];
if (view) {
[self.coverImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(75 * kScreenScale, 81 * kScreenScale));
make.center.equalTo(view);
}];
}
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.firstView];
[self addSubview:self.secondView];
[self addSubview:self.thirdView];
[self addSubview:self.fourthView];
[self addSubview:self.fifView];
[self addSubview:self.sixView];
[self addSubview:self.sevenView];
[self addSubview:self.eightView];
[self addSubview:self.nineView];
[self addSubview:self.tenView];
[self addSubview:self.elevenView];
[self addSubview:self.twelveView];
[self addSubview:self.diamondBGView];
[self addSubview:self.coverImageView];
[self addSubview:self.currentValueBgView];
[self addSubview:self.currentValueButton];
[self addSubview:self.rebrushBtn];
[self addSubview:self.coverDiamondView];
[self addSubview:self.diamondImageView];
[self addSubview:self.limitLabel];
self.viewList = @[self.firstView, self.secondView, self.thirdView, self.fourthView, self.fifView, self.sixView, self.sevenView, self.eightView, self.nineView, self.tenView, self.elevenView, self.twelveView];
}
- (void)initSubViewConstraints {
[self mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.sevenView.mas_bottom);
}];
[self.coverImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(75 * kScreenScale, 81 * kScreenScale));
make.center.equalTo(self.firstView);
}];
[self.firstView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(75 * kScreenScale, 75 * kScreenScale));
make.leading.mas_equalTo(self).offset(0);
make.top.mas_equalTo(self).offset(0);
}];
CGFloat margin = 15;
CGFloat topMargin = 11;
[self.secondView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerY.equalTo(self.firstView);
make.leading.mas_equalTo(self.firstView.mas_trailing).offset(margin);
}];
[self.thirdView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerY.equalTo(self.firstView);
make.leading.mas_equalTo(self.secondView.mas_trailing).offset(margin);
}];
[self.fourthView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerY.equalTo(self.firstView);
make.leading.mas_equalTo(self.thirdView.mas_trailing).offset(margin);
}];
[self.fifView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.equalTo(self.firstView);
make.leading.mas_equalTo(self.fourthView);
make.top.mas_equalTo(self.fourthView.mas_bottom).offset(topMargin);
}];
[self.sixView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerX.equalTo(self.fifView);
make.top.mas_equalTo(self.fifView.mas_bottom).offset(topMargin);
}];
[self.sevenView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerX.equalTo(self.fifView);
make.top.mas_equalTo(self.sixView.mas_bottom).offset(topMargin);
}];
[self.eightView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerY.equalTo(self.sevenView);
make.trailing.mas_equalTo(self.sevenView.mas_leading).offset(-margin);
}];
[self.nineView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerY.equalTo(self.sevenView);
make.trailing.mas_equalTo(self.eightView.mas_leading).offset(-margin);
}];
[self.tenView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerY.equalTo(self.sevenView);
make.trailing.mas_equalTo(self.nineView.mas_leading).offset(-margin);
}];
[self.elevenView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerX.equalTo(self.tenView);
make.bottom.mas_equalTo(self.tenView.mas_top).offset(-topMargin);
}];
[self.twelveView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerX.equalTo(self.tenView);
make.bottom.mas_equalTo(self.elevenView.mas_top).offset(-topMargin);
}];
[self.currentValueBgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(106, 28));
make.centerX.mas_equalTo(self);
make.top.mas_equalTo(self.firstView.mas_bottom).offset(10);
}];
[self.currentValueButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kGetScaleWidth(28));
make.centerX.mas_equalTo(self);
make.top.mas_equalTo(self.firstView.mas_bottom).offset(10);
}];
[self.rebrushBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(20);
make.centerY.equalTo(self.currentValueButton);
make.leading.equalTo(self.currentValueButton.mas_trailing).mas_offset(4);
}];
[self.diamondBGView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(120, 125));
make.centerX.mas_equalTo(self);
make.top.mas_equalTo(self.currentValueButton.mas_bottom).offset(5);
}];
[self.coverDiamondView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(120, 108));
make.centerX.centerY.mas_equalTo(self.diamondBGView);
}];
[self.diamondImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.mas_equalTo(self.coverDiamondView);
make.top.mas_equalTo(self.coverDiamondView).offset(108);
}];
[self.limitLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self);
make.top.mas_equalTo(self.diamondBGView.mas_bottom).offset(2);
}];
}
- (void)createExtraGetFairyAtrribute:(NSInteger)value {
NSString * valueStr = [NSString stringWithFormat:@"%ld", value];
NSString * title = [NSString stringWithFormat:YMLocalizedString(@"XPTreasureFairyDrawView0"), valueStr];
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:10], NSForegroundColorAttributeName:[DJDKMIMOMColor colorWithHexString:@"#59FDFF"]}];
[attribute addAttribute:NSForegroundColorAttributeName value:[DJDKMIMOMColor colorWithHexString:@"#FFE8AA"] range:[title rangeOfString:valueStr]];
[attribute addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:12 weight:UIFontWeightMedium] range:[title rangeOfString:valueStr]];
self.limitLabel.attributedText = attribute;
self.limitLabel.textAlignment = NSTextAlignmentCenter;
}
- (void)createCurrentFairyValueAtrribute:(NSInteger)value {
NSString * valueStr = [NSString stringWithFormat:@"%ld", value];
NSString * title = [NSString stringWithFormat:YMLocalizedString(@"XPTreasureFairyDrawView1"), valueStr];
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:10], NSForegroundColorAttributeName:[UIColor whiteColor]}];
[attribute addAttribute:NSForegroundColorAttributeName value:[DJDKMIMOMColor colorWithHexString:@"#FFE8AA"] range:[title rangeOfString:valueStr]];
[attribute addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:12 weight:UIFontWeightMedium] range:[title rangeOfString:valueStr]];
self.currentValueButton.attributedText = attribute;
}
#pragma mark - Getters And Setters
- (void)setKeyInfo:(TreasureFailyKeyInfoModel *)keyInfo {
_keyInfo = keyInfo;
if (_keyInfo) {
[self createExtraGetFairyAtrribute:_keyInfo.needLuckyNum];
[self createCurrentFairyValueAtrribute:_keyInfo.luckyNum];
CGFloat kscale = 0;
CGFloat total = (CGFloat)_keyInfo.needLuckyNum + (CGFloat)_keyInfo.luckyNum;
if (_keyInfo.needLuckyNum > 0) {
kscale = (CGFloat)_keyInfo.luckyNum / total;
if (kscale > 1) {
kscale = 1;
}
}
[self.diamondImageView mas_updateConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.coverDiamondView).offset(108 *(1 - kscale));
}];
}
}
- (void)setFailyList:(NSArray *)failyList {
_failyList = failyList;
if (_failyList.count > 0) {
for (int i = 0; i < _failyList.count; i++) {
TreasureFairyInfoModel * info = [_failyList xpSafeObjectAtIndex:i];
if (i < self.viewList.count) {
XPTreasureFairyDrawSubView * view = [self.viewList xpSafeObjectAtIndex:i];
view.info = info;
}
}
}
}
- (void)setRewardInfo:(TreasureFairyInfoModel *)rewardInfo {
_rewardInfo = rewardInfo;
if (_rewardInfo) {
for (int i = 0; i < self.failyList.count; i++) {
TreasureFairyInfoModel * info = [_failyList xpSafeObjectAtIndex:i];
if (info.itemIndex == _rewardInfo.itemIndex) {
self.rewardNumber = i;
if (i > self.currentIndex) {
self.rewardIndex = (i - self.currentIndex);
} else {
self.rewardIndex = (12 - self.currentIndex) + i +1;
}
if(self.rewardNumber > 11){
self.rewardNumber = 0;
}
break;
}
}
}
}
-(void)rebrushAction{
if(self.rebrushComletion){
self.rebrushComletion();
}
CABasicAnimation *rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 ];
rotationAnimation.duration = 0.5;
rotationAnimation.cumulative = YES;
rotationAnimation.repeatCount = 1;
[_rebrushBtn.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
}
- (XPTreasureFairyDrawSubView *)firstView {
if (!_firstView) {
_firstView = [[XPTreasureFairyDrawSubView alloc] init];
_firstView.tag = 1001;
}
return _firstView;
}
- (XPTreasureFairyDrawSubView *)secondView {
if (!_secondView) {
_secondView = [[XPTreasureFairyDrawSubView alloc] init];
_secondView.tag = 1002;
}
return _secondView;
}
- (XPTreasureFairyDrawSubView *)thirdView {
if (!_thirdView) {
_thirdView = [[XPTreasureFairyDrawSubView alloc] init];
_thirdView.tag = 1003;
}
return _thirdView;
}
- (XPTreasureFairyDrawSubView *)fourthView {
if (!_fourthView) {
_fourthView = [[XPTreasureFairyDrawSubView alloc] init];
_fourthView.tag = 1004;
}
return _fourthView;
}
- (XPTreasureFairyDrawSubView *)fifView {
if (!_fifView) {
_fifView = [[XPTreasureFairyDrawSubView alloc] init];
_fifView.tag = 1005;
}
return _fifView;
}
- (XPTreasureFairyDrawSubView *)sixView {
if (!_sixView) {
_sixView = [[XPTreasureFairyDrawSubView alloc] init];
_sixView.tag = 1006;
}
return _sixView;
}
- (XPTreasureFairyDrawSubView *)sevenView {
if (!_sevenView) {
_sevenView = [[XPTreasureFairyDrawSubView alloc] init];
_sevenView.tag = 1007;
}
return _sevenView;
}
- (XPTreasureFairyDrawSubView *)eightView {
if (!_eightView) {
_eightView = [[XPTreasureFairyDrawSubView alloc] init];
_eightView.tag = 1008;
}
return _eightView;
}
- (XPTreasureFairyDrawSubView *)nineView {
if (!_nineView) {
_nineView = [[XPTreasureFairyDrawSubView alloc] init];
_nineView.tag = 1009;
}
return _nineView;
}
- (XPTreasureFairyDrawSubView *)tenView {
if (!_tenView) {
_tenView = [[XPTreasureFairyDrawSubView alloc] init];
_tenView.tag = 1001;
}
return _tenView;
}
- (XPTreasureFairyDrawSubView *)elevenView {
if (!_elevenView) {
_elevenView = [[XPTreasureFairyDrawSubView alloc] init];
_elevenView.tag = 1011;
}
return _elevenView;
}
- (XPTreasureFairyDrawSubView *)twelveView {
if (!_twelveView) {
_twelveView = [[XPTreasureFairyDrawSubView alloc] init];
_twelveView.tag = 1001;
}
return _twelveView;
}
- (UIImageView *)coverImageView {
if (!_coverImageView) {
_coverImageView = [[UIImageView alloc] init];
_coverImageView.userInteractionEnabled = YES;
_coverImageView.image = [UIImage imageNamed:@"room_treasure_fairy_draw_cover"];
}
return _coverImageView;
}
- (UILabel *)currentValueButton {
if (!_currentValueButton) {
_currentValueButton = [UILabel new];
}
return _currentValueButton;
}
- (UIImageView *)currentValueBgView{
if(!_currentValueBgView){
_currentValueBgView = [UIImageView new];
_currentValueBgView.image = [UIImage imageNamed:@"room_treasure_fairy_draw_lucky_bg"];
}
return _currentValueBgView;
}
- (UIImageView *)diamondImageView {
if (!_diamondImageView) {
_diamondImageView = [[UIImageView alloc] init];
_diamondImageView.userInteractionEnabled = YES;
_diamondImageView.image = [UIImage imageNamed:@"room_treasure_fairy_draw_diamond"];
_diamondImageView.layer.masksToBounds = YES;
_diamondBGView.layer.masksToBounds = YES;
_diamondImageView.contentMode = UIViewContentModeBottom;
}
return _diamondImageView;
}
- (UIImageView *)diamondBGView {
if (!_diamondBGView) {
_diamondBGView = [[UIImageView alloc] init];
_diamondBGView.userInteractionEnabled = YES;
_diamondBGView.image = [UIImage imageNamed:@"room_treasure_fairy_draw_diamond_bg"];
_diamondBGView.layer.masksToBounds = YES;
}
return _diamondBGView;
}
- (UIImageView *)coverDiamondView {
if (!_coverDiamondView) {
_coverDiamondView = [[UIImageView alloc] init];
_coverDiamondView.userInteractionEnabled = YES;
_coverDiamondView.image = [UIImage imageNamed:@"room_treasure_fairy_draw_diamond_cover"];
}
return _coverDiamondView;
}
- (UILabel *)limitLabel {
if (!_limitLabel) {
_limitLabel = [[UILabel alloc] init];
}
return _limitLabel;
}
- (UIButton *)rebrushBtn{
if(!_rebrushBtn){
_rebrushBtn = [UIButton new];
[_rebrushBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_rebrushBtn setImage:kImage(@"room_treasure_fairy_draw_diamond_rebrush") forState:UIControlStateNormal];
[_rebrushBtn addTarget:self action:@selector(rebrushAction) forControlEvents:UIControlEventTouchUpInside];
}
return _rebrushBtn;
}
@end

View File

@@ -1,19 +0,0 @@
//
// XPTreasureFairyExchangeView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/27.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFairyUserInfoModel;
@interface XPTreasureFairyExchangeView : UIView
///房主的uid
@property (nonatomic,strong) NSString *roomUid;
///用户信息
@property (nonatomic,strong) TreasureFairyUserInfoModel *userInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,301 +0,0 @@
//
// XPTreasureFairyExchangeView.m
// xplan-ios
//
// Created by on 2023/2/27.
//
#import "XPTreasureFairyExchangeView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
#import "Api+TreasureFairy.h"
#import "TTPopup.h"
///View
#import "XPTreasureFairyShopingExchangeCell.h"
#import "XPTreasureFairyStoreResultSmallView.h"
///Model
#import "TreasureFairyFragmentModel.h"
#import "TreasureFairyInfoModel.h"
#import "TreasureFairyBallInfoModel.h"
#import "TreasureFairyUserInfoModel.h"
@interface XPTreasureFairyExchangeView ()<UICollectionViewDelegate, UICollectionViewDataSource, XPTreasureFairyShopingExchangeCellDelegate>
///
@property (nonatomic,strong) UICollectionView *collectionView;
///
@property (nonatomic,strong) UIImageView *userImageView;
///
@property (nonatomic,strong) NetImageView *avatarImageView;
///
@property (nonatomic,strong) UILabel *nickLabel;
///
@property (nonatomic,strong) UILabel *fragmentTextLabel;
///
@property (nonatomic,strong) UIImageView *fragmentImageView;
///
@property (nonatomic,strong) UILabel *fragmentNumLabel;
///
@property (nonatomic,strong) NSMutableArray <TreasureFairyFragmentModel *>*fragmentArray;
@end
@implementation XPTreasureFairyExchangeView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
[self initHttpRequest];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.collectionView];
[self addSubview:self.userImageView];
[self.userImageView addSubview:self.avatarImageView];
[self.userImageView addSubview:self.nickLabel];
[self.userImageView addSubview:self.fragmentTextLabel];
[self.userImageView addSubview:self.fragmentImageView];
[self.userImageView addSubview:self.fragmentNumLabel];
}
- (void)initSubViewConstraints {
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self);
}];
CGFloat kuserScale = 78 / 375.0;
[self.userImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(KScreenWidth, KScreenWidth * kuserScale));
make.bottom.mas_equalTo(self);
make.centerX.mas_equalTo(self);
}];
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(44, 44));
make.leading.mas_equalTo(self.userImageView).offset(15);
make.top.mas_equalTo(self.userImageView).offset(11 * kScreenScale);
}];
[self.nickLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.avatarImageView.mas_trailing).offset(2);
make.centerY.mas_equalTo(self.avatarImageView);
}];
[self.fragmentNumLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(-15);
make.centerY.mas_equalTo(self.avatarImageView);
}];
[self.fragmentImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(self.fragmentNumLabel.mas_leading).offset(-4);
make.centerY.mas_equalTo(self.avatarImageView);
make.size.mas_equalTo(CGSizeMake(24, 24));
}];
[self.fragmentTextLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(self.fragmentImageView.mas_leading).offset(-2);
make.centerY.mas_equalTo(self.avatarImageView);
}];
}
#pragma mark - Private Method
- (void)initHttpRequest {
[self getFragmentExchangeList];
[self getMyBallList];
}
- (void)getFragmentExchangeList {
//
[Api treasureFailyFragmentExchangeList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
NSArray * fragmentList = [TreasureFairyFragmentModel modelsWithArray:data.data];
[self.fragmentArray removeAllObjects];
[self.fragmentArray addObjectsFromArray:fragmentList];
[self.collectionView reloadData];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
}];
}
- (void)extracted {
[Api treasureFairyMyBallList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
TreasureFairyBallInfoModel * info = [TreasureFairyBallInfoModel modelWithDictionary:data.data];
self.fragmentNumLabel.text = [NSString stringWithFormat:@"%ld",info.chipNum];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
}];
}
- (void)getMyBallList {
//
[self extracted];
}
#pragma mark - UICollectionViewDelegate, UICollectionViewDataSource
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.fragmentArray.count;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
XPTreasureFairyShopingExchangeCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPTreasureFairyShopingExchangeCell class]) forIndexPath:indexPath];
TreasureFairyFragmentModel *model = self.fragmentArray[indexPath.row];
cell.fragmemtModel = model;
cell.delegate = self;
return cell;
}
#pragma mark - XPTreasureFairyShopingExchangeCellDelegate
- (void)treasureFairyShopingExchangeAction:(TreasureFairyFragmentModel *)fragmentModel {
if (fragmentModel.itemId > 0) {
TTAlertConfig * config = [[TTAlertConfig alloc] init];
config.title = @"";
NSString * untils;
if ([fragmentModel.rewardType isEqualToString:@"gift"]) {
untils = [NSString stringWithFormat:@"%@%@", fragmentModel.rewardShowValue, YMLocalizedString(@"XPTreasureFairyExchangeView0")];
} else {
untils = [NSString stringWithFormat:@"%ld%@", fragmentModel.rewardNum, fragmentModel.rewardUnit];
}
config.title = YMLocalizedString(@"XPTreasureFairyExchangeView1");
config.confirmButtonConfig.title = YMLocalizedString(@"XPTreasureFairyExchangeView2");
config.message = [NSString stringWithFormat:YMLocalizedString(@"XPTreasureFairyExchangeView3"), fragmentModel.rewardName, untils];
[TTPopup alertWithConfig:config confirmHandler:^{
[Api treasureFailyConvert:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"XPTreasureFairyExchangeView4")];
///
[self getMyBallList];
[[NSNotificationCenter defaultCenter]postNotificationName:@"kRefreshRaidersTrialCoupon" object:nil];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
} itemId:[NSString stringWithFormat:@"%ld", fragmentModel.itemId] roomUid:self.roomUid propIdStr:@"" propNumStr:@""];
} cancelHandler:^{
}];
}
}
#pragma mark - Getters And Setters
- (void)setUserInfo:(TreasureFairyUserInfoModel *)userInfo {
_userInfo = userInfo;
self.avatarImageView.imageUrl = userInfo.avatar;
NSString * nick = userInfo.nick;
if (nick.length > 6) {
nick = [NSString stringWithFormat:@"%@…", [nick substringToIndex:6]];
}
self.nickLabel.text = nick;
}
- (UICollectionView *)collectionView {
if (!_collectionView) {
MSBaseRTLFlowLayout *layout = [[MSBaseRTLFlowLayout alloc] init];
layout.scrollDirection = UICollectionViewScrollDirectionVertical;
CGFloat scale = 234.0/165.0;
CGFloat space = 15.0;
CGFloat itemWidth = (KScreenWidth - space*3)/2;
layout.itemSize = CGSizeMake(165.0, 234.0);
layout.minimumInteritemSpacing = space;
layout.minimumLineSpacing = space;
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
_collectionView.backgroundColor = UIColor.clearColor;
_collectionView.delegate = self;
_collectionView.dataSource = self;
CGFloat kuserScale = 91.0 / 375.0;
CGFloat insetsBottom = KScreenWidth * kuserScale;
_collectionView.contentInset = UIEdgeInsetsMake(0, space, insetsBottom, space);
[_collectionView registerClass:[XPTreasureFairyShopingExchangeCell class] forCellWithReuseIdentifier:NSStringFromClass([XPTreasureFairyShopingExchangeCell class])];
}
return _collectionView;
}
- (UIImageView *)userImageView {
if (!_userImageView) {
_userImageView = [[UIImageView alloc] init];
_userImageView.userInteractionEnabled = YES;
_userImageView.image = [UIImage imageNamed:@"room_treasure_fairy_new_userinfo_bg"];
}
return _userImageView;
}
- (NetImageView *)avatarImageView {
if (!_avatarImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_avatarImageView = [[NetImageView alloc] initWithConfig:config];
_avatarImageView.layer.masksToBounds = YES;
_avatarImageView.layer.cornerRadius = 44/2;
_avatarImageView.layer.borderColor = [DJDKMIMOMColor appMainColor].CGColor;
}
return _avatarImageView;
}
- (UILabel *)nickLabel {
if (!_nickLabel) {
_nickLabel = [[UILabel alloc] init];
_nickLabel.font = [UIFont systemFontOfSize:13];
_nickLabel.textColor = [UIColor whiteColor];
_nickLabel.text = YMLocalizedString(@"XPTreasureFairyExchangeView5");
}
return _nickLabel;
}
- (UILabel *)fragmentTextLabel {
if (!_fragmentTextLabel) {
_fragmentTextLabel = [[UILabel alloc] init];
_fragmentTextLabel.font = [UIFont systemFontOfSize:12];
_fragmentTextLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#1F5764"];
_fragmentTextLabel.text = YMLocalizedString(@"XPTreasureFairyExchangeView6");
}
return _fragmentTextLabel;
}
- (UIImageView *)fragmentImageView {
if (!_fragmentImageView) {
_fragmentImageView = [[UIImageView alloc] init];
_fragmentImageView.image = [UIImage imageNamed:@"room_treasure_fairy_shop_fragment"];
}
return _fragmentImageView;
}
- (UILabel *)fragmentNumLabel {
if (!_fragmentNumLabel) {
_fragmentNumLabel = [[UILabel alloc] init];
_fragmentNumLabel.font = [UIFont systemFontOfSize:12];
_fragmentNumLabel.textColor = [UIColor whiteColor];
_fragmentNumLabel.text = @"0";
}
return _fragmentNumLabel;
}
- (NSMutableArray<TreasureFairyFragmentModel *> *)fragmentArray {
if (!_fragmentArray) {
_fragmentArray = [NSMutableArray array];
}
return _fragmentArray;
}
@end

View File

@@ -1,24 +0,0 @@
//
// XPTreasureFairyFriendView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/23.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFairyBallModel, XPTreasureFairyFriendView;
@protocol XPTreasureFairyFriendViewDelegate <NSObject>
- (void)treasureFairyFriendFinish:(XPTreasureFairyFriendView *)view;
@end
@interface XPTreasureFairyFriendView : UIView
@property (nonatomic,assign) BOOL isSend;
@property (nonatomic,strong) TreasureFairyBallModel *ballInfo;
///代理
@property (nonatomic,weak) id<XPTreasureFairyFriendViewDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,315 +0,0 @@
//
// XPTreasureFairyFriendView.m
// xplan-ios
//
// Created by on 2023/2/23.
//
#import "XPTreasureFairyFriendView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "Api+TreasureFairy.h"
#import "NSArray+Safe.h"
#import "TTPopup.h"
///Model
#import "UserInfoModel.h"
#import "TreasureFairyBallInfoModel.h"
///View
#import "XPTreasureFairyFriendCell.h"
#import "XPTreasureFairySendView.h"
@interface XPTreasureFairyFriendView ()<UITableViewDelegate, UITableViewDataSource, UITextFieldDelegate>
///
@property (nonatomic,strong) UIButton *backButton;
///
@property (nonatomic,strong) UIView *dismissView;
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UIImageView *titleImageView;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UIView *searchView;
///
@property (nonatomic,strong) MSBaseTextField *searchTextField;
///
@property (nonatomic,strong) UITableView *tableView;
///
@property (nonatomic,strong) UIButton *actionButton;
///
@property (nonatomic,strong) NSArray *friendList;
///
@property (nonatomic,strong) NSArray *originList;
@end
@implementation XPTreasureFairyFriendView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self getMyFriendList];
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
- (void)getMyFriendList {
[Api treasureFairyFansFriendList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
NSArray * array = [UserInfoModel modelsWithArray:data.data];
self.friendList = array;
self.originList = array;
[self.tableView reloadData];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
} nick:@""];
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.dismissView];
[self addSubview:self.backImageView];
[self addSubview:self.titleImageView];
[self addSubview:self.actionButton];
[self addSubview:self.backButton];
[self.backImageView addSubview:self.searchView];
[self.backImageView addSubview:self.tableView];
[self.searchView addSubview:self.searchTextField];
}
- (void)initSubViewConstraints {
CGFloat kscale = 580.0 / 375.0;
[self.dismissView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.top.mas_equalTo(self);
make.bottom.mas_equalTo(self.backImageView.mas_top);
}];
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.mas_equalTo(self);
make.height.mas_equalTo(KScreenWidth * kscale);
}];
[self.titleImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(180, 18));
make.centerX.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.backImageView).offset(60* kScreenScale);
}];
[self.backButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(28, 28));
make.leading.mas_equalTo(self.backImageView).offset(15);
make.top.mas_equalTo(self.backImageView).offset(40 * kScreenScale);
}];
[self.searchView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView).inset(15);
make.height.mas_equalTo(32);
make.top.mas_equalTo(self.backImageView).offset(103 * kScreenScale);
}];
[self.searchTextField mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.searchView).offset(15);
make.trailing.mas_equalTo(self.searchView).offset(-15);
make.top.bottom.mas_equalTo(self.searchView);
}];
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.searchView.mas_bottom).offset(13);
make.bottom.mas_equalTo(self.backImageView).offset(-10);
}];
[self.actionButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.backImageView).offset(40);
make.top.trailing.mas_equalTo(self.backImageView);
make.bottom.mas_equalTo(self.searchView.mas_top);
}];
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.friendList.count;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 65;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
XPTreasureFairyFriendCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPTreasureFairyFriendCell class])];
if (cell == nil) {
cell = [[XPTreasureFairyFriendCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPTreasureFairyFriendCell class])];
}
UserInfoModel * info = [self.friendList xpSafeObjectAtIndex:indexPath.row];
cell.userInfo = info;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
[self.searchTextField resignFirstResponder];
if (self.friendList.count> 0) {
UserInfoModel * info = [self.friendList xpSafeObjectAtIndex:indexPath.row];
XPTreasureFairySendView * sendView = [[XPTreasureFairySendView alloc] init];
self.ballInfo.nick = info.nick;
self.ballInfo.uid = info.uid;
sendView.isSend = self.isSend;
sendView.ballInfo = self.ballInfo;
[TTPopup popupView:sendView style:TTPopupStyleActionSheet];
}
}
#pragma mark - Event Response
- (void)dismissRecognizer {
[self.searchTextField resignFirstResponder];
[UIView animateWithDuration:0.3 animations:^{
CGRect rect = self.frame;
rect.origin.y = KScreenHeight;
self.frame = rect;
if (self.delegate && [self.delegate respondsToSelector:@selector(treasureFairyFriendFinish:)]) {
[self.delegate treasureFairyFriendFinish:self];
}
} completion:^(BOOL finished) {
[self removeFromSuperview];
}];
}
- (void)resignFirstResponse {
self.friendList = self.originList;
[self.tableView reloadData];
[self.searchTextField resignFirstResponder];
}
- (void)textFieldDidChange:(UITextField *)textField {
if (textField.text.length == 0) {
self.friendList = self.originList;
[self.tableView reloadData];
}
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
NSString *searchStr = textField.text;
if (searchStr.length >= 0) {
[Api treasureFairyFansFriendList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
NSArray * array = [UserInfoModel modelsWithArray:data.data];
self.friendList = array;
[self.tableView reloadData];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
} nick:searchStr];
}
return YES;
}
#pragma mark - Getters And Setters
- (UIButton *)backButton {
if (!_backButton) {
_backButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_backButton setImage:[[UIImage imageNamed:@"room_treasure_fairy_back"]ms_SetImageForRTL] forState:UIControlStateNormal];
[_backButton setImage:[[UIImage imageNamed:@"room_treasure_fairy_back"]ms_SetImageForRTL] forState:UIControlStateSelected];
[_backButton addTarget:self action:@selector(dismissRecognizer) forControlEvents:UIControlEventTouchUpInside];
}
return _backButton;
}
- (UIView *)dismissView {
if (!_dismissView) {
_dismissView = [[UIView alloc] init];
_dismissView.backgroundColor = [UIColor clearColor];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissRecognizer)];
[_dismissView addGestureRecognizer:tap];
}
return _dismissView;
}
- (UIImageView *)titleImageView {
if (!_titleImageView) {
_titleImageView = [[UIImageView alloc] init];
_titleImageView.userInteractionEnabled = YES;
_titleImageView.image = [UIImage getLanguageImage:@"room_treasure_my_friend_title"];
}
return _titleImageView;
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_treasure_fairy_my_friend_bg"];
}
return _backImageView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:17];
_titleLabel.textColor = [DJDKMIMOMColor mainTextColor];
_titleLabel.text = YMLocalizedString(@"XPTreasureFairyFriendView0");
_titleLabel.textAlignment = NSTextAlignmentCenter;
}
return _titleLabel;
}
- (UIView *)searchView {
if (!_searchView) {
_searchView = [[UIView alloc] init];
_searchView.backgroundColor = [DJDKMIMOMColor colorWithHexString:@"#066A6E"];
_searchView.layer.masksToBounds = YES;
_searchView.layer.cornerRadius = 16;
}
return _searchView;
}
- (MSBaseTextField *)searchTextField {
if (!_searchTextField) {
_searchTextField = [[MSBaseTextField alloc] init];
_searchTextField.layer.cornerRadius = 12;
_searchTextField.layer.masksToBounds = YES;
_searchTextField.tintColor = [DJDKMIMOMColor colorWithHexString:@"#59FDFF"];
_searchTextField.textColor = [DJDKMIMOMColor colorWithHexString:@"#59FDFF"];
_searchTextField.backgroundColor = [UIColor clearColor];
_searchTextField.font = [UIFont systemFontOfSize:13];
_searchTextField.delegate = self;
NSString *placeholder = YMLocalizedString(@"XPTreasureFairyFriendView1");
_searchTextField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:placeholder attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:12], NSForegroundColorAttributeName : [DJDKMIMOMColor colorWithHexString:@"#59FDFF"]}];
_searchTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
_searchTextField.returnKeyType = UIReturnKeySearch;
_searchTextField.enablesReturnKeyAutomatically = YES;
[_searchTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
}
return _searchTextField;
}
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.tableFooterView = [UIView new];
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_tableView.backgroundColor = [UIColor clearColor];
if (@available(iOS 11.0, *)) {
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
[_tableView registerClass:[XPTreasureFairyFriendCell class] forCellReuseIdentifier:NSStringFromClass([XPTreasureFairyFriendCell class])];
}
return _tableView;
}
- (UIButton *)actionButton {
if (!_actionButton) {
_actionButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_actionButton addTarget:self action:@selector(resignFirstResponse) forControlEvents:UIControlEventTouchUpInside];
}
return _actionButton;
}
@end

View File

@@ -1,18 +0,0 @@
//
// XPTreasureFairyMessageSendView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/23.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class ContentTreasureFairyModel;
typedef void(^SendCompletion)(BOOL success,ContentTreasureFairyModel *fairyInfo);
@interface XPTreasureFairyMessageSendView : UIView
@property (nonatomic,copy) SendCompletion finish;
@property (nonatomic,strong) ContentTreasureFairyModel *fairyInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,185 +0,0 @@
//
// XPTreasureFairyMessageSendView.m
// xplan-ios
//
// Created by on 2023/2/23.
//
#import "XPTreasureFairyMessageSendView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
#import "TTPopup.h"
#import "Api+TreasureFairy.h"
///Model
#import "ContentTreasureFairyModel.h"
@interface XPTreasureFairyMessageSendView ()
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) NetImageView *ballView;
///
@property (nonatomic,strong) UIButton *cancleButton;
///
@property (nonatomic,strong) UIButton *sureButton;
@end
@implementation XPTreasureFairyMessageSendView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.backImageView];
[self.backImageView addSubview:self.titleLabel];
[self.backImageView addSubview:self.ballView];
[self.backImageView addSubview:self.sureButton];
[self.backImageView addSubview:self.cancleButton];
}
- (void)initSubViewConstraints {
self.frame = CGRectMake(0, 0, 281, 285);
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(281, 285));
make.centerX.mas_equalTo(self);
make.top.mas_equalTo(self);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView).inset(30);
make.top.mas_equalTo(self.backImageView).offset(45);
}];
[self.ballView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(90, 90));
make.centerX.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.titleLabel.mas_bottom).offset(19);
}];
[self.cancleButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(104, 32));
make.top.mas_equalTo(self.ballView.mas_bottom).offset(15);
make.trailing.mas_equalTo(self.backImageView.mas_centerX).offset(-12);
}];
[self.sureButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerY.mas_equalTo(self.cancleButton);
make.leading.mas_equalTo(self.backImageView.mas_centerX).offset(12);
}];
}
#pragma mark - Event Response
- (void)cancleButtonAction:(UIButton *)sender {
[TTPopup dismiss];
}
- (void)sureButtonAction:(UIButton *)sender {
[TTPopup dismiss];
if (self.fairyInfo.elfId.integerValue > 0 && self.fairyInfo.uid.integerValue > 0) {
NSString * elfId = self.fairyInfo.elfId;
NSString * uid = self.fairyInfo.uid;
[Api treasureFairySendFairyBall:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
if (self.finish) {
self.finish(YES,self.fairyInfo);
}
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"XPTreasureFairyMessageSendView0")];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
} elfId:elfId targetUid:uid];
}
}
- (void)dismissRecognizer {
[TTPopup dismiss];
}
#pragma mark - Getters And Setters
- (void)setFairyInfo:(ContentTreasureFairyModel *)fairyInfo {
_fairyInfo = fairyInfo;
if (_fairyInfo) {
self.ballView.imageUrl = _fairyInfo.elfPicUrl;
NSString * nick = _fairyInfo.nick;
NSString * title = [NSString stringWithFormat:YMLocalizedString(@"XPTreasureFairyMessageSendView1"), nick, _fairyInfo.elfName];
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:15], NSForegroundColorAttributeName:[UIColor whiteColor]}];
[attribute addAttribute:NSForegroundColorAttributeName value:[DJDKMIMOMColor colorWithHexString:@"#FEF8AA"] range:[title rangeOfString:nick]];
self.titleLabel.attributedText = attribute;
self.titleLabel.textAlignment = NSTextAlignmentCenter;
}
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_treasure_fairy_my_send_record_bg"];
}
return _backImageView;
}
- (NetImageView *)ballView {
if (!_ballView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_ballView = [[NetImageView alloc] initWithConfig:config];
_ballView.layer.masksToBounds = YES;
_ballView.layer.cornerRadius = 45;
_ballView.layer.borderColor = [DJDKMIMOMColor appMainColor].CGColor;
_ballView.layer.borderWidth = 0.5;
}
return _ballView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.numberOfLines = 0;
}
return _titleLabel;
}
- (UIButton *)cancleButton {
if (!_cancleButton) {
_cancleButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_cancleButton setTitle:YMLocalizedString(@"XPTreasureFairyMessageSendView2") forState:UIControlStateNormal];
[_cancleButton setTitleColor:[DJDKMIMOMColor colorWithHexString:@"#008573"] forState:UIControlStateNormal];
_cancleButton.titleLabel.font = [UIFont systemFontOfSize:13];
[_cancleButton setBackgroundImage:[UIImage imageNamed:@"room_treasure_fairy_store_result_close_bg"] forState:UIControlStateNormal];
_cancleButton.layer.masksToBounds = YES;
_cancleButton.layer.cornerRadius = 10;
[_cancleButton addTarget:self action:@selector(cancleButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _cancleButton;
}
- (UIButton *)sureButton {
if (!_sureButton) {
_sureButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_sureButton setTitleColor:[DJDKMIMOMColor colorWithHexString:@"#8A4801"] forState:UIControlStateNormal];
_sureButton.titleLabel.font = [UIFont systemFontOfSize:13];
[_sureButton setTitle:YMLocalizedString(@"XPTreasureFairyMessageSendView3") forState:UIControlStateNormal];
[_sureButton setBackgroundImage:[UIImage imageNamed:@"room_treasure_fairy_sure_bg"] forState:UIControlStateNormal];
_sureButton.layer.masksToBounds = YES;
_sureButton.layer.cornerRadius = 10;
[_sureButton addTarget:self action:@selector(sureButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _sureButton;
}
@end

View File

@@ -1,31 +0,0 @@
//
// XPTreasureFairyMoreView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/21.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, TreasureFairyMoreType) {
TreasureFairyMoreType_Rule = 1,
///记录
TreasureFairyMoreType_Record,
///达人
TreasureFairyMoreType_Expet
};
@class XPTreasureFairyMoreView;
@protocol XPTreasureFairyMoreViewDelegate <NSObject>
- (void)xPTreasureFairyMoreView:(XPTreasureFairyMoreView *)view didClickButton:(TreasureFairyMoreType)type;
@end
@interface XPTreasureFairyMoreView : UIView
///代理
@property (nonatomic,weak) id<XPTreasureFairyMoreViewDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,133 +0,0 @@
//
// XPTreasureFairyMoreView.m
// xplan-ios
//
// Created by on 2023/2/21.
//
#import "XPTreasureFairyMoreView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
@interface XPTreasureFairyMoreView ()
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UIButton *ruleButton;
///
@property (nonatomic,strong) UIButton *recordButton;
///
@property (nonatomic,strong) UIButton *expetButton;
@end
@implementation XPTreasureFairyMoreView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.backImageView];
[self.backImageView addSubview:self.ruleButton];
[self.backImageView addSubview:self.recordButton];
[self.backImageView addSubview:self.expetButton];
}
- (void)initSubViewConstraints {
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.ruleButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView);
make.height.mas_equalTo(30);
make.top.mas_equalTo(self.backImageView).offset(25);
}];
[self.recordButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView);
make.height.mas_equalTo(self.recordButton);
make.top.mas_equalTo(self.ruleButton.mas_bottom).offset(3);
}];
[self.expetButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView);
make.height.mas_equalTo(self.recordButton);
make.top.mas_equalTo(self.recordButton.mas_bottom).offset(3);
}];
}
#pragma mark - Event Response
- (void)ruleButtonAction:(UIButton *)sender {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPTreasureFairyMoreView:didClickButton:)]) {
[self.delegate xPTreasureFairyMoreView:self didClickButton:TreasureFairyMoreType_Rule];
}
}
- (void)expetButtonAction:(UIButton *)sender {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPTreasureFairyMoreView:didClickButton:)]) {
[self.delegate xPTreasureFairyMoreView:self didClickButton:TreasureFairyMoreType_Expet];
}
}
- (void)recordButtonAction:(UIButton *)sender {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPTreasureFairyMoreView:didClickButton:)]) {
[self.delegate xPTreasureFairyMoreView:self didClickButton:TreasureFairyMoreType_Record];
}
}
#pragma mark - Getters And Setters
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_treasure_fairy_more_title_bg"];
}
return _backImageView;
}
- (UIButton *)ruleButton {
if (!_ruleButton) {
_ruleButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_ruleButton setTitle:YMLocalizedString(@"XPTreasureFairyMoreView0") forState:UIControlStateNormal];
[_ruleButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_ruleButton.titleLabel.font = [UIFont systemFontOfSize:13];
[_ruleButton addTarget:self action:@selector(ruleButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _ruleButton;
}
- (UIButton *)expetButton {
if (!_expetButton) {
_expetButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_expetButton setTitle:YMLocalizedString(@"XPTreasureFairyMoreView1") forState:UIControlStateNormal];
[_expetButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_expetButton.titleLabel.font = [UIFont systemFontOfSize:13];
[_expetButton addTarget:self action:@selector(expetButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _expetButton;
}
- (UIButton *)recordButton {
if (!_recordButton) {
_recordButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_recordButton setTitle:YMLocalizedString(@"XPTreasureFairyMoreView2") forState:UIControlStateNormal];
[_recordButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_recordButton.titleLabel.font = [UIFont systemFontOfSize:13];
[_recordButton addTarget:self action:@selector(recordButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _recordButton;
}
@end

View File

@@ -1,20 +0,0 @@
//
// XPTreasureFairyMyView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/22.
//
#import <UIKit/UIKit.h>
#import "TreasureFailyKeyInfoModel.h"
NS_ASSUME_NONNULL_BEGIN
typedef void(^CloseViewAction)(void);
@interface XPTreasureFairyMyView : UIView
///用户信息
@property (nonatomic,strong) TreasureFailyKeyInfoModel *keyInfo;
@property(nonatomic,copy) CloseViewAction closeViewAction;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,387 +0,0 @@
//
// XPTreasureFairyMyView.m
// xplan-ios
//
// Created by on 2023/2/22.
//
#import "XPTreasureFairyMyView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "XPTreasureFairyTrialsView.h"
#import "Api+TreasureFairy.h"
#import "TTPopup.h"
///Model
#import "TreasureFairyBallInfoModel.h"
///View
#import "XPTreasureFairyBallContentView.h"
#import "XPTreasureFairySendRecordView.h"
#import "XPTreasureFairyFriendView.h"
@interface XPTreasureFairyMyView ()<XPTreasureFairyBallContentViewDelegate, XPTreasureFairyFriendViewDelegate>
///
@property (nonatomic,strong) UIButton *backButton;
///
@property (nonatomic,strong) UIView *dismissView;
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UIImageView *titleImageView;
///
@property (nonatomic,strong) UIImageView *tipsImageView;
///
@property (nonatomic,strong) UIButton *recordButton;
///
@property (nonatomic,strong) UIImageView *segmentView;
///
@property (nonatomic,strong) UIButton *lowButton;
///
@property (nonatomic,strong) UIButton *highButton;
///
@property (nonatomic,strong) XPTreasureFairyBallContentView *lowView;
///
@property (nonatomic,strong) XPTreasureFairyBallContentView *highView;
///
@property (nonatomic,strong) TreasureFairyBallInfoModel *ballInfo;
///
@property (nonatomic,strong) UIButton *fairyExPerButton;
@end
@implementation XPTreasureFairyMyView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initHttpRequest];
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initHttpRequest {
[Api treasureFairyMyBallList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
TreasureFairyBallInfoModel * info = [TreasureFairyBallInfoModel modelWithDictionary:data.data];
self.ballInfo = info;
self.lowView.datasource = info.lowElves;
self.highView.datasource = info.highElves;
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
}];
}
- (void)initSubViews {
[self addSubview:self.dismissView];
[self addSubview:self.backImageView];
[self addSubview:self.backButton];
[self addSubview:self.titleImageView];
[self addSubview:self.tipsImageView];
[self addSubview:self.fairyExPerButton];
[self addSubview:self.recordButton];
[self addSubview:self.segmentView];
[self addSubview:self.lowView];
[self addSubview:self.highView];
[self addSubview:self.lowButton];
[self addSubview:self.highButton];
}
-(void)setKeyInfo:(TreasureFailyKeyInfoModel *)keyInfo{
_keyInfo =keyInfo;
if(_keyInfo.spriteLevel == 0){
[self lowButtonAction:self.lowButton];
}else{
[self highButtonAction:self.highButton];
}
}
- (void)initSubViewConstraints {
CGFloat kscale = 580.0 / 375.0;
[self.dismissView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.top.mas_equalTo(self);
make.bottom.mas_equalTo(self.backImageView.mas_top);
}];
CGFloat height = KScreenWidth * kscale ;
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.mas_equalTo(self);
make.height.mas_equalTo(height);
}];
[self.backButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(28, 28));
make.leading.mas_equalTo(self.backImageView).offset(15);
make.top.mas_equalTo(self.backImageView).offset(40 * kScreenScale);
}];
[self.titleImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(153, 78));
make.centerX.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.backImageView).mas_offset(10);
}];
[self.tipsImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.titleImageView.mas_bottom).mas_offset(25);
make.size.mas_equalTo(CGSizeMake(235, 32));
make.centerX.mas_equalTo(self.backImageView);
}];
[self.recordButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(50, 42));
make.centerY.mas_equalTo(self.tipsImageView);
make.trailing.mas_equalTo(self.backImageView).offset(-15);
}];
[self.fairyExPerButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(15);
make.size.mas_equalTo(CGSizeMake(50, 45));
make.centerY.mas_equalTo(self.tipsImageView);
}];
[self.segmentView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(345, 41));
make.centerX.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.tipsImageView.mas_bottom).offset(18 * kScreenScale);
}];
[self.lowButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(163, 46));
make.leading.mas_equalTo(self.segmentView.mas_leading).offset(5);
make.centerY.mas_equalTo(self.segmentView).offset(1.5);
}];
[self.highButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerY.mas_equalTo(self.lowButton);
make.leading.mas_equalTo(self.lowButton.mas_trailing).offset(7);
}];
[self.lowView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.segmentView.mas_bottom).offset(16 * kScreenScale);
}];
[self.highView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.lowView);
}];
}
- (void)fairyExperButtonAction:(UIButton *)sender {
XPTreasureFairyTrialsView * view = [[XPTreasureFairyTrialsView alloc] init];
view.frame = CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight);
[self addSubview:view];
[UIView animateWithDuration:0.3 animations:^{
CGRect rect = view.frame;
rect.origin.y = 0;
view.frame = rect;
}];
}
#pragma mark - XPTreasureFairyFriendViewDelegate
- (void)treasureFairyFriendFinish:(XPTreasureFairyFriendView *)view {
[self initHttpRequest];
}
#pragma mark - XPTreasureFairyBallContentViewDelegate
- (void)xPTreasureFairyBallContentView:(XPTreasureFairyBallContentView *)view askInfo:(TreasureFairyBallModel *)askInfo {
XPTreasureFairyFriendView * friendView = [[XPTreasureFairyFriendView alloc] init];
friendView.isSend = NO;
friendView.delegate = self;
friendView.ballInfo = askInfo;
friendView.frame = CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight);
[self addSubview:friendView];
[UIView animateWithDuration:0.3 animations:^{
CGRect rect = friendView.frame;
rect.origin.y = 0;
friendView.frame = rect;
}];
}
- (void)xPTreasureFairyBallContentView:(XPTreasureFairyBallContentView *)view sendInfo:(TreasureFairyBallModel *)sendInfo {
XPTreasureFairyFriendView * friendView = [[XPTreasureFairyFriendView alloc] init];
friendView.delegate = self;
friendView.isSend = YES;
friendView.ballInfo = sendInfo;
friendView.frame = CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight);
[self addSubview:friendView];
[UIView animateWithDuration:0.3 animations:^{
CGRect rect = friendView.frame;
rect.origin.y = 0;
friendView.frame = rect;
}];
}
#pragma mark - Event Response
- (void)dismissRecognizer {
if(self.closeViewAction){
self.closeViewAction();
}
[UIView animateWithDuration:0.3 animations:^{
CGRect rect = self.frame;
rect.origin.y = KScreenHeight;
self.frame = rect;
} completion:^(BOOL finished) {
[self removeFromSuperview];
}];
}
- (void)lowButtonAction:(UIButton *)sender {
sender.selected = YES;
self.keyInfo.spriteLevel = 0;
self.highButton.selected = NO;
self.lowView.hidden = NO;
self.highView.hidden = YES;
NSMutableArray * array = [NSMutableArray array];
for (TreasureFairyBallModel * info in self.ballInfo.lowElves) {
info.isFlip = NO;
[array addObject:info];
}
self.lowView.datasource = array;
}
- (void)highButtonAction:(UIButton *)sender {
sender.selected = YES;
self.keyInfo.spriteLevel = 2;
self.lowButton.selected = NO;
self.lowView.hidden = YES;
self.highView.hidden = NO;
NSMutableArray * array = [NSMutableArray array];
for (TreasureFairyBallModel * info in self.ballInfo.highElves) {
info.isFlip = NO;
[array addObject:info];
}
self.highView.datasource = array;
}
- (void)recordButtonAction:(UIButton *)sender {
XPTreasureFairySendRecordView * recordView = [[XPTreasureFairySendRecordView alloc] init];
[TTPopup popupView:recordView style:TTPopupStyleActionSheet];
}
#pragma mark - Getters And Setters
- (UIButton *)backButton {
if (!_backButton) {
_backButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_backButton setImage:[[UIImage imageNamed:@"room_treasure_fairy_back"]ms_SetImageForRTL] forState:UIControlStateNormal];
[_backButton setImage:[[UIImage imageNamed:@"room_treasure_fairy_back"]ms_SetImageForRTL] forState:UIControlStateSelected];
[_backButton addTarget:self action:@selector(dismissRecognizer) forControlEvents:UIControlEventTouchUpInside];
}
return _backButton;
}
- (UIView *)dismissView {
if (!_dismissView) {
_dismissView = [[UIView alloc] init];
_dismissView.backgroundColor = [UIColor clearColor];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissRecognizer)];
[_dismissView addGestureRecognizer:tap];
}
return _dismissView;
}
- (UIImageView *)titleImageView {
if (!_titleImageView) {
_titleImageView = [[UIImageView alloc] init];
_titleImageView.userInteractionEnabled = YES;
_titleImageView.image = [UIImage getLanguageImage:@"room_treasure_fairy_my_title"];
}
return _titleImageView;
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_treasure_fairy_bg"];
}
return _backImageView;
}
- (UIImageView *)tipsImageView {
if (!_tipsImageView) {
_tipsImageView = [[UIImageView alloc] init];
_tipsImageView.userInteractionEnabled = YES;
_tipsImageView.image = [UIImage getLanguageImage:@"room_treasure_fairy_my_tips_bg"];
}
return _tipsImageView;
}
- (UIButton *)recordButton {
if (!_recordButton) {
_recordButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_recordButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_my_record_bg"] forState:UIControlStateNormal];
[_recordButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_my_record_bg"] forState:UIControlStateSelected];
[_recordButton addTarget:self action:@selector(recordButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _recordButton;
}
- (UIImageView *)segmentView {
if (!_segmentView) {
_segmentView = [[UIImageView alloc] init];
_segmentView.image = [UIImage imageNamed:@"room_treasure_fairy_my_segment_bg"];
_segmentView.userInteractionEnabled = YES;
}
return _segmentView;
}
- (UIButton *)lowButton {
if (!_lowButton) {
_lowButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_lowButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_my_low_title_normal"] forState:UIControlStateNormal];
[_lowButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_my_low_title_select"] forState:UIControlStateSelected];
[_lowButton addTarget:self action:@selector(lowButtonAction:) forControlEvents:UIControlEventTouchUpInside];
_lowButton.selected = YES;
}
return _lowButton;
}
- (UIButton *)highButton {
if (!_highButton) {
_highButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_highButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_my_high_title_normal"] forState:UIControlStateNormal];
[_highButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_my_high_title_select"] forState:UIControlStateSelected];
[_highButton addTarget:self action:@selector(highButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _highButton;
}
- (XPTreasureFairyBallContentView *)lowView {
if (!_lowView) {
_lowView = [[XPTreasureFairyBallContentView alloc] init];
_lowView.delegate = self;
}
return _lowView;
}
- (XPTreasureFairyBallContentView *)highView {
if (!_highView) {
_highView = [[XPTreasureFairyBallContentView alloc] init];
_highView.hidden = YES;
_highView.delegate = self;
}
return _highView;
}
- (UIButton *)fairyExPerButton {
if (!_fairyExPerButton) {
_fairyExPerButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_fairyExPerButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_store_exper_bg"] forState:UIControlStateNormal];
[_fairyExPerButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_store_exper_bg"] forState:UIControlStateSelected];
[_fairyExPerButton addTarget:self action:@selector(fairyExperButtonAction:) forControlEvents:UIControlEventTouchUpInside];
_fairyExPerButton.yn_acceptEventInterval = 1;
}
return _fairyExPerButton;
}
@end

View File

@@ -1,19 +0,0 @@
//
// XPTreasureFairyNewSummonView.h
// YuMi
//
// Created by duoban on 2023/9/6.
//
#import <UIKit/UIKit.h>
#import "TreasureFairyUserInfoModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPTreasureFairyNewSummonView : UIView
///房主的uid
@property (nonatomic,strong) NSString *roomUid;
///用户信息
@property (nonatomic,strong) TreasureFairyUserInfoModel *userInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,356 +0,0 @@
//
// XPTreasureFairyNewSummonView.m
// YuMi
//
// Created by duoban on 2023/9/6.
//
#import "XPTreasureFairyNewSummonView.h"
#import "XPTreasureFairyNewSummonCell.h"
#import "Api+TreasureFairy.h"
#import "TreasureFairyBallInfoModel.h"
#import "XPTreasureFairyStoreResultSmallView.h"
@interface XPTreasureFairyNewSummonView()<UICollectionViewDelegate, UICollectionViewDataSource,XPTreasureFairyNewSummonCellDelegate>
///
@property (nonatomic,strong) UICollectionView *collectionView;
///
@property (nonatomic,strong) NSMutableArray <TreasureFairyFragmentModel *>*fragmentArray;
///
@property (nonatomic,strong) UIImageView *userImageView;
///
@property (nonatomic,strong) NetImageView *avatarImageView;
///
@property (nonatomic,strong) UILabel *nickLabel;
@property(nonatomic,strong) UILabel *firstNumView;
@property(nonatomic,strong) NetImageView *firstFairyView;
@property(nonatomic,strong) UILabel *secondNumView;
@property(nonatomic,strong) NetImageView *secondFairyView;
@property(nonatomic,strong) UILabel *thirdNumView;
@property(nonatomic,strong) NetImageView *thirdFairyView;
@end
@implementation XPTreasureFairyNewSummonView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self initHttpRequest];
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self addSubview:self.collectionView];
[self addSubview:self.userImageView];
[self.userImageView addSubview:self.avatarImageView];
[self.userImageView addSubview:self.nickLabel];
[self.userImageView addSubview:self.firstNumView];
[self.userImageView addSubview:self.firstFairyView];
[self.userImageView addSubview:self.secondNumView];
[self.userImageView addSubview:self.secondFairyView];
[self.userImageView addSubview:self.thirdNumView];
[self.userImageView addSubview:self.thirdFairyView];
}
-(void)installConstraints{
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self);
}];
CGFloat kuserScale = 78.0 / 375.0;
[self.userImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(KScreenWidth, KScreenWidth * kuserScale));
make.bottom.mas_equalTo(self);
make.centerX.mas_equalTo(self);
}];
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(44, 44));
make.leading.mas_equalTo(self.userImageView).offset(15);
make.top.mas_equalTo(self.userImageView).offset(11 * kScreenScale);
}];
[self.nickLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.avatarImageView.mas_trailing).offset(2);
make.centerY.mas_equalTo(self.avatarImageView);
}];
[self.firstNumView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(-16);
make.centerY.mas_equalTo(self.avatarImageView);
}];
[self.firstFairyView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.equalTo(self.firstNumView.mas_leading).mas_offset(-5);
make.centerY.mas_equalTo(self.avatarImageView);
make.width.height.mas_equalTo(25);
}];
[self.secondNumView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.equalTo(self.firstFairyView.mas_leading).mas_offset(-12);
make.centerY.mas_equalTo(self.avatarImageView);
}];
[self.secondFairyView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.equalTo(self.secondNumView.mas_leading).mas_offset(-5);
make.centerY.mas_equalTo(self.avatarImageView);
make.width.height.mas_equalTo(25);
}];
[self.thirdNumView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.equalTo(self.secondFairyView.mas_leading).mas_offset(-12);
make.centerY.mas_equalTo(self.avatarImageView);
}];
[self.thirdFairyView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.equalTo(self.thirdNumView.mas_leading).mas_offset(-5);
make.centerY.mas_equalTo(self.avatarImageView);
make.width.height.mas_equalTo(25);
}];
_firstNumView.hidden = YES;
_firstFairyView.hidden = YES;
_secondNumView.hidden = YES;
_secondFairyView.hidden = YES;
_thirdNumView.hidden = YES;
_thirdFairyView.hidden = YES;
}
#pragma mark - Private Method
- (void)initHttpRequest {
[self getFragmentExchangeList];
[self getMyBallList];
}
- (void)getFragmentExchangeList {
//
[Api treasureFailyConvertElfList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
NSArray * fragmentList = [TreasureFairyFragmentModel modelsWithArray:data.data];
[self.fragmentArray removeAllObjects];
[self.fragmentArray addObjectsFromArray:fragmentList];
[self.collectionView reloadData];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
}];
}
- (void)extracted {
[Api treasureFairyMyBallList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
TreasureFairyBallInfoModel * info = [TreasureFairyBallInfoModel modelWithDictionary:data.data];
TreasureFairyBallModel *firstModel = [info.highElves xpSafeObjectAtIndex:0];
TreasureFairyBallModel *secondModel = [info.highElves xpSafeObjectAtIndex:1];
TreasureFairyBallModel *thirdModel = [info.highElves xpSafeObjectAtIndex:2];
if(firstModel != nil){
self.firstNumView.hidden = NO;
self.firstFairyView.hidden = NO;
self.firstNumView.text = @(firstModel.elfNum).stringValue;
self.firstFairyView.imageUrl = firstModel.elfPicUrl;
}
if(secondModel != nil){
self.secondNumView.hidden = NO;
self.secondFairyView.hidden = NO;
self.secondNumView.text = @(secondModel.elfNum).stringValue;
self.secondFairyView.imageUrl = secondModel.elfPicUrl;
}
if(thirdModel != nil){
self.thirdNumView.hidden = NO;
self.thirdFairyView.hidden = NO;
self.thirdNumView.text = @(thirdModel.elfNum).stringValue;
self.thirdFairyView.imageUrl = thirdModel.elfPicUrl;
}
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
}];
}
- (void)getMyBallList {
//
[self extracted];
}
#pragma mark - UICollectionViewDelegate, UICollectionViewDataSource
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.fragmentArray.count;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
XPTreasureFairyNewSummonCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPTreasureFairyNewSummonCell class]) forIndexPath:indexPath];
TreasureFairyFragmentModel *model = self.fragmentArray[indexPath.row];
cell.fragmemtModel = model;
cell.delegate = self;
return cell;
}
///
- (void)treasureFairyShopingExchangeAction:(TreasureFairyFragmentModel *)fragmentModel{
if (fragmentModel.itemId > 0) {
TTAlertConfig * config = [[TTAlertConfig alloc] init];
config.title = @"";
NSString * untils;
if ([fragmentModel.rewardType isEqualToString:@"gift"]) {
untils = [NSString stringWithFormat:@"%@%@", fragmentModel.rewardShowValue, YMLocalizedString(@"XPTreasureFairyExchangeView0")];
} else {
untils = [NSString stringWithFormat:@"%ld%@", fragmentModel.rewardNum, fragmentModel.rewardUnit];
}
config.title = YMLocalizedString(@"XPTreasureFairyExchangeView1");
config.confirmButtonConfig.title = YMLocalizedString(@"XPTreasureFairyExchangeView2");
config.message = [NSString stringWithFormat:YMLocalizedString(@"XPTreasureFairyExchangeView3"), fragmentModel.rewardName, untils];
[TTPopup alertWithConfig:config confirmHandler:^{
NSString *propIdStr = @"";
NSString *propNumStr = @"";
for (TreasureFairyFragmentItemModel *itemModel in fragmentModel.propItems) {
if(propIdStr.length == 0){
propIdStr = itemModel.propId;
}else{
propIdStr = [NSString stringWithFormat:@"%@,%@",propIdStr,itemModel.propId];
}
if(propNumStr.length == 0){
propNumStr = itemModel.propNum;
}else{
propNumStr = [NSString stringWithFormat:@"%@,%@",propNumStr,itemModel.propNum];
}
}
if(propIdStr.length == 0)return;
[Api treasureFailyConvert:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"XPTreasureFairyExchangeView4")];
///
[self getMyBallList];
TreasureFairyInfoModel * info = [TreasureFairyInfoModel modelWithDictionary:data.data];
XPTreasureFairyStoreResultSmallView * smallView = [[XPTreasureFairyStoreResultSmallView alloc] init];
smallView.datasource = @[info];
smallView.titleLabel.text = YMLocalizedString(@"XPTreasureFairySummonView0");
[TTPopup popupView:smallView style:TTPopupStyleActionSheet];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
} itemId:[NSString stringWithFormat:@"%ld", fragmentModel.itemId] roomUid:self.roomUid propIdStr:propIdStr propNumStr:propNumStr];
} cancelHandler:^{
}];
}
}
#pragma mark -
- (void)setUserInfo:(TreasureFairyUserInfoModel *)userInfo {
_userInfo = userInfo;
self.avatarImageView.imageUrl = userInfo.avatar;
NSString * nick = userInfo.nick;
if (nick.length > 4) {
nick = [NSString stringWithFormat:@"%@…", [nick substringToIndex:4]];
}
self.nickLabel.text = nick;
}
- (UICollectionView *)collectionView {
if (!_collectionView) {
MSBaseRTLFlowLayout *layout = [[MSBaseRTLFlowLayout alloc] init];
layout.scrollDirection = UICollectionViewScrollDirectionVertical;
CGFloat space = (KScreenWidth - 169.0 * 2)/3 - 1;
layout.itemSize = CGSizeMake(169.0, 242.0);
layout.minimumInteritemSpacing = space;
layout.minimumLineSpacing = space;
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
_collectionView.backgroundColor = UIColor.clearColor;
_collectionView.delegate = self;
_collectionView.dataSource = self;
CGFloat kuserScale = 91.0 / 375.0;
CGFloat insetsBottom = KScreenWidth * kuserScale;
_collectionView.contentInset = UIEdgeInsetsMake(0, space, insetsBottom, space);
[_collectionView registerClass:[XPTreasureFairyNewSummonCell class] forCellWithReuseIdentifier:NSStringFromClass([XPTreasureFairyNewSummonCell class])];
}
return _collectionView;
}
- (UIImageView *)userImageView {
if (!_userImageView) {
_userImageView = [[UIImageView alloc] init];
_userImageView.userInteractionEnabled = YES;
_userImageView.image = [UIImage imageNamed:@"room_treasure_fairy_new_userinfo_bg"];
}
return _userImageView;
}
- (NetImageView *)avatarImageView {
if (!_avatarImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_avatarImageView = [[NetImageView alloc] initWithConfig:config];
_avatarImageView.layer.masksToBounds = YES;
_avatarImageView.layer.cornerRadius = 44/2;
_avatarImageView.layer.borderColor = [DJDKMIMOMColor appMainColor].CGColor;
}
return _avatarImageView;
}
- (UILabel *)nickLabel {
if (!_nickLabel) {
_nickLabel = [[UILabel alloc] init];
_nickLabel.font = [UIFont systemFontOfSize:13];
_nickLabel.textColor = [UIColor whiteColor];
_nickLabel.text = YMLocalizedString(@"XPTreasureFairyExchangeView5");
}
return _nickLabel;
}
- (NSMutableArray<TreasureFairyFragmentModel *> *)fragmentArray {
if (!_fragmentArray) {
_fragmentArray = [NSMutableArray array];
}
return _fragmentArray;
}
- (UILabel *)firstNumView{
if(!_firstNumView){
_firstNumView = [UILabel labelInitWithText:@"0" font:[UIFont systemFontOfSize:12 weight:UIFontWeightRegular] textColor:[UIColor whiteColor]];
}
return _firstNumView;
}
- (NetImageView *)firstFairyView{
if(!_firstFairyView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_firstFairyView = [[NetImageView alloc]initWithConfig:config];
}
return _firstFairyView;
}
- (UILabel *)secondNumView{
if(!_secondNumView){
_secondNumView = [UILabel labelInitWithText:@"0" font:[UIFont systemFontOfSize:12 weight:UIFontWeightRegular] textColor:[UIColor whiteColor]];
}
return _secondNumView;
}
- (NetImageView *)secondFairyView{
if(!_secondFairyView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_secondFairyView = [[NetImageView alloc]initWithConfig:config];
}
return _secondFairyView;
}
- (UILabel *)thirdNumView{
if(!_thirdNumView){
_thirdNumView = [UILabel labelInitWithText:@"0" font:[UIFont systemFontOfSize:12 weight:UIFontWeightRegular] textColor:[UIColor whiteColor]];
}
return _thirdNumView;
}
- (NetImageView *)thirdFairyView{
if(!_thirdFairyView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_thirdFairyView = [[NetImageView alloc]initWithConfig:config];
}
return _thirdFairyView;
}
@end

View File

@@ -1,18 +0,0 @@
//
// XPTreasureFairyPoolRecordView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/21.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPTreasureFairyPoolRecordView : UIView
@property (nonatomic,strong) NSArray *lowList;
@property (nonatomic,strong) NSArray *middleList;
@property (nonatomic,strong) NSArray *highList;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,179 +0,0 @@
//
// XPTreasureFairyPoolRecordView.m
// xplan-ios
//
// Created by on 2023/2/21.
//
#import "XPTreasureFairyPoolRecordView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "TTPopup.h"
///View
#import "XPTreasureFairyPrizePoolView.h"
#import "XPTreasureFairyPrizeRecordView.h"
@interface XPTreasureFairyPoolRecordView ()
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UIView *bottomView;
///
@property (nonatomic,strong) UIButton *prizePoolButton;
///
@property (nonatomic,strong) UIButton *recordButton;
///
@property (nonatomic,strong) XPTreasureFairyPrizeRecordView *recordView;
///
@property (nonatomic,strong) XPTreasureFairyPrizePoolView *poolView;
@end
@implementation XPTreasureFairyPoolRecordView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.backImageView];
[self addSubview:self.bottomView];
[self.backImageView addSubview:self.prizePoolButton];
[self.backImageView addSubview:self.recordButton];
[self.backImageView addSubview:self.poolView];
[self.backImageView addSubview:self.recordView];
}
- (void)initSubViewConstraints {
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.centerX.mas_equalTo(self);
make.size.mas_equalTo(CGSizeMake(321, 386));
}];
[self.bottomView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.mas_equalTo(self);
make.top.mas_equalTo(self.backImageView.mas_bottom);
}];
[self.prizePoolButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(120, 39));
make.trailing.mas_equalTo(self.backImageView.mas_centerX).offset(-18);
make.top.mas_equalTo(self.backImageView);
}];
[self.recordButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(120, 39));
make.leading.mas_equalTo(self.backImageView.mas_centerX).offset(18);
make.top.mas_equalTo(self.backImageView);
}];
[self.recordView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView).inset(5);
make.bottom.mas_equalTo(self.backImageView).offset(-30);
make.top.mas_equalTo(self.prizePoolButton.mas_bottom).offset(24);
}];
[self.poolView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView).inset(5);
make.bottom.mas_equalTo(self.backImageView).offset(-30);
make.top.mas_equalTo(self.prizePoolButton.mas_bottom).offset(24);
}];
}
#pragma mark - Event Response
- (void)prizePoolButtonAction:(UIButton *)sender {
self.recordButton.selected = NO;
self.prizePoolButton.selected = YES;
self.recordView.hidden = YES;
self.poolView.hidden = NO;
}
- (void)recordButtonAction:(UIButton *)sender {
self.recordButton.selected = YES;
self.prizePoolButton.selected = NO;
self.recordView.hidden = NO;
self.poolView.hidden = YES;
}
- (void)dismissView {
[TTPopup dismiss];
}
#pragma mark - Getters And Setters
- (void)setLowList:(NSArray *)lowList {
self.poolView.lowList = lowList;
}
- (void)setMiddleList:(NSArray *)middleList {
self.poolView.middleList = middleList;
}
- (void)setHighList:(NSArray *)highList {
self.poolView.highList = highList;
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_treasure_fairy_pool_bg"];
}
return _backImageView;
}
- (UIView *)bottomView {
if (!_bottomView) {
_bottomView = [[UIView alloc] init];
_bottomView.backgroundColor = [UIColor clearColor];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissView)];
[_bottomView addGestureRecognizer:tap];
}
return _bottomView;
}
- (UIButton *)prizePoolButton {
if (!_prizePoolButton) {
_prizePoolButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_prizePoolButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_pool_normal"] forState:UIControlStateNormal];
[_prizePoolButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_pool_select"] forState:UIControlStateSelected];
[_prizePoolButton addTarget:self action:@selector(prizePoolButtonAction:) forControlEvents:UIControlEventTouchUpInside];
_prizePoolButton.selected = YES;
}
return _prizePoolButton;
}
- (UIButton *)recordButton {
if (!_recordButton) {
_recordButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_recordButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_record_normal"] forState:UIControlStateNormal];
[_recordButton setImage:[UIImage getLanguageImage:@"room_treasure_fairy_record_select"] forState:UIControlStateSelected];
[_recordButton addTarget:self action:@selector(recordButtonAction:) forControlEvents:UIControlEventTouchUpInside];
_recordButton.selected = NO;
}
return _recordButton;
}
- (XPTreasureFairyPrizePoolView *)poolView {
if(!_poolView) {
_poolView = [[XPTreasureFairyPrizePoolView alloc] init];
}
return _poolView;
}
- (XPTreasureFairyPrizeRecordView *)recordView {
if (!_recordView) {
_recordView = [[XPTreasureFairyPrizeRecordView alloc] init];
_recordView.hidden = YES;
}
return _recordView;
}
@end

View File

@@ -1,18 +0,0 @@
//
// XPTreasureFairyPrizePoolView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/21.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPTreasureFairyPrizePoolView : UIView
@property (nonatomic,strong) NSArray *lowList;
@property (nonatomic,strong) NSArray *middleList;
@property (nonatomic,strong) NSArray *highList;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,171 +0,0 @@
//
// XPTreasureFairyPrizePoolView.m
// xplan-ios
//
// Created by on 2023/2/21.
//
#import "XPTreasureFairyPrizePoolView.h"
///Third
#import <Masonry/Masonry.h>
#import <JXCategoryView/JXCategoryView.h>
#import <JXCategoryView/JXCategoryIndicatorBackgroundView.h>
#import <JXCategoryView/JXCategoryListContainerView.h>
///Tool
#import "UIImage+Utils.h"
#import "Api+TreasureFairy.h"
///Model
#import "TreasureFairyInfoModel.h"
///View
#import "XPTreasureFairyPrizeSubView.h"
#import "XPTreasureFairyStoreView.h"
@interface XPTreasureFairyPrizePoolView ()<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate>
///
@property (nonatomic, strong) NSArray<NSString *> *titles;
///
@property (nonatomic, strong) JXCategoryTitleView *titleView;
///lineView
@property (nonatomic, strong) JXCategoryListContainerView *pi_containerView;
///
@property (nonatomic,strong) XPTreasureFairyPrizeSubView *normalView;
///
@property (nonatomic,strong) XPTreasureFairyPrizeSubView *middleView;
///
@property (nonatomic,strong) XPTreasureFairyPrizeSubView *highView;
@end
@implementation XPTreasureFairyPrizePoolView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
[self addSubview:self.titleView];
[self addSubview:self.pi_containerView];
}
- (void)initSubViewConstraints {
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self);
make.width.mas_equalTo(60 * 3 + 24 * 2);
make.height.mas_equalTo(30);
make.top.mas_equalTo(self).offset(0);
}];
[self.pi_containerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.mas_equalTo(self);
make.top.mas_equalTo(self.titleView.mas_bottom).offset(13);
}];
}
#pragma mark - JXCategoryViewDelegate
- (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
return self.titles.count;
}
- (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index {
if (index == 0) {
return self.normalView;
} else if (index == 1) {
return self.middleView;
} else {
return self.highView;
}
}
#pragma mark - Event Response
#pragma mark - Getters And Setters
- (void)setLowList:(NSArray *)lowList {
self.normalView.datasource = lowList;
}
- (void)setMiddleList:(NSArray *)middleList {
self.middleView.datasource = middleList;
}
- (void)setHighList:(NSArray *)highList {
self.highView.datasource = highList;
}
- (JXCategoryTitleView *)titleView {
if (!_titleView) {
_titleView = [[JXCategoryTitleView alloc] init];
_titleView.delegate = self;
_titleView.titles = self.titles;
_titleView.backgroundColor = [UIColor clearColor];
_titleView.titleColor = [UIColor whiteColor];
_titleView.titleSelectedColor = [UIColor whiteColor];
_titleView.titleFont = [UIFont systemFontOfSize:15];
_titleView.titleSelectedFont = [UIFont systemFontOfSize:15 weight:UIFontWeightMedium];
_titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
_titleView.defaultSelectedIndex = 0;
_titleView.cellSpacing = 24;
_titleView.cellWidthIncrement = 0;
_titleView.contentEdgeInsetLeft = 0;
_titleView.contentEdgeInsetRight = 0;
_titleView.cellWidth = 60;
_titleView.listContainer = self.pi_containerView;
JXCategoryIndicatorImageView *lineView = [[JXCategoryIndicatorImageView alloc] init];
lineView.indicatorImageViewSize = CGSizeMake(60, 4);
lineView.verticalMargin = 2;
lineView.indicatorCornerRadius = 2;
lineView.indicatorImageView.image = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0x69FFEB), UIColorFromRGB(0xEAFF89)] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(60, 4)];
lineView.indicatorImageView.layer.masksToBounds = YES;
lineView.indicatorImageView.layer.cornerRadius = 2;
_titleView.indicators = @[lineView];
}
return _titleView;
}
- (JXCategoryListContainerView *)pi_containerView {
if (!_pi_containerView) {
_pi_containerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_pi_containerView.defaultSelectedIndex = 0;
_pi_containerView.scrollView.tag = 1009;
}
return _pi_containerView;
}
- (NSArray<NSString *> *)titles {
if (!_titles) {
_titles = @[YMLocalizedString(@"XPTreasureFairyPrizePoolView0"), YMLocalizedString(@"XPTreasureFairyPrizePoolView1"), YMLocalizedString(@"XPTreasureFairyPrizePoolView2")];
}
return _titles;
}
- (XPTreasureFairyPrizeSubView *)normalView {
if (!_normalView) {
_normalView = [[XPTreasureFairyPrizeSubView alloc] init];
}
return _normalView;
}
- (XPTreasureFairyPrizeSubView *)middleView {
if (!_middleView) {
_middleView = [[XPTreasureFairyPrizeSubView alloc] init];
}
return _middleView;
}
- (XPTreasureFairyPrizeSubView *)highView {
if (!_highView) {
_highView = [[XPTreasureFairyPrizeSubView alloc] init];
}
return _highView;
}
@end

View File

@@ -1,16 +0,0 @@
//
// XPTreasureFairyPrizeRecordView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/21.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPTreasureFairyPrizeRecordView : UIView
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,177 +0,0 @@
//
// XPTreasureFairyPrizeRecordView.m
// xplan-ios
//
// Created by on 2023/2/21.
//
#import "XPTreasureFairyPrizeRecordView.h"
///Third
#import <Masonry/Masonry.h>
#import <MJRefresh/MJRefresh.h>
///Tool
#import "Api+TreasureFairy.h"
#import "NSArray+Safe.h"
///Model
#import "TreasureFairyInfoModel.h"
///View
#import "XPTreasureFairyPrizeRecordCell.h"
@interface XPTreasureFairyPrizeRecordView ()<UITableViewDelegate, UITableViewDataSource>
///
@property (nonatomic,strong) UITableView *tableView;
///
@property (nonatomic,strong) NSMutableArray *datasource;
///
@property (nonatomic,strong) XPTreasureFairyPrizeRecordCell *headView;
///
@property (nonatomic,strong) UILabel *emptyView;
///
@property (nonatomic,strong) UILabel *XPTreasureFairyPrizePoolView;
@property (nonatomic,assign) NSInteger page;
@end
@implementation XPTreasureFairyPrizeRecordView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initHeaderAndFooterRrfresh];
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Refresh
- (void)initHeaderAndFooterRrfresh {
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];
header.stateLabel.font = [UIFont systemFontOfSize:10.0];
header.lastUpdatedTimeLabel.font = [UIFont systemFontOfSize:10.0];
header.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
header.lastUpdatedTimeLabel.textColor = [DJDKMIMOMColor secondTextColor];
self.tableView.mj_header = header;
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)];
footer.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
footer.stateLabel.font = [UIFont systemFontOfSize:10.0];
self.tableView.mj_footer = footer;
[self headerRefresh];
}
- (void)headerRefresh {
self.page = 1;
[Api treasureFairyForestDrawRecord:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
[self.tableView.mj_header endRefreshing];
if (code == 200) {
[self.datasource removeAllObjects];
NSArray * array = [TreasureFairyInfoModel modelsWithArray:data.data];
[self.datasource addObjectsFromArray:array];
self.emptyView.hidden = self.datasource.count > 0;
[self.tableView reloadData];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
} page:@"1" pageSize:@"20"];
}
- (void)footerRefresh {
self.page++;
[Api treasureFairyForestDrawRecord:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
[self.tableView.mj_footer endRefreshing];
if (code == 200) {
NSArray * array = [TreasureFairyInfoModel modelsWithArray:data.data];
if (array.count > 0) {
[self.datasource addObjectsFromArray:array];
}
self.emptyView.hidden = self.datasource.count > 0;
[self.tableView reloadData];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
} page:[NSString stringWithFormat:@"%ld", self.page] pageSize:@"20"];
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.tableView];
self.tableView.tableHeaderView = self.headView;
[self.tableView addSubview:self.emptyView];
}
- (void)initSubViewConstraints {
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.top.mas_equalTo(self);
make.bottom.mas_equalTo(self).offset(-20);
}];
[self.emptyView mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.equalTo(self.tableView);
}];
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 44;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.datasource.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
XPTreasureFairyPrizeRecordCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPTreasureFairyPrizeRecordCell class])];
if (cell == nil) {
cell = [[XPTreasureFairyPrizeRecordCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPTreasureFairyPrizeRecordCell class])];
}
TreasureFairyInfoModel * info = [self.datasource xpSafeObjectAtIndex:indexPath.row];
cell.recordInfo = info;
return cell;
}
#pragma mark - Getters And Setters
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.tableFooterView = [UIView new];
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_tableView.backgroundColor = [UIColor clearColor];
if (@available(iOS 11.0, *)) {
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
[_tableView registerClass:[XPTreasureFairyPrizeRecordCell class] forCellReuseIdentifier:NSStringFromClass([XPTreasureFairyPrizeRecordCell class])];
}
return _tableView;
}
- (XPTreasureFairyPrizeRecordCell *)headView {
if(!_headView) {
_headView = [[XPTreasureFairyPrizeRecordCell alloc] init];
_headView.timeLabel.text = YMLocalizedString(@"XPTreasureFairyPrizeRecordView0");
_headView.levelLabel.text = YMLocalizedString(@"XPTreasureFairyPrizeRecordView1");
_headView.prizeLabel.text = YMLocalizedString(@"XPTreasureFairyPrizeRecordView2");
_headView.timeLabel.font = [UIFont systemFontOfSize:13 weight:UIFontWeightMedium];
_headView.levelLabel.font = [UIFont systemFontOfSize:13 weight:UIFontWeightMedium];
_headView.prizeLabel.font = [UIFont systemFontOfSize:13 weight:UIFontWeightMedium];
_headView.frame = CGRectMake(0, 0, 360, 30);
}
return _headView;
}
- (NSMutableArray *)datasource {
if(!_datasource) {
_datasource = [NSMutableArray array];
}
return _datasource;
}
-(UILabel *)emptyView{
if (!_emptyView){
_emptyView = [UILabel labelInitWithText:YMLocalizedString(@"XPTreasureFairyViewController7") font:[UIFont systemFontOfSize:15 weight:UIFontWeightMedium] textColor:[UIColor whiteColor]];
_emptyView.hidden = YES;
}
return _emptyView;
}
@end

View File

@@ -1,17 +0,0 @@
//
// XPTreasureFairyPrizeSubView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/21.
//
#import <UIKit/UIKit.h>
#import <JXCategoryView/JXCategoryListContainerView.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPTreasureFairyPrizeSubView : UIView<JXCategoryListContentViewDelegate>
///数据源
@property (nonatomic,strong) NSArray *datasource;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,93 +0,0 @@
//
// XPTreasureFairyPrizeSubView.m
// xplan-ios
//
// Created by on 2023/2/21.
//
#import "XPTreasureFairyPrizeSubView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NSArray+Safe.h"
///View
#import "XPTreasureFairyPrizePoolCell.h"
@interface XPTreasureFairyPrizeSubView ()<UICollectionViewDelegate, UICollectionViewDataSource>
///
@property (nonatomic,strong) UICollectionView *collectionView;
///
@property (nonatomic,strong) UILabel *emptyView;
@end
@implementation XPTreasureFairyPrizeSubView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.collectionView];
[self.collectionView addSubview:self.emptyView];
}
-(void)setDatasource:(NSArray *)datasource{
_datasource = datasource;
_emptyView.hidden = _datasource.count > 0;
}
- (void)initSubViewConstraints {
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.emptyView mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.equalTo(self.collectionView);
}];
}
#pragma mark - UICollectionViewDelegate, UICollectionViewDataSource>
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.datasource.count;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
XPTreasureFairyPrizePoolCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPTreasureFairyPrizePoolCell class]) forIndexPath:indexPath];
TreasureFairyInfoModel * info = [self.datasource xpSafeObjectAtIndex:indexPath.row];
cell.info = info;
return cell;
}
#pragma mark - JXCategoryListContentViewDelegate
- (UIView *)listView {
return self;
}
#pragma mark - Getters And Setters
- (UICollectionView *)collectionView{
if (!_collectionView) {
MSBaseRTLFlowLayout *layout = [[MSBaseRTLFlowLayout alloc] init];
layout.itemSize = CGSizeMake(90, 110);
layout.minimumLineSpacing = 10;
layout.minimumInteritemSpacing = 10;
layout.sectionInset = UIEdgeInsetsMake(0, 10, 0, 10);
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
_collectionView.dataSource = self;
_collectionView.delegate = self;
_collectionView.backgroundColor = [UIColor clearColor];
[_collectionView registerClass:[XPTreasureFairyPrizePoolCell class] forCellWithReuseIdentifier:NSStringFromClass([XPTreasureFairyPrizePoolCell class])];
}
return _collectionView;
}
-(UILabel *)emptyView{
if (!_emptyView){
_emptyView = [UILabel labelInitWithText:YMLocalizedString(@"XPTreasureFairyViewController7") font:[UIFont systemFontOfSize:15 weight:UIFontWeightMedium] textColor:[UIColor whiteColor]];
_emptyView.hidden = YES;
}
return _emptyView;
}
@end

View File

@@ -1,16 +0,0 @@
//
// XPTreasureFairySendRecordView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/23.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPTreasureFairySendRecordView : UIView
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,224 +0,0 @@
//
// XPTreasureFairySendRecordView.m
// xplan-ios
//
// Created by on 2023/2/23.
//
#import "XPTreasureFairySendRecordView.h"
///Third
#import <Masonry/Masonry.h>
#import <MJRefresh/MJRefresh.h>
///Tool
#import "Api+TreasureFairy.h"
#import "NSArray+Safe.h"
#import "TTPopup.h"
///Model
#import "TreasureFairySendRecordModel.h"
///View
#import "XPTreasureFairySendRecordCell.h"
@interface XPTreasureFairySendRecordView ()<UITableViewDelegate, UITableViewDataSource>
///View
@property (nonatomic,strong) UIView *bottomView;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UITableView *tableView;
@property (nonatomic,strong) NSMutableArray *datasource;
@property (nonatomic,assign) NSInteger page;
///
@property (nonatomic,strong) UILabel *emptyView;
@end
@implementation XPTreasureFairySendRecordView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initHeaderAndFooterRrfresh];
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Refresh
- (void)initHeaderAndFooterRrfresh {
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];
header.stateLabel.font = [UIFont systemFontOfSize:10.0];
header.lastUpdatedTimeLabel.font = [UIFont systemFontOfSize:10.0];
header.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
header.lastUpdatedTimeLabel.textColor = [DJDKMIMOMColor secondTextColor];
self.tableView.mj_header = header;
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)];
footer.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
footer.stateLabel.font = [UIFont systemFontOfSize:10.0];
self.tableView.mj_footer = footer;
[self headerRefresh];
}
- (void)headerRefresh {
self.page = 1;
[Api treasureFailySendAndAskRecordList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
[self.tableView.mj_header endRefreshing];
if (code == 200) {
[self.datasource removeAllObjects];
NSArray * array = [TreasureFairySendRecordModel modelsWithArray:data.data];
[self.datasource addObjectsFromArray:array];
self.emptyView.hidden = self.datasource.count > 0;
[self.tableView reloadData];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
} page:@"1" pageSize:@"20"];
}
- (void)footerRefresh {
self.page++;
[Api treasureFailySendAndAskRecordList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
[self.tableView.mj_footer endRefreshing];
if (code == 200) {
NSArray * array = [TreasureFairySendRecordModel modelsWithArray:data.data];
if (array.count > 0) {
[self.datasource addObjectsFromArray:array];
}
self.emptyView.hidden = self.datasource.count > 0;
[self.tableView reloadData];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
} page:[NSString stringWithFormat:@"%ld", self.page] pageSize:@"20"];
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.backImageView];
[self addSubview:self.bottomView];
[self.backImageView addSubview:self.titleLabel];
[self.backImageView addSubview:self.tableView];
[self.tableView addSubview:self.emptyView];
}
- (void)initSubViewConstraints {
CGFloat kscale = 388.0 / 318.0;
self.frame = CGRectMake(0, 0, KScreenWidth, KScreenWidth * kscale + 134 * kScreenScale);
[self.bottomView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.mas_equalTo(self);
make.top.mas_equalTo(self.backImageView.mas_bottom);
}];
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.top.mas_equalTo(self);
make.height.mas_equalTo(388);
make.width.mas_equalTo(318);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.backImageView).offset(52);
}];
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView).inset(3);
make.top.mas_equalTo(self.backImageView).offset(82);
make.bottom.mas_equalTo(self.backImageView).offset(-42);
}];
[self.emptyView mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.equalTo(self.tableView);
}];
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 86;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.datasource.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
XPTreasureFairySendRecordCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPTreasureFairySendRecordCell class])];
if (cell == nil) {
cell = [[XPTreasureFairySendRecordCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPTreasureFairySendRecordCell class])];
}
TreasureFairySendRecordModel * record = [self.datasource xpSafeObjectAtIndex:indexPath.row];
cell.recordInfo = record;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
#pragma mark - Event Response
- (void)dismissView {
[TTPopup dismiss];
}
#pragma mark - Getters And Setters
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.tableFooterView = [UIView new];
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_tableView.backgroundColor = [UIColor clearColor];
if (@available(iOS 11.0, *)) {
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
[_tableView registerClass:[XPTreasureFairySendRecordCell class] forCellReuseIdentifier:NSStringFromClass([XPTreasureFairySendRecordCell class])];
}
return _tableView;
}
- (UIView *)bottomView {
if (!_bottomView) {
_bottomView = [[UIView alloc] init];
_bottomView.backgroundColor = [UIColor clearColor];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissView)];
[_bottomView addGestureRecognizer:tap];
}
return _bottomView;
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_treasure_fairy_my_send_record_back"];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissView)];
[_backImageView addGestureRecognizer:tap];
}
return _backImageView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:15 weight:UIFontWeightMedium];
_titleLabel.textColor = [UIColor whiteColor];
_titleLabel.text = YMLocalizedString(@"XPTreasureFairySendRecordView0");
_titleLabel.textAlignment = NSTextAlignmentCenter;
}
return _titleLabel;
}
- (NSMutableArray *)datasource {
if(!_datasource) {
_datasource = [NSMutableArray array];
}
return _datasource;
}
-(UILabel *)emptyView{
if (!_emptyView){
_emptyView = [UILabel labelInitWithText:YMLocalizedString(@"XPTreasureFairyViewController7") font:[UIFont systemFontOfSize:15 weight:UIFontWeightMedium] textColor:[UIColor whiteColor]];
_emptyView.hidden = YES;
}
return _emptyView;
}
@end

View File

@@ -1,19 +0,0 @@
//
// XPTreasureFairySendView.h
// xplan-ios
//
// Created by 冯硕 on 2023/2/23.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class TreasureFairyBallModel;
@interface XPTreasureFairySendView : UIView
///是否是赠送
@property (nonatomic,assign) BOOL isSend;
///精灵球信息
@property (nonatomic,strong) TreasureFairyBallModel *ballInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,226 +0,0 @@
//
// XPTreasureFairySendView.m
// xplan-ios
//
// Created by on 2023/2/23.
//
#import "XPTreasureFairySendView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "NetImageView.h"
#import "TTPopup.h"
#import "Api+TreasureFairy.h"
///Model
#import "TreasureFairyBallInfoModel.h"
@interface XPTreasureFairySendView ()
///
@property (nonatomic,strong) UIView *dismissView;
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) NetImageView *ballView;
///
@property (nonatomic,strong) UIButton *cancleButton;
///
@property (nonatomic,strong) UIButton *sureButton;
@end
@implementation XPTreasureFairySendView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.backImageView];
[self addSubview:self.dismissView];
[self.backImageView addSubview:self.titleLabel];
[self.backImageView addSubview:self.ballView];
[self.backImageView addSubview:self.sureButton];
[self.backImageView addSubview:self.cancleButton];
}
- (void)initSubViewConstraints {
self.frame = CGRectMake(0, 0, KScreenWidth, 285 + 183);
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(281, 285));
make.centerX.mas_equalTo(self);
make.top.mas_equalTo(self);
}];
[self.dismissView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.mas_equalTo(self);
make.top.mas_equalTo(self.backImageView.mas_bottom);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(self.backImageView).inset(30);
make.top.mas_equalTo(self.backImageView).offset(45);
}];
[self.ballView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(90, 90));
make.centerX.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.titleLabel.mas_bottom).offset(19);
}];
[self.cancleButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(104, 32));
make.top.mas_equalTo(self.ballView.mas_bottom).offset(15);
make.trailing.mas_equalTo(self.backImageView.mas_centerX).offset(-12);
}];
[self.sureButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.centerY.mas_equalTo(self.cancleButton);
make.leading.mas_equalTo(self.backImageView.mas_centerX).offset(12);
}];
}
#pragma mark - Event Response
- (void)cancleButtonAction:(UIButton *)sender {
[TTPopup dismiss];
}
- (void)sureButtonAction:(UIButton *)sender {
[TTPopup dismiss];
if (self.ballInfo.elfId > 0 && self.ballInfo.uid > 0) {
NSString * elfId = [NSString stringWithFormat:@"%ld", self.ballInfo.elfId];
NSString * uid = [NSString stringWithFormat:@"%ld", self.ballInfo.uid];
if (self.isSend) {
[Api treasureFairySendFairyBall:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"XPTreasureFairySendView0")];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
} elfId:elfId targetUid:uid];
} else {
[Api treasureFairyAskForFairyBall:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"XPTreasureFairySendView1")];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
} elfId:elfId targetUid:uid];
}
}
}
- (void)dismissRecognizer {
[TTPopup dismiss];
}
#pragma mark - Getters And Setters
- (void)setBallInfo:(TreasureFairyBallModel *)ballInfo {
_ballInfo = ballInfo;
if (_ballInfo) {
self.ballView.imageUrl = _ballInfo.elfPicUrl;
NSString * nick = _ballInfo.nick;
NSString * title;
if (self.isSend) {
title = [NSString stringWithFormat:YMLocalizedString(@"XPTreasureFairySendView2"), nick, _ballInfo.elfName];
} else {
title = [NSString stringWithFormat:YMLocalizedString(@"XPTreasureFairySendView3"), nick, _ballInfo.elfName];
}
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:15], NSForegroundColorAttributeName:[UIColor whiteColor]}];
[attribute addAttribute:NSForegroundColorAttributeName value:[DJDKMIMOMColor colorWithHexString:@"#FEF8AA"] range:[title rangeOfString:nick]];
self.titleLabel.attributedText = attribute;
self.titleLabel.textAlignment = NSTextAlignmentCenter;
}
}
- (void)setIsSend:(BOOL)isSend {
_isSend = isSend;
if (_isSend) {
[self.sureButton setTitle:YMLocalizedString(@"XPTreasureFairySendView4") forState:UIControlStateNormal];
} else {
[self.sureButton setTitle:YMLocalizedString(@"XPTreasureFairySendView5") forState:UIControlStateNormal];
}
}
- (UIView *)dismissView {
if (!_dismissView) {
_dismissView = [[UIView alloc] init];
_dismissView.backgroundColor = [UIColor clearColor];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissRecognizer)];
[_dismissView addGestureRecognizer:tap];
}
return _dismissView;
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"room_treasure_fairy_my_send_record_bg"];
}
return _backImageView;
}
- (NetImageView *)ballView {
if (!_ballView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_ballView = [[NetImageView alloc] initWithConfig:config];
_ballView.layer.masksToBounds = YES;
_ballView.layer.cornerRadius = 45;
_ballView.layer.borderColor = [DJDKMIMOMColor appMainColor].CGColor;
_ballView.layer.borderWidth = 0.5;
}
return _ballView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.numberOfLines = 0;
}
return _titleLabel;
}
- (UIButton *)cancleButton {
if (!_cancleButton) {
_cancleButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_cancleButton setTitle:YMLocalizedString(@"XPTreasureFairySendView6") forState:UIControlStateNormal];
[_cancleButton setTitleColor:[DJDKMIMOMColor colorWithHexString:@"#008573"] forState:UIControlStateNormal];
_cancleButton.titleLabel.font = [UIFont systemFontOfSize:13];
[_cancleButton setBackgroundImage:[UIImage imageNamed:@"room_treasure_fairy_store_result_close_bg"] forState:UIControlStateNormal];
_cancleButton.layer.masksToBounds = YES;
_cancleButton.layer.cornerRadius = 10;
[_cancleButton addTarget:self action:@selector(cancleButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _cancleButton;
}
- (UIButton *)sureButton {
if (!_sureButton) {
_sureButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_sureButton setTitleColor:[DJDKMIMOMColor colorWithHexString:@"#8A4801"] forState:UIControlStateNormal];
_sureButton.titleLabel.font = [UIFont systemFontOfSize:13];
[_sureButton setBackgroundImage:[UIImage imageNamed:@"room_treasure_fairy_sure_bg"] forState:UIControlStateNormal];
_sureButton.layer.masksToBounds = YES;
_sureButton.layer.cornerRadius = 10;
_sureButton.yn_acceptEventInterval = 1;
[_sureButton addTarget:self action:@selector(sureButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _sureButton;
}
@end

Some files were not shown because too many files have changed in this diff Show More