FashionShowEditPage.cs 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672
  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(37.5f); });
  221. int cuteRate = int.Parse(FashionShowData.CuteRate);
  222. int gloryRate = int.Parse(FashionShowData.GloryRate);
  223. int graceRate = int.Parse(FashionShowData.GraceRate);
  224. int simpleRate = int.Parse(FashionShowData.SimpleRate);
  225. int vividRate = int.Parse(FashionShowData.VividRate);
  226. CuteSlider.value = cuteRate == 0 ? 1 : cuteRate;
  227. GlorySlider.value = cuteRate == 0 ? 1 : gloryRate;
  228. GraceSlider.value = cuteRate == 0 ? 1 : graceRate;
  229. SimpleSlider.value = cuteRate == 0 ? 1 : simpleRate;
  230. VividSlider.value = cuteRate == 0 ? 1 : vividRate;
  231. CuteValue.text = FashionShowData.CuteRate == "0" ? "--" : FashionShowData.CuteRate;
  232. GloryValue.text = FashionShowData.GloryRate == "0" ? "--" : FashionShowData.GloryRate;
  233. GraceValue.text = FashionShowData.GraceRate == "0" ? "--" : FashionShowData.GraceRate;
  234. SimpleValue.text = FashionShowData.SimpleRate == "0" ? "--" : FashionShowData.SimpleRate;
  235. VividValue.text = FashionShowData.VividRate == "0" ? "--" : FashionShowData.VividRate;
  236. FashionTitleInputField.text = FashionShowData.FashionShowName;
  237. FashionContentInputField.text = FashionShowData.FashionShowContent;
  238. RecommendTitle.text = Language.GetStr(LanguageLabel.UI__Pg_RecommendTitle).Replace(TransferLabel.Value, FashionShowData.RefererNickname);
  239. for (int i = 0; i < CloseItems.Count; i++)
  240. {
  241. ResourceManager.Save(CloseItems[i].Transform);
  242. }
  243. CloseItems = new List<FashionShowCloseItem>();
  244. foreach (var closeID in CloseIDs)
  245. {
  246. if (PlayerManager.CloseItemDictionary[closeID].Sprites == null) continue;
  247. if (PlayerManager.CloseItemDictionary[closeID].ArmatureName == "Empty") continue;
  248. Transform itemTrans = ResourceManager.Get(ResourceLabel.FashionShowCloseItem, Folder.UI, false, FashionShowCloseGrid, false, ObjType.FashionShowCloseItem);
  249. FashionShowCloseItem item = new FashionShowCloseItem();
  250. item.Init(closeID, itemTrans);
  251. CloseItems.Add(item);
  252. }
  253. }
  254. private static void TransitPanel()
  255. {
  256. Renderer renderer = PlayerManager.Player.HeadSlot.UnityTransform.GetComponentInChildren<Renderer>(true);
  257. PlayerTween = AnimManager.CreateTweenRenderer(renderer, 0, 1, 0.25f, false, true, Curve.EaseOutQuad);
  258. PlayerTween.UseSharedMaterial = true;
  259. PlayerTween.StartBackward();
  260. ChangeDressPanel.GetTweenCG().AddEventOnetime(EventType.BackwardFinish, () => { Panel.TweenForVec(); });
  261. ChangeDressPanel.TweenBacCG();
  262. }
  263. private static void EnterEditMode()
  264. {
  265. CuteSlider.interactable = false;
  266. GlorySlider.interactable = false;
  267. GraceSlider.interactable = false;
  268. SimpleSlider.interactable = false;
  269. VividSlider.interactable = false;
  270. FashionTitleInputField.interactable = true;
  271. FashionContentInputField.interactable = true;
  272. DeleteButton.SetActive(true);
  273. SaveButton.SetActive(true);
  274. ResetButton.SetActive(true);
  275. PraiseButton.SetActive(false);
  276. ShareButton.SetActive(false);
  277. CommentButton.SetActive(false);
  278. DisplayEditButton.SetActive(false);
  279. RateButton.SetActive(false);
  280. FashionTitleEditButton.SetActive(true);
  281. FashionContentEditButton.SetActive(true);
  282. FashionTitleInputField.SetActive(true);
  283. FashionContentInputField.SetActive(true);
  284. BuyAllButton.SetActive(false);
  285. foreach (var closeItem in CloseItems)
  286. {
  287. closeItem.BoxButton.interactable = false;
  288. closeItem.Text.SetActive(false);
  289. }
  290. UpdateTotalCost(false);
  291. }
  292. private static void EnterRateMode()
  293. {
  294. CuteSlider.interactable = true;
  295. GlorySlider.interactable = true;
  296. GraceSlider.interactable = true;
  297. SimpleSlider.interactable = true;
  298. VividSlider.interactable = true;
  299. FashionTitleInputField.interactable = false;
  300. FashionContentInputField.interactable = false;
  301. DeleteButton.SetActive(false);
  302. SaveButton.SetActive(false);
  303. ResetButton.SetActive(false);
  304. PraiseButton.SetActive(true);
  305. ShareButton.SetActive(true);
  306. CommentButton.SetActive(true);
  307. DisplayEditButton.SetActive(BelongSelf);
  308. RateButton.SetActive(false);
  309. FashionTitleEditButton.SetActive(false);
  310. FashionContentEditButton.SetActive(false);
  311. FashionTitleInputField.SetActive(false);
  312. FashionContentInputField.SetActive(false);
  313. bool haveUnboughtClose = false;
  314. foreach (var closeItem in CloseItems)
  315. {
  316. if (closeItem.CloseItem.IsBought)
  317. {
  318. closeItem.Text.SetActive(true);
  319. }
  320. else
  321. {
  322. closeItem.Text.SetActive(false);
  323. closeItem.BoxButton.interactable = true;
  324. haveUnboughtClose = true;
  325. }
  326. }
  327. BuyAllButton.SetActive(haveUnboughtClose);
  328. UpdateTotalCost(true);
  329. }
  330. public static void HidePanel()
  331. {
  332. if (LeaveToRateMode)
  333. {
  334. EnterRateMode();
  335. LeaveToRateMode = false;
  336. }
  337. else if (LeaveToHomePage)
  338. {
  339. DisplayPlayer.DisplayInScene();
  340. ResourceManager.Save(DisplayPlayer);
  341. Panel.GetTweenVec().AddEventOnetime(EventType.BackwardFinish, () => { FashionShowHomePage.ShowSidePanel(); });
  342. Panel.TweenBacVec();
  343. LeaveToHomePage = false;
  344. }
  345. else
  346. {
  347. DisplayPlayer.DisplayInScene();
  348. ResourceManager.Save(DisplayPlayer);
  349. PlayerTween.StartForward();
  350. Panel.GetTweenVec().AddEventOnetime(EventType.BackwardFinish, () => { ChangeDressPanel.TweenForCG(); });
  351. Panel.TweenBacVec();
  352. }
  353. }
  354. public static void UpdateTotalCost(bool excludeBought)
  355. {
  356. List<KV<Current, KV<int, double>>> costKvs = CloseItem.GetTotalBuyCost(excludeBought, CloseIDs);
  357. foreach (var costKv in costKvs)
  358. {
  359. if (costKv.Key == Current.Coin) TotalCoin = costKv.Value;
  360. if (costKv.Key == Current.Diamond) TotalDiamond = costKv.Value;
  361. }
  362. CloseTotalCoinText.text = Auxiliary.ShrinkNumberStr(TotalCoin.Value);
  363. CloseTotalDiamondText.text = Auxiliary.ShrinkNumberStr(TotalDiamond.Value);
  364. }
  365. private static void OnReturnButtonClick()
  366. {
  367. AudioManager.PlayClip(ResourceLabel.BtnClip);
  368. HidePanel();
  369. }
  370. private static void OnPraiseButtonClick()
  371. {
  372. AudioManager.PlayClip(ResourceLabel.BtnClip);
  373. if (Praised)
  374. {
  375. Praised = false;
  376. PraiseButton.image.color = Color.white;
  377. PraiseText.text = (int.Parse(PraiseText.text) - 1).ToString();
  378. HttpManager.UnpraiseFashionShow(null, null);
  379. }
  380. else
  381. {
  382. Praised = true;
  383. PraiseButton.image.color = Lib.Pink;
  384. PraiseText.text = (int.Parse(PraiseText.text) + 1).ToString();
  385. HttpManager.PraiseFashionShow(null, null);
  386. }
  387. }
  388. private static void OnCommentButtonClick()
  389. {
  390. FashionShowCommentPanel.ShowPanel();
  391. }
  392. private static void OnShareButtonClick()
  393. {
  394. }
  395. private static void OnDisplayEditButtonClick()
  396. {
  397. LeaveToRateMode = true;
  398. EnterEditMode();
  399. }
  400. private static void OnRateButtonClick()
  401. {
  402. RateButton.SetActive(false);
  403. }
  404. private static void OnSaveButtonClick()
  405. {
  406. AudioManager.PlayClip(ResourceLabel.BtnClip);
  407. if (string.IsNullOrEmpty(FashionTitleInputField.text))
  408. {
  409. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_EmptyTitle));
  410. return;
  411. }
  412. if (string.IsNullOrEmpty(FashionContentInputField.text))
  413. {
  414. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_EmptyContent));
  415. return;
  416. }
  417. if (StringFilter.ContainSensitiveWord(FashionTitleInputField.text))
  418. {
  419. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_BadTitle));
  420. return;
  421. }
  422. if (StringFilter.ContainSensitiveWord(FashionContentInputField.text))
  423. {
  424. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_BadContent));
  425. return;
  426. }
  427. if (FashionShowData.FashionShowName == FashionTitleInputField.text && FashionShowData.FashionShowContent == FashionContentInputField.text)
  428. {
  429. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_RepeatData));
  430. return;
  431. }
  432. SaveButton.interactable = false;
  433. FashionShowData data = new FashionShowData();
  434. data.FashionShowName = FashionTitleInputField.text;
  435. data.FashionShowContent = FashionContentInputField.text;
  436. data.RefererNickname = NickNameManager.NickName;
  437. HttpManager.SaveFashionShowData(data, OnSaveSucceedCallback, OnSaveFailedCallback);
  438. }
  439. private static void OnSaveFailedCallback()
  440. {
  441. SaveButton.interactable = true;
  442. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_SaveFailed));
  443. }
  444. private static void OnSaveSucceedCallback(FashionShowData fashionShowData)
  445. {
  446. FashionShowData.FashionShowName = fashionShowData.FashionShowName;
  447. FashionShowData.FashionShowContent = fashionShowData.FashionShowName;
  448. SaveButton.interactable = true;
  449. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_SaveSucceed));
  450. }
  451. private static void OnResetButtonClick()
  452. {
  453. AudioManager.PlayClip(ResourceLabel.BtnClip);
  454. FashionTitleInputField.text = FashionShowData.FashionShowName;
  455. FashionContentInputField.text = FashionShowData.FashionShowContent;
  456. }
  457. private static void OnDeleteButtonClick()
  458. {
  459. Bubble.Show
  460. (
  461. null,
  462. Language.GetStr(LanguageLabel.UI__Pg_DeleteWarning),
  463. null,
  464. null,
  465. () =>
  466. {
  467. HidePanel();
  468. HttpManager.DeleteFashionShowData();
  469. }
  470. );
  471. }
  472. private static void OnBuyAllButtonClick()
  473. {
  474. //Debug.Log(TotalCoin.Value);
  475. UpdateTotalCost(true);
  476. if (TotalCoin.Value > Manager.Coin)
  477. {
  478. Bubble.Show(Language.GetStr(LanguageLabel.Common__ShortCoin));
  479. return;
  480. }
  481. if (TotalDiamond.Value > Manager.Diamond)
  482. {
  483. Bubble.Show(Language.GetStr(LanguageLabel.Common__ShortDiamond));
  484. return;
  485. }
  486. Manager.Pay("", TotalCoin.Value, Current.Coin, OnBuyAllSucceedCallback, StaticsManager.ItemID.解锁服装, StaticsManager.ConsumeModule.Charge, false, false, null, TotalCoin.Key);
  487. Manager.Pay("", TotalDiamond.Value, Current.Diamond, OnBuyAllSucceedCallback, StaticsManager.ItemID.解锁服装, StaticsManager.ConsumeModule.Charge, false, false, null, TotalDiamond.Key);
  488. }
  489. private static void OnBuyAllSucceedCallback()
  490. {
  491. foreach (var closeItem in CloseItems)
  492. {
  493. if (!closeItem.CloseItem.IsBought)
  494. {
  495. closeItem.CloseItem.OnBuySucceed();
  496. closeItem.Text.SetActive(true);
  497. }
  498. }
  499. }
  500. private static void OnCuteSliderValueChange(float value)
  501. {
  502. CuteRateText.text = value.ToString("0");
  503. RateButton.SetActive(true);
  504. }
  505. private static void OnCuteSliderSelect()
  506. {
  507. CuteRateBackground.SetActive(true);
  508. }
  509. private static void OnCuteSliderDeselect()
  510. {
  511. CuteRateBackground.SetActive(false);
  512. }
  513. private static void OnGraceSliderValueChange(float value)
  514. {
  515. GraceRateText.text = value.ToString("0");
  516. RateButton.SetActive(true);
  517. }
  518. private static void OnGraceSliderSelect()
  519. {
  520. GraceRateBackground.SetActive(true);
  521. }
  522. private static void OnGraceSliderDeselect()
  523. {
  524. GraceRateBackground.SetActive(false);
  525. }
  526. private static void OnVividSliderValueChange(float value)
  527. {
  528. VividRateText.text = value.ToString("0");
  529. RateButton.SetActive(true);
  530. }
  531. private static void OnVividSliderSelect()
  532. {
  533. VividRateBackground.SetActive(true);
  534. }
  535. private static void OnVividSliderDeselect()
  536. {
  537. VividRateBackground.SetActive(false);
  538. }
  539. private static void OnSimpleSliderValueChange(float value)
  540. {
  541. SimpleRateText.text = value.ToString("0");
  542. RateButton.SetActive(true);
  543. }
  544. private static void OnSimpleSliderSelect()
  545. {
  546. SimpleRateBackground.SetActive(true);
  547. }
  548. private static void OnSimpleSliderDeselect()
  549. {
  550. SimpleRateBackground.SetActive(false);
  551. }
  552. private static void OnGlorySliderValueChange(float value)
  553. {
  554. GloryRateText.text = value.ToString("0");
  555. RateButton.SetActive(true);
  556. }
  557. private static void OnGlorySliderSelect()
  558. {
  559. GloryRateBackground.SetActive(true);
  560. }
  561. private static void OnGlorySliderDeselect()
  562. {
  563. GloryRateBackground.SetActive(false);
  564. }
  565. private static void OnLevelChange(int level)
  566. {
  567. if (level >= UnlockLevel)
  568. {
  569. GardenFashionShowButtonParent.SetActive(true);
  570. DressroomFashionShowButton.SetActive(true);
  571. }
  572. else
  573. {
  574. GardenFashionShowButtonParent.SetActive(false);
  575. DressroomFashionShowButton.SetActive(false);
  576. }
  577. }
  578. private static void OnDressroomFashionShowButtonClick()
  579. {
  580. AudioManager.PlayClip(ResourceLabel.BtnClip);
  581. FashionShowData data = new FashionShowData();
  582. data.CuteRate = "0";
  583. data.GloryRate = "0";
  584. data.GraceRate = "0";
  585. data.SimpleRate = "0";
  586. data.VividRate = "0";
  587. data.FashionShowName = "";
  588. data.FashionShowContent = "";
  589. data.RefererNickname = NickNameManager.NickName;
  590. data.CloseIDs = PlayerManager.Player.GetCurrentChangableDressIDs();
  591. ShowEditPanel(data);
  592. }
  593. }