FashionShowEditPage.cs 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684
  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. float cuteRate = float.Parse(FashionShowData.CuteRate);
  222. float gloryRate = float.Parse(FashionShowData.GloryRate);
  223. float graceRate = float.Parse(FashionShowData.GraceRate);
  224. float simpleRate = float.Parse(FashionShowData.SimpleRate);
  225. float vividRate = float.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. AudioManager.PlayClip(ResourceLabel.BtnClip);
  391. FashionShowCommentPanel.ShowPanel();
  392. }
  393. private static void OnShareButtonClick()
  394. {
  395. AudioManager.PlayClip(ResourceLabel.BtnClip);
  396. }
  397. private static void OnDisplayEditButtonClick()
  398. {
  399. AudioManager.PlayClip(ResourceLabel.BtnClip);
  400. LeaveToRateMode = true;
  401. EnterEditMode();
  402. }
  403. private static void OnRateButtonClick()
  404. {
  405. AudioManager.PlayClip(ResourceLabel.BtnClip);
  406. RateButton.SetActive(false);
  407. }
  408. private static void OnSaveButtonClick()
  409. {
  410. AudioManager.PlayClip(ResourceLabel.BtnClip);
  411. if (string.IsNullOrEmpty(FashionTitleInputField.text))
  412. {
  413. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_EmptyTitle));
  414. return;
  415. }
  416. if (string.IsNullOrEmpty(FashionContentInputField.text))
  417. {
  418. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_EmptyContent));
  419. return;
  420. }
  421. if (StringFilter.ContainSensitiveWord(FashionTitleInputField.text))
  422. {
  423. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_BadTitle));
  424. return;
  425. }
  426. if (StringFilter.ContainSensitiveWord(FashionContentInputField.text))
  427. {
  428. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_BadContent));
  429. return;
  430. }
  431. if (FashionShowData.FashionShowName == FashionTitleInputField.text && FashionShowData.FashionShowContent == FashionContentInputField.text)
  432. {
  433. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_RepeatData));
  434. return;
  435. }
  436. SaveButton.interactable = false;
  437. FashionShowData data = new FashionShowData();
  438. data.FashionShowName = FashionTitleInputField.text;
  439. data.FashionShowContent = FashionContentInputField.text;
  440. data.RefererNickname = NickNameManager.NickName;
  441. HttpManager.SaveFashionShowData(data, OnSaveSucceedCallback, OnSaveFailedCallback);
  442. }
  443. private static void OnSaveFailedCallback()
  444. {
  445. SaveButton.interactable = true;
  446. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_SaveFailed));
  447. }
  448. private static void OnSaveSucceedCallback(FashionShowData fashionShowData)
  449. {
  450. FashionShowData.FashionShowName = fashionShowData.FashionShowName;
  451. FashionShowData.FashionShowContent = fashionShowData.FashionShowName;
  452. SaveButton.interactable = true;
  453. Bubble.Show(null, Language.GetStr(LanguageLabel.UI__Pg_SaveSucceed));
  454. }
  455. private static void OnResetButtonClick()
  456. {
  457. AudioManager.PlayClip(ResourceLabel.BtnClip);
  458. FashionTitleInputField.text = FashionShowData.FashionShowName;
  459. FashionContentInputField.text = FashionShowData.FashionShowContent;
  460. }
  461. private static void OnDeleteButtonClick()
  462. {
  463. Bubble.Show
  464. (
  465. null,
  466. Language.GetStr(LanguageLabel.UI__Pg_DeleteWarning),
  467. null,
  468. null,
  469. () =>
  470. {
  471. HidePanel();
  472. HttpManager.DeleteFashionShowData();
  473. }
  474. );
  475. }
  476. private static void OnBuyAllButtonClick()
  477. {
  478. //Debug.Log(TotalCoin.Value);
  479. UpdateTotalCost(true);
  480. if (TotalCoin.Value > Manager.Coin)
  481. {
  482. Bubble.Show(Language.GetStr(LanguageLabel.Common__ShortCoin));
  483. return;
  484. }
  485. if (TotalDiamond.Value > Manager.Diamond)
  486. {
  487. Bubble.Show(Language.GetStr(LanguageLabel.Common__ShortDiamond));
  488. return;
  489. }
  490. Manager.Pay("", TotalCoin.Value, Current.Coin, OnBuyAllSucceedCallback, StaticsManager.ItemID.解锁服装, StaticsManager.ConsumeModule.Charge, false, false, null, TotalCoin.Key);
  491. Manager.Pay("", TotalDiamond.Value, Current.Diamond, OnBuyAllSucceedCallback, StaticsManager.ItemID.解锁服装, StaticsManager.ConsumeModule.Charge, false, false, null, TotalDiamond.Key);
  492. }
  493. private static void OnBuyAllSucceedCallback()
  494. {
  495. foreach (var closeItem in CloseItems)
  496. {
  497. if (!closeItem.CloseItem.IsBought)
  498. {
  499. closeItem.CloseItem.OnBuySucceed();
  500. closeItem.Text.SetActive(true);
  501. }
  502. }
  503. }
  504. private static void OnCuteSliderValueChange(float value)
  505. {
  506. AudioManager.PlayClip(ResourceLabel.BtnClip);
  507. CuteRateText.text = value.ToString("0");
  508. RateButton.SetActive(true);
  509. }
  510. private static void OnCuteSliderSelect()
  511. {
  512. CuteRateBackground.SetActive(true);
  513. }
  514. private static void OnCuteSliderDeselect()
  515. {
  516. CuteRateBackground.SetActive(false);
  517. }
  518. private static void OnGraceSliderValueChange(float value)
  519. {
  520. AudioManager.PlayClip(ResourceLabel.BtnClip);
  521. GraceRateText.text = value.ToString("0");
  522. RateButton.SetActive(true);
  523. }
  524. private static void OnGraceSliderSelect()
  525. {
  526. GraceRateBackground.SetActive(true);
  527. }
  528. private static void OnGraceSliderDeselect()
  529. {
  530. GraceRateBackground.SetActive(false);
  531. }
  532. private static void OnVividSliderValueChange(float value)
  533. {
  534. AudioManager.PlayClip(ResourceLabel.BtnClip);
  535. VividRateText.text = value.ToString("0");
  536. RateButton.SetActive(true);
  537. }
  538. private static void OnVividSliderSelect()
  539. {
  540. VividRateBackground.SetActive(true);
  541. }
  542. private static void OnVividSliderDeselect()
  543. {
  544. VividRateBackground.SetActive(false);
  545. }
  546. private static void OnSimpleSliderValueChange(float value)
  547. {
  548. AudioManager.PlayClip(ResourceLabel.BtnClip);
  549. SimpleRateText.text = value.ToString("0");
  550. RateButton.SetActive(true);
  551. }
  552. private static void OnSimpleSliderSelect()
  553. {
  554. SimpleRateBackground.SetActive(true);
  555. }
  556. private static void OnSimpleSliderDeselect()
  557. {
  558. SimpleRateBackground.SetActive(false);
  559. }
  560. private static void OnGlorySliderValueChange(float value)
  561. {
  562. AudioManager.PlayClip(ResourceLabel.BtnClip);
  563. GloryRateText.text = value.ToString("0");
  564. RateButton.SetActive(true);
  565. }
  566. private static void OnGlorySliderSelect()
  567. {
  568. GloryRateBackground.SetActive(true);
  569. }
  570. private static void OnGlorySliderDeselect()
  571. {
  572. GloryRateBackground.SetActive(false);
  573. }
  574. private static void OnLevelChange(int level)
  575. {
  576. GardenFashionShowButtonParent.SetActive(false); //todo 暂时关闭
  577. DressroomFashionShowButton.SetActive(false); //todo 暂时关闭
  578. //if (level >= UnlockLevel)
  579. //{
  580. // GardenFashionShowButtonParent.SetActive(true);
  581. // DressroomFashionShowButton.SetActive(true);
  582. //}
  583. //else
  584. //{
  585. // GardenFashionShowButtonParent.SetActive(false);
  586. // DressroomFashionShowButton.SetActive(false);
  587. //}
  588. }
  589. private static void OnDressroomFashionShowButtonClick()
  590. {
  591. AudioManager.PlayClip(ResourceLabel.BtnClip);
  592. FashionShowData data = new FashionShowData();
  593. data.CuteRate = "0";
  594. data.GloryRate = "0";
  595. data.GraceRate = "0";
  596. data.SimpleRate = "0";
  597. data.VividRate = "0";
  598. data.FashionShowName = "";
  599. data.FashionShowContent = "";
  600. data.RefererNickname = NickNameManager.NickName;
  601. data.CloseIDs = PlayerManager.Player.GetCurrentChangableDressIDs();
  602. ShowEditPanel(data);
  603. }
  604. }