Beef.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. import guidePanel from "./guide/guidePanel";
  2. import { App } from "./Manager/App";
  3. import { SoundManager } from "./Manager/SoundManager";
  4. const {ccclass, property} = cc._decorator;
  5. export enum BeefState {
  6. Raw, //生的
  7. Cooked, //熟的
  8. Burnt, //焦了
  9. Plate, //盘子
  10. YellowSouce,
  11. Cocumber,
  12. Tomato,
  13. RedSouce,
  14. }
  15. export enum FoodType {
  16. None = 0,
  17. Drink,
  18. PureSteak,
  19. CocumberSteak,
  20. TomatoSteak,
  21. YellowSteak,
  22. RedSteak,
  23. };
  24. @ccclass
  25. export default class Beef extends cc.Component {
  26. // 牛肉
  27. @property([cc.SpriteFrame])
  28. beefs: cc.SpriteFrame[] = [];
  29. // // 黄瓜
  30. // @property([cc.SpriteFrame])
  31. // huangGua: cc.SpriteFrame[] = [];
  32. // // 番茄
  33. // @property([cc.SpriteFrame])
  34. // tomato: cc.SpriteFrame[] = [];
  35. // // 芝士
  36. // @property([cc.SpriteFrame])
  37. // Cheese: cc.SpriteFrame[] = [];
  38. // // 番茄酱
  39. // @property([cc.SpriteFrame])
  40. // fanQieJiang: cc.SpriteFrame[] = [];
  41. @property(cc.Sprite)
  42. spBeef: cc.Sprite = null;
  43. @property(cc.Node)
  44. nodeCocumber: cc.Node = null;
  45. @property(cc.Node)
  46. nodeTomato: cc.Node = null;
  47. @property(cc.Node)
  48. nodeYellowSouce: cc.Node = null;
  49. @property(cc.Node)
  50. nodeRedSouce: cc.Node = null;
  51. @property(cc.ProgressBar)
  52. pBarCooked: cc.ProgressBar = null;
  53. @property(cc.ProgressBar)
  54. pBarBurnt: cc.ProgressBar = null;
  55. public m_state = BeefState.Raw;
  56. public m_foodType = FoodType.None;
  57. private m_cookedTime = 3;
  58. private m_burntTime = 3;
  59. private m_pause = false;
  60. onLoad () {
  61. }
  62. start () {
  63. this.setState(BeefState.Raw);
  64. }
  65. public setState(state: BeefState){
  66. this.m_state = state;
  67. switch(this.m_state){
  68. case BeefState.Raw:
  69. cc.tween(this.pBarCooked).to(this.m_cookedTime, {progress: 1}).call(()=>{
  70. this.setState(BeefState.Cooked);
  71. }).start();
  72. break;
  73. case BeefState.Cooked:
  74. this.spBeef.spriteFrame = this.beefs[1];
  75. this.pBarCooked.node.active = false;
  76. this.pBarBurnt.node.active = true;
  77. if(App.DataManager.guideStep == 1){
  78. guidePanel.getInstance().showCurGuide();
  79. }
  80. cc.tween(this.pBarBurnt).to(this.m_burntTime, {progress: 1}).call(()=>{
  81. this.setState(BeefState.Burnt);
  82. }).start();
  83. App.SoundManager.playEffect(SoundManager.cookingOver);
  84. break;
  85. case BeefState.Burnt:
  86. this.pBarCooked.node.active = false;
  87. this.pBarBurnt.node.active = false;
  88. this.spBeef.spriteFrame = this.beefs[2];
  89. break;
  90. case BeefState.Plate:
  91. cc.Tween.stopAllByTarget(this.pBarCooked);
  92. cc.Tween.stopAllByTarget(this.pBarBurnt);
  93. this.pBarCooked.node.active = false;
  94. this.pBarBurnt.node.active = false;
  95. this.m_foodType = FoodType.PureSteak;
  96. break;
  97. case BeefState.YellowSouce:
  98. this.nodeYellowSouce.active = true;
  99. this.m_foodType = FoodType.YellowSteak;
  100. break;
  101. case BeefState.Cocumber:
  102. this.nodeCocumber.active = true;
  103. this.m_foodType = FoodType.CocumberSteak;
  104. break;
  105. case BeefState.Tomato:
  106. this.nodeTomato.active = true;
  107. this.m_foodType = FoodType.TomatoSteak;
  108. break;
  109. case BeefState.RedSouce:
  110. this.nodeRedSouce.active = true;
  111. this.m_foodType = FoodType.RedSteak;
  112. break;
  113. }
  114. }
  115. update (dt) {
  116. if(!this.m_pause){
  117. if(this.m_state == BeefState.Raw){
  118. this.m_cookedTime -= dt;
  119. }
  120. else if(this.m_state == BeefState.Cooked){
  121. this.m_burntTime -= dt;
  122. }
  123. }
  124. }
  125. }