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