FashionShowEditPage.cs 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. public class FashionShowData
  6. {
  7. public int PraisedAmount;
  8. public bool Praised;
  9. public string RefererNickname;
  10. public string FashionShowName;
  11. public string FashionShowContent;
  12. public string CuteRate;
  13. public string GloryRate;
  14. public string GraceRate;
  15. public string SimpleRate;
  16. public string VividRate;
  17. public List<int> CloseIDs = new List<int>();
  18. }
  19. public class FashionShowEditPage : Regist
  20. {
  21. #region Config
  22. //StartMark-Used by LabelUtility-Do not remove
  23. private static Text CoinText;
  24. private static Text DiamondText;
  25. private static Text RecommendTitle;
  26. private static Text PraiseText;
  27. //private static Text FashionTitle;
  28. //private static Text FashionContent;
  29. private static Text CuteTitle;
  30. private static Text CuteValue;
  31. private static Text CuteRateText;
  32. private static Text GraceTitle;
  33. private static Text GraceValue;
  34. private static Text GraceRateText;
  35. private static Text VividTitle;
  36. private static Text VividValue;
  37. private static Text VividRateText;
  38. private static Text SimpleTitle;
  39. private static Text SimpleValue;
  40. private static Text SimpleRateText;
  41. private static Text GloryTitle;
  42. private static Text GloryValue;
  43. private static Text GloryRateText;
  44. private static Text FashionShowClosesTitle;
  45. private static Text CloseTotalCoinText;
  46. private static Text CloseTotalDiamondText;
  47. private static Button Return;
  48. private static Button DisplayEditButton;
  49. private static Button DeleteButton;
  50. private static Button ResetButton;
  51. private static Button SaveButton;
  52. private static Button PraiseButton;
  53. private static Button CommentButton;
  54. private static Button ShareButton;
  55. private static Button FashionTitleEditButton;
  56. private static Button FashionContentEditButton;
  57. private static Button RateButton;
  58. //EndMark-Used by LabelUtility-Do not remove
  59. private static Button DressroomFashionShowButton;
  60. private static Transform GardenFashionShowButtonParent;
  61. private static Text BuyAllButtonText;
  62. private static Button BuyAllButton;
  63. private static Transform Panel;
  64. private static Transform ChangeDressPanel;
  65. private static Transform DisplayBackground;
  66. private static Transform CuteRateBackground;
  67. private static Transform GraceRateBackground;
  68. private static Transform VividRateBackground;
  69. private static Transform SimpleRateBackground;
  70. private static Transform GloryRateBackground;
  71. private static Transform FashionShowCloseGrid;
  72. private static InputField FashionTitleInputField;
  73. private static InputField FashionContentInputField;
  74. private static CustomSlider CuteSlider;
  75. private static CustomSlider GraceSlider;
  76. private static CustomSlider VividSlider;
  77. private static CustomSlider SimpleSlider;
  78. private static CustomSlider GlorySlider;
  79. private static bool Praised;
  80. private static bool BelongSelf;
  81. private static bool LeaveToRateMode;
  82. public static bool LeaveToHomePage;
  83. public static Player DisplayPlayer;
  84. private static KV<int, double> TotalCoin;
  85. private static KV<int, double> TotalDiamond;
  86. private static TweenRenderer PlayerTween;
  87. private static FashionShowData FashionShowData;
  88. private static List<int> CloseIDs = new List<int>();
  89. //private static List<string> CloseNames = new List<string>();
  90. private static List<FashionShowCloseItem> CloseItems = new List<FashionShowCloseItem>();
  91. private static int UnlockLevel = 21;
  92. #endregion
  93. public override void RegistReference()
  94. {
  95. CoinText = ResourceManager.Get<Text>(CanvasLabel.Pg_CoinText);
  96. DiamondText = ResourceManager.Get<Text>(CanvasLabel.Pg_DiamondText);
  97. RecommendTitle = ResourceManager.Get<Text>(CanvasLabel.Pg_RecommendTitle);
  98. PraiseText = ResourceManager.Get<Text>(CanvasLabel.Pg_PraiseText);
  99. //FashionTitle = ResourceManager.Get<Text>(CanvasLabel.Pg_FashionTitle);
  100. //FashionContent = ResourceManager.Get<Text>(CanvasLabel.Pg_FashionContent);
  101. CuteTitle = ResourceManager.Get<Text>(CanvasLabel.Pg_CuteTitle);
  102. CuteValue = ResourceManager.Get<Text>(CanvasLabel.Pg_CuteValue);
  103. CuteRateText = ResourceManager.Get<Text>(CanvasLabel.Pg_CuteRateText);
  104. GraceTitle = ResourceManager.Get<Text>(CanvasLabel.Pg_GraceTitle);
  105. GraceValue = ResourceManager.Get<Text>(CanvasLabel.Pg_GraceValue);
  106. GraceRateText = ResourceManager.Get<Text>(CanvasLabel.Pg_GraceRateText);
  107. VividTitle = ResourceManager.Get<Text>(CanvasLabel.Pg_VividTitle);
  108. VividValue = ResourceManager.Get<Text>(CanvasLabel.Pg_VividValue);
  109. VividRateText = ResourceManager.Get<Text>(CanvasLabel.Pg_VividRateText);
  110. SimpleTitle = ResourceManager.Get<Text>(CanvasLabel.Pg_SimpleTitle);
  111. SimpleValue = ResourceManager.Get<Text>(CanvasLabel.Pg_SimpleValue);
  112. SimpleRateText = ResourceManager.Get<Text>(CanvasLabel.Pg_SimpleRateText);
  113. GloryTitle = ResourceManager.Get<Text>(CanvasLabel.Pg_GloryTitle);
  114. GloryValue = ResourceManager.Get<Text>(CanvasLabel.Pg_GloryValue);
  115. GloryRateText = ResourceManager.Get<Text>(CanvasLabel.Pg_GloryRateText);
  116. FashionShowClosesTitle = ResourceManager.Get<Text>(CanvasLabel.Pg_FashionShowClosesTitle);
  117. CloseTotalCoinText = ResourceManager.Get<Text>(CanvasLabel.Pg_CloseTotalCoinText);
  118. CloseTotalDiamondText = ResourceManager.Get<Text>(CanvasLabel.Pg_CloseTotalDiamondText);
  119. CuteSlider = ResourceManager.Get<CustomSlider>(CanvasLabel.Pg_CuteSlider);
  120. GraceSlider = ResourceManager.Get<CustomSlider>(CanvasLabel.Pg_GraceSlider);
  121. VividSlider = ResourceManager.Get<CustomSlider>(CanvasLabel.Pg_VividSlider);
  122. SimpleSlider = ResourceManager.Get<CustomSlider>(CanvasLabel.Pg_SimpleSlider);
  123. GlorySlider = ResourceManager.Get<CustomSlider>(CanvasLabel.Pg_GlorySlider);
  124. Return = ResourceManager.Get<Button>(CanvasLabel.Pg_Return);
  125. DisplayEditButton = ResourceManager.Get<Button>(CanvasLabel.Pg_DisplayEditButton);
  126. DeleteButton = ResourceManager.Get<Button>(CanvasLabel.Pg_DeleteButton);
  127. ResetButton = ResourceManager.Get<Button>(CanvasLabel.Pg_ResetButton);
  128. SaveButton = ResourceManager.Get<Button>(CanvasLabel.Pg_SaveButton);
  129. PraiseButton = ResourceManager.Get<Button>(CanvasLabel.Pg_PraiseButton);
  130. CommentButton = ResourceManager.Get<Button>(CanvasLabel.Pg_CommentButton);
  131. ShareButton = ResourceManager.Get<Button>(CanvasLabel.Pg_ShareButton);
  132. FashionTitleEditButton = ResourceManager.Get<Button>(CanvasLabel.Pg_FashionTitleEditButton);
  133. FashionContentEditButton = ResourceManager.Get<Button>(CanvasLabel.Pg_FashionContentEditButton);
  134. RateButton = ResourceManager.Get<Button>(CanvasLabel.Pg_RateButton);
  135. DressroomFashionShowButton = ResourceManager.Get<Button>(CanvasLabel.P_FashionShowButton);
  136. GardenFashionShowButtonParent = ResourceManager.Get(CanvasLabel.C_FashionShowButtonParent);
  137. BuyAllButtonText = ResourceManager.Get<Text>(CanvasLabel.Pg_BuyAllButtonText);
  138. BuyAllButton= ResourceManager.Get<Button>(CanvasLabel.Pg_BuyAllButton);
  139. Panel = ResourceManager.Get(CanvasLabel.Pg_FashionShowEditPanel);
  140. ChangeDressPanel = ResourceManager.Get(CanvasLabel.P_ChangeDressPanel);
  141. DisplayBackground = ResourceManager.Get(CanvasLabel.Pg_DisplayBackground);
  142. CuteRateBackground = ResourceManager.Get(CanvasLabel.Pg_CuteRateBackground);
  143. GraceRateBackground = ResourceManager.Get(CanvasLabel.Pg_GraceRateBackground);
  144. VividRateBackground = ResourceManager.Get(CanvasLabel.Pg_VividRateBackground);
  145. SimpleRateBackground = ResourceManager.Get(CanvasLabel.Pg_SimpleRateBackground);
  146. GloryRateBackground = ResourceManager.Get(CanvasLabel.Pg_GloryRateBackground);
  147. FashionShowCloseGrid = ResourceManager.Get(CanvasLabel.Pg_FashionShowCloseGrid);
  148. FashionTitleInputField = ResourceManager.Get<InputField>(CanvasLabel.Pg_FashionTitleBackground);
  149. FashionContentInputField = ResourceManager.Get<InputField>(CanvasLabel.Pg_FashionContentBackground);
  150. LanguageManager.Add(BuyAllButtonText, new MulLanStr(LanguageLabel.UI__Pg_BuyAll));
  151. LanguageManager.Add(CuteTitle, new MulLanStr(LanguageLabel.UI__Pg_Cute));
  152. LanguageManager.Add(GraceTitle, new MulLanStr(LanguageLabel.UI__Pg_Grace));
  153. LanguageManager.Add(SimpleTitle, new MulLanStr(LanguageLabel.UI__Pg_Simple));
  154. LanguageManager.Add(VividTitle, new MulLanStr(LanguageLabel.UI__Pg_Vivid));
  155. LanguageManager.Add(GloryTitle, new MulLanStr(LanguageLabel.UI__Pg_Glory));
  156. LanguageManager.Add(FashionShowClosesTitle, new MulLanStr(LanguageLabel.UI__Pg_CloseGridTitle));
  157. Panel.CreateTweenVec2D(ResourceManager.Get(CanvasLabel.Pg_FashionShowEditPanelPosition).position, 0.5f, false, false, true, Curve.EaseOutQuad);
  158. ChangeDressPanel.CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
  159. CuteSlider.onValueChanged.AddListener(OnCuteSliderValueChange);
  160. CuteSlider.onPointerDown += OnCuteSliderSelect;
  161. CuteSlider.onPointerUp += OnCuteSliderDeselect;
  162. GraceSlider.onValueChanged.AddListener(OnGraceSliderValueChange);
  163. GraceSlider.onPointerDown += OnGraceSliderSelect;
  164. GraceSlider.onPointerUp += OnGraceSliderDeselect;
  165. SimpleSlider.onValueChanged.AddListener(OnSimpleSliderValueChange);
  166. SimpleSlider.onPointerDown += OnSimpleSliderSelect;
  167. SimpleSlider.onPointerUp += OnSimpleSliderDeselect;
  168. GlorySlider.onValueChanged.AddListener(OnGlorySliderValueChange);
  169. GlorySlider.onPointerDown += OnGlorySliderSelect;
  170. GlorySlider.onPointerUp += OnGlorySliderDeselect;
  171. VividSlider.onValueChanged.AddListener(OnVividSliderValueChange);
  172. VividSlider.onPointerDown += OnVividSliderSelect;
  173. VividSlider.onPointerUp += OnVividSliderDeselect;
  174. Return.onClick.AddListener(OnReturnButtonClick);
  175. CommentButton.onClick.AddListener(OnCommentButtonClick);
  176. PraiseButton.onClick.AddListener(OnPraiseButtonClick);
  177. ShareButton.onClick.AddListener(OnShareButtonClick);
  178. DisplayEditButton.onClick.AddListener(OnDisplayEditButtonClick);
  179. RateButton.onClick.AddListener(OnRateButtonClick);
  180. SaveButton.onClick.AddListener(OnSaveButtonClick);
  181. ResetButton.onClick.AddListener(OnResetButtonClick);
  182. DeleteButton.onClick.AddListener(OnDeleteButtonClick);
  183. BuyAllButton.onClick.AddListener(OnBuyAllButtonClick);
  184. DressroomFashionShowButton.onClick.AddListener(OnDressroomFashionShowButtonClick);
  185. Manager.OnLevelChange += OnLevelChange;
  186. Manager.OnCoinChange += amt => { CoinText.text = ResourceManager.Get<Text>(CanvasLabel.F_CoinLab).text; };
  187. Manager.OnDiamondChange += amt => { DiamondText.text = ResourceManager.Get<Text>(CanvasLabel.F_DiamondLab).text; };
  188. }
  189. public static void ShowEditPanel(FashionShowData data)
  190. {
  191. BelongSelf = true;
  192. FashionShowData = data;
  193. CloseIDs = data.CloseIDs;
  194. //CloseNames = Player.DressIDToDressName(data.CloseIDs); ;
  195. TransitPanel();
  196. ShowPanel();
  197. EnterEditMode();
  198. }
  199. public static void ShowRatePanel(bool belongSelf, FashionShowData data)
  200. {
  201. BelongSelf = belongSelf;
  202. FashionShowData = data;
  203. CloseIDs = data.CloseIDs;
  204. //CloseNames = Player.DressIDToDressName(data.CloseIDs); ;
  205. Panel.TweenForVec();
  206. ShowPanel();
  207. EnterRateMode();
  208. }
  209. private static void ShowPanel()
  210. {
  211. DisplayPlayer = PlayerManager.Instance.GetRawPlayer();
  212. DisplayPlayer.transform.SetParent(DisplayBackground);
  213. DisplayPlayer.transform.SetAsFirstSibling();
  214. DisplayPlayer.transform.localPosition = Vector3.zero;
  215. foreach (var closeID in CloseIDs)
  216. {
  217. CloseItem closeItem = PlayerManager.CloseItemDictionary[closeID];
  218. closeItem.ChangeDress(DisplayPlayer, false);
  219. }
  220. DelayCall.Call(1, () => { DisplayPlayer.ResetDepth(); DisplayPlayer.DisplayInUI(50); });
  221. CuteValue.text = FashionShowData.CuteRate == "0" ? "--" : FashionShowData.CuteRate;
  222. GloryValue.text = FashionShowData.GloryRate == "0" ? "--" : FashionShowData.GloryRate;
  223. GraceValue.text = FashionShowData.GraceRate == "0" ? "--" : FashionShowData.GraceRate;
  224. SimpleValue.text = FashionShowData.SimpleRate == "0" ? "--" : FashionShowData.SimpleRate;
  225. VividValue.text = FashionShowData.VividRate == "0" ? "--" : FashionShowData.VividRate;
  226. FashionTitleInputField.text = FashionShowData.FashionShowName;
  227. FashionContentInputField.text = FashionShowData.FashionShowContent;
  228. RecommendTitle.text = Language.GetStr(LanguageLabel.UI__Pg_RecommendTitle).Replace(TransferLabel.Value, FashionShowData.RefererNickname);
  229. for (int i = 0; i < CloseItems.Count; i++)
  230. {
  231. ResourceManager.Save(CloseItems[i].Transform);
  232. }
  233. CloseItems = new List<FashionShowCloseItem>();
  234. foreach (var closeID in CloseIDs)
  235. {
  236. if (PlayerManager.CloseItemDictionary[closeID].Sprites == null) continue;
  237. if (PlayerManager.CloseItemDictionary[closeID].ArmatureName == "Empty") continue;
  238. Transform itemTrans = ResourceManager.Get(ResourceLabel.FashionShowCloseItem, Folder.UI, false, FashionShowCloseGrid, false, ObjType.FashionShowCloseItem);
  239. FashionShowCloseItem item = new FashionShowCloseItem();
  240. item.Init(closeID, itemTrans);
  241. CloseItems.Add(item);
  242. }
  243. }
  244. private static void TransitPanel()
  245. {
  246. Renderer renderer = PlayerManager.Player.HeadSlot.UnityTransform.GetComponentInChildren<Renderer>(true);
  247. PlayerTween = AnimManager.CreateTweenRenderer(renderer, 0, 1, 0.25f, false, true, Curve.EaseOutQuad);
  248. PlayerTween.UseSharedMaterial = true;
  249. PlayerTween.StartBackward();
  250. ChangeDressPanel.GetTweenCG().AddEventOnetime(EventType.BackwardFinish, () => { Panel.TweenForVec(); });
  251. ChangeDressPanel.TweenBacCG();
  252. }
  253. private static void EnterEditMode()
  254. {
  255. CuteSlider.interactable = false;
  256. GlorySlider.interactable = false;
  257. GraceSlider.interactable = false;
  258. SimpleSlider.interactable = false;
  259. VividSlider.interactable = false;
  260. FashionTitleInputField.interactable = true;
  261. FashionContentInputField.interactable = true;
  262. DeleteButton.SetActive(true);
  263. SaveButton.SetActive(true);
  264. ResetButton.SetActive(true);
  265. PraiseButton.SetActive(false);
  266. ShareButton.SetActive(false);
  267. CommentButton.SetActive(false);
  268. DisplayEditButton.SetActive(false);
  269. RateButton.SetActive(false);
  270. FashionTitleEditButton.SetActive(true);
  271. FashionContentEditButton.SetActive(true);
  272. FashionTitleInputField.SetActive(true);
  273. FashionContentInputField.SetActive(true);
  274. BuyAllButton.SetActive(false);
  275. foreach (var closeItem in CloseItems)
  276. {
  277. closeItem.BoxButton.interactable = false;
  278. closeItem.Text.SetActive(false);
  279. }
  280. UpdateTotalCost(false);
  281. }
  282. private static void EnterRateMode()
  283. {
  284. CuteSlider.interactable = true;
  285. GlorySlider.interactable = true;
  286. GraceSlider.interactable = true;
  287. SimpleSlider.interactable = true;
  288. VividSlider.interactable = true;
  289. FashionTitleInputField.interactable = false;
  290. FashionContentInputField.interactable = false;
  291. DeleteButton.SetActive(false);
  292. SaveButton.SetActive(false);
  293. ResetButton.SetActive(false);
  294. PraiseButton.SetActive(true);
  295. ShareButton.SetActive(true);
  296. CommentButton.SetActive(true);
  297. DisplayEditButton.SetActive(BelongSelf);
  298. RateButton.SetActive(false);
  299. FashionTitleEditButton.SetActive(false);
  300. FashionContentEditButton.SetActive(false);
  301. FashionTitleInputField.SetActive(false);
  302. FashionContentInputField.SetActive(false);
  303. bool haveUnboughtClose = false;
  304. foreach (var closeItem in CloseItems)
  305. {
  306. if (closeItem.CloseItem.IsBought)
  307. {
  308. closeItem.Text.SetActive(true);
  309. }
  310. else
  311. {
  312. closeItem.Text.SetActive(false);
  313. closeItem.BoxButton.interactable = true;
  314. haveUnboughtClose = true;
  315. }
  316. }
  317. BuyAllButton.SetActive(haveUnboughtClose);
  318. UpdateTotalCost(true);
  319. }
  320. public static void HidePanel()
  321. {
  322. if (LeaveToRateMode)
  323. {
  324. EnterRateMode();
  325. LeaveToRateMode = false;
  326. }
  327. else if (LeaveToHomePage)
  328. {
  329. DisplayPlayer.DisplayInScene();
  330. ResourceManager.Save(DisplayPlayer);
  331. Panel.GetTweenVec().AddEventOnetime(EventType.BackwardFinish, () => { FashionShowHomePage.ShowSidePanel(); });
  332. Panel.TweenBacVec();
  333. LeaveToHomePage = false;
  334. }
  335. else
  336. {
  337. DisplayPlayer.DisplayInScene();
  338. ResourceManager.Save(DisplayPlayer);
  339. PlayerTween.StartForward();
  340. Panel.GetTweenVec().AddEventOnetime(EventType.BackwardFinish, () => { ChangeDressPanel.TweenForCG(); });
  341. Panel.TweenBacVec();
  342. }
  343. }
  344. public static void UpdateTotalCost(bool excludeBought)
  345. {
  346. List<KV<Current, KV<int, double>>> costKvs = CloseItem.GetTotalBuyCost(excludeBought, CloseIDs);
  347. foreach (var costKv in costKvs)
  348. {
  349. if (costKv.Key == Current.Coin) TotalCoin = costKv.Value;
  350. if (costKv.Key == Current.Diamond) TotalDiamond = costKv.Value;
  351. }
  352. CloseTotalCoinText.text = Auxiliary.ShrinkNumberStr(TotalCoin.Value);
  353. CloseTotalDiamondText.text = Auxiliary.ShrinkNumberStr(TotalDiamond.Value);
  354. }
  355. private static void OnReturnButtonClick()
  356. {
  357. AudioManager.PlayClip(ResourceLabel.BtnClip);
  358. HidePanel();
  359. }
  360. private static void OnPraiseButtonClick()
  361. {
  362. AudioManager.PlayClip(ResourceLabel.BtnClip);
  363. if (Praised)
  364. {
  365. Praised = false;
  366. PraiseButton.image.color = Color.white;
  367. PraiseText.text = (int.Parse(PraiseText.text) - 1).ToString();
  368. HttpManager.UnpraiseFashionShow(null, null);
  369. }
  370. else
  371. {
  372. Praised = true;
  373. PraiseButton.image.color = Lib.Pink;
  374. PraiseText.text = (int.Parse(PraiseText.text) + 1).ToString();
  375. HttpManager.PraiseFashionShow(null, null);
  376. }
  377. }
  378. private static void OnCommentButtonClick()
  379. {
  380. FashionShowCommentPanel.ShowPanel();
  381. }
  382. private static void OnShareButtonClick()
  383. {
  384. }
  385. private static void OnDisplayEditButtonClick()
  386. {
  387. LeaveToRateMode = true;
  388. EnterEditMode();
  389. }
  390. private static void OnRateButtonClick()
  391. {
  392. RateButton.SetActive(false);
  393. }
  394. private static void OnSaveButtonClick()
  395. {
  396. AudioManager.PlayClip(ResourceLabel.BtnClip);
  397. if (string.IsNullOrEmpty(FashionTitleInputField.text))
  398. {
  399. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_EmptyTitle));
  400. return;
  401. }
  402. if (string.IsNullOrEmpty(FashionContentInputField.text))
  403. {
  404. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_EmptyContent));
  405. return;
  406. }
  407. if (StringFilter.ContainSensitiveWord(FashionTitleInputField.text))
  408. {
  409. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_BadTitle));
  410. return;
  411. }
  412. if (StringFilter.ContainSensitiveWord(FashionContentInputField.text))
  413. {
  414. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_BadContent));
  415. return;
  416. }
  417. if (FashionShowData.FashionShowName == FashionTitleInputField.text && FashionShowData.FashionShowContent == FashionContentInputField.text)
  418. {
  419. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_RepeatData));
  420. return;
  421. }
  422. SaveButton.interactable = false;
  423. FashionShowData data = new FashionShowData();
  424. data.FashionShowName = FashionTitleInputField.text;
  425. data.FashionShowContent = FashionContentInputField.text;
  426. data.RefererNickname = NickNameManager.NickName;
  427. HttpManager.SaveFashionShowData(data, OnSaveSucceedCallback, OnSaveFailedCallback);
  428. }
  429. private static void OnSaveFailedCallback()
  430. {
  431. SaveButton.interactable = true;
  432. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_SaveFailed));
  433. }
  434. private static void OnSaveSucceedCallback(FashionShowData fashionShowData)
  435. {
  436. FashionShowData.FashionShowName = fashionShowData.FashionShowName;
  437. FashionShowData.FashionShowContent = fashionShowData.FashionShowName;
  438. SaveButton.interactable = true;
  439. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_SaveSucceed));
  440. }
  441. private static void OnResetButtonClick()
  442. {
  443. AudioManager.PlayClip(ResourceLabel.BtnClip);
  444. FashionTitleInputField.text = FashionShowData.FashionShowName;
  445. FashionContentInputField.text = FashionShowData.FashionShowContent;
  446. }
  447. private static void OnDeleteButtonClick()
  448. {
  449. Bubble.Show
  450. (
  451. null,
  452. Language.GetStr(LanguageLabel.UI__Pg_DeleteWarning),
  453. null,
  454. null,
  455. () =>
  456. {
  457. HidePanel();
  458. HttpManager.DeleteFashionShowData();
  459. }
  460. );
  461. }
  462. private static void OnBuyAllButtonClick()
  463. {
  464. //Debug.Log(TotalCoin.Value);
  465. UpdateTotalCost(true);
  466. if (TotalCoin.Value > Manager.Coin)
  467. {
  468. Bubble.Show(Language.GetStr(LanguageLabel.Common__ShortCoin));
  469. return;
  470. }
  471. if (TotalDiamond.Value > Manager.Diamond)
  472. {
  473. Bubble.Show(Language.GetStr(LanguageLabel.Common__ShortDiamond));
  474. return;
  475. }
  476. Manager.Pay("", TotalCoin.Value, Current.Coin, OnBuyAllSucceedCallback, StaticsManager.ItemID.解锁服装, StaticsManager.ConsumeModule.Charge, false, false, null, TotalCoin.Key);
  477. Manager.Pay("", TotalDiamond.Value, Current.Diamond, OnBuyAllSucceedCallback, StaticsManager.ItemID.解锁服装, StaticsManager.ConsumeModule.Charge, false, false, null, TotalDiamond.Key);
  478. }
  479. private static void OnBuyAllSucceedCallback()
  480. {
  481. foreach (var closeItem in CloseItems)
  482. {
  483. if (!closeItem.CloseItem.IsBought)
  484. {
  485. closeItem.CloseItem.OnBuySucceed();
  486. closeItem.Text.SetActive(true);
  487. }
  488. }
  489. }
  490. private static void OnCuteSliderValueChange(float value)
  491. {
  492. CuteRateText.text = value.ToString("0");
  493. RateButton.SetActive(true);
  494. }
  495. private static void OnCuteSliderSelect()
  496. {
  497. CuteRateBackground.SetActive(true);
  498. }
  499. private static void OnCuteSliderDeselect()
  500. {
  501. CuteRateBackground.SetActive(false);
  502. }
  503. private static void OnGraceSliderValueChange(float value)
  504. {
  505. GraceRateText.text = value.ToString("0");
  506. RateButton.SetActive(true);
  507. }
  508. private static void OnGraceSliderSelect()
  509. {
  510. GraceRateBackground.SetActive(true);
  511. }
  512. private static void OnGraceSliderDeselect()
  513. {
  514. GraceRateBackground.SetActive(false);
  515. }
  516. private static void OnVividSliderValueChange(float value)
  517. {
  518. VividRateText.text = value.ToString("0");
  519. RateButton.SetActive(true);
  520. }
  521. private static void OnVividSliderSelect()
  522. {
  523. VividRateBackground.SetActive(true);
  524. }
  525. private static void OnVividSliderDeselect()
  526. {
  527. VividRateBackground.SetActive(false);
  528. }
  529. private static void OnSimpleSliderValueChange(float value)
  530. {
  531. SimpleRateText.text = value.ToString("0");
  532. RateButton.SetActive(true);
  533. }
  534. private static void OnSimpleSliderSelect()
  535. {
  536. SimpleRateBackground.SetActive(true);
  537. }
  538. private static void OnSimpleSliderDeselect()
  539. {
  540. SimpleRateBackground.SetActive(false);
  541. }
  542. private static void OnGlorySliderValueChange(float value)
  543. {
  544. GloryRateText.text = value.ToString("0");
  545. RateButton.SetActive(true);
  546. }
  547. private static void OnGlorySliderSelect()
  548. {
  549. GloryRateBackground.SetActive(true);
  550. }
  551. private static void OnGlorySliderDeselect()
  552. {
  553. GloryRateBackground.SetActive(false);
  554. }
  555. private static void OnLevelChange(int level)
  556. {
  557. if (level >= UnlockLevel)
  558. {
  559. GardenFashionShowButtonParent.SetActive(true);
  560. }
  561. else
  562. {
  563. GardenFashionShowButtonParent.SetActive(false);
  564. }
  565. }
  566. private static void OnDressroomFashionShowButtonClick()
  567. {
  568. AudioManager.PlayClip(ResourceLabel.BtnClip);
  569. FashionShowData data = new FashionShowData();
  570. data.CuteRate = "0";
  571. data.GloryRate = "0";
  572. data.GraceRate = "0";
  573. data.SimpleRate = "0";
  574. data.VividRate = "0";
  575. data.FashionShowName = "";
  576. data.FashionShowContent = "";
  577. data.RefererNickname = NickNameManager.NickName;
  578. data.CloseIDs = PlayerManager.Player.GetCurrentChangableDressIDs();
  579. ShowEditPanel(data);
  580. }
  581. }