From 36c9fc802b2bd0c6583501d5e443d93012c390a4 Mon Sep 17 00:00:00 2001 From: hundun Date: Sun, 12 Nov 2023 16:12:24 +0800 Subject: [PATCH] update UI and game-value --- .../idledemo/logic/DemoGameDictionary.java | 11 -- .../CookieComplexAutoProviderPrototype.java | 1 - .../ui/achievement/AllAchievementBoardVM.java | 2 +- .../gdxgame/idledemo/ui/world/HexAreaVM.java | 1 - IdleMushroom-game/core/assets/bg_shroom.png | Bin 0 -> 8353 bytes IdleMushroom-game/core/assets/main.png | Bin 0 -> 47500 bytes IdleMushroom-game/core/assets/mainCokie.png | Bin 66248 -> 0 bytes IdleMushroom-game/core/assets/raw/main.psd | Bin 0 -> 219066 bytes .../core/assets/raw/tiles.psd | Bin .../skins/IdleMushroom/IdleMushroom.json | 2 +- .../IdleMushroomChildGameConfig.java | 27 ++-- .../idlemushroom/IdleMushroomGame.java | 44 +++--- .../logic/DemoAchievementLoader.java | 8 +- .../logic/DemoBuiltinConstructionsLoader.java | 42 +++--- .../logic/DemoGameDictionary.java | 132 ----------------- .../idlemushroom/logic/DemoSaveHandler.java | 38 ++--- ... IdleMushroomConstructionPrototypeId.java} | 2 +- .../logic/IdleMushroomGameDictionary.java | 140 ++++++++++++++++++ .../logic/IdleMushroomTextureManager.java | 32 ++-- .../prototype/AutoProviderPrototype.java | 25 +++- .../logic/prototype/AutoSellerPrototype.java | 8 +- .../logic/prototype/DirtPrototype.java | 22 +-- .../prototype/EpochCounterPrototype.java | 8 +- .../prototype/MainMushroomPrototype.java | 9 +- .../ui/achievement/AllAchievementBoardVM.java | 2 +- .../ui/achievement/OneAchievementNodeVM.java | 10 +- .../main/FirstRunningAchievementBoardVM.java | 2 +- .../ui/main/GameEntityFactory.java | 4 +- .../MainScreenConstructionControlBoard.java | 15 +- .../ui/main/MainScreenPopupInfoBoard.java | 6 +- .../ui/main/OneEpochInfoAreaVM.java | 27 +++- .../ui/main/TwoEpochInfoAreaVM.java | 6 +- .../ui/screen/IdleMushroomScreenContext.java | 2 + .../ui/screen/MainPlayScreen.java | 27 +++- .../ui/screen/WorldPlayScreen.java | 2 +- .../ui/shared/ConstructionDetailPartVM.java | 7 +- .../ui/shared/ConstructionWikiVM.java | 3 +- .../idlemushroom/ui/world/HexAreaVM.java | 4 +- .../idlemushroom/ui/world/HexCellVM.java | 12 +- .../ui/world/WorldDetailBoardVM.java | 20 +-- .../ui/world/WorldEmptyDetailNode.java | 30 ++-- .../ui/world/WorldScreenPopupInfoBoard.java | 2 +- .../framework/model/CameraDataPackage.java | 28 +++- .../construction/base/DescriptionPackage.java | 4 + .../base/DescriptionPackageFactory.java | 4 +- .../construction/base/ExistenceComponent.java | 2 +- .../starter/SimpleAutoOutputComponent.java | 4 +- .../model/manager/AchievementManager.java | 9 +- .../framework/util/text/IGameDictionary.java | 1 - 49 files changed, 440 insertions(+), 347 deletions(-) create mode 100644 IdleMushroom-game/core/assets/bg_shroom.png create mode 100644 IdleMushroom-game/core/assets/main.png delete mode 100644 IdleMushroom-game/core/assets/mainCokie.png create mode 100644 IdleMushroom-game/core/assets/raw/main.psd rename "IdleMushroom-game/core/assets/raw/\346\234\252\346\240\207\351\242\230-1.psd" => IdleMushroom-game/core/assets/raw/tiles.psd (100%) delete mode 100644 IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoGameDictionary.java rename IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/{DemoConstructionPrototypeId.java => IdleMushroomConstructionPrototypeId.java} (95%) create mode 100644 IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/IdleMushroomGameDictionary.java diff --git a/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/logic/DemoGameDictionary.java b/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/logic/DemoGameDictionary.java index 21cc7c2..15052cb 100644 --- a/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/logic/DemoGameDictionary.java +++ b/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/logic/DemoGameDictionary.java @@ -115,17 +115,6 @@ public List getAchievementTexts(Language language) } } - @Override - public List getPlayScreenTexts(Language language) - { - switch (language) - { - case CN: - return JavaFeatureForGwt.arraysAsList("购买", "购买费用"); - default: - return JavaFeatureForGwt.arraysAsList("Build", "Build cost"); - } - } @Override public List getStageSelectMaskBoardTexts(Language language) diff --git a/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/logic/prototype/CookieComplexAutoProviderPrototype.java b/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/logic/prototype/CookieComplexAutoProviderPrototype.java index 7abd307..b7f6a5d 100644 --- a/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/logic/prototype/CookieComplexAutoProviderPrototype.java +++ b/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/logic/prototype/CookieComplexAutoProviderPrototype.java @@ -11,7 +11,6 @@ import hundun.gdxgame.idleshare.gamelib.framework.model.construction.base.DescriptionPackage; import hundun.gdxgame.idleshare.gamelib.framework.model.construction.base.DescriptionPackageFactory; import hundun.gdxgame.idleshare.gamelib.framework.model.construction.starter.BaseAutoProficiencyComponent; -import hundun.gdxgame.idleshare.gamelib.framework.model.construction.starter.ConstProficiencyComponent; import hundun.gdxgame.idleshare.gamelib.framework.model.grid.GridPosition; import hundun.gdxgame.idleshare.gamelib.framework.util.text.Language; diff --git a/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/ui/achievement/AllAchievementBoardVM.java b/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/ui/achievement/AllAchievementBoardVM.java index 920223a..7a455b8 100644 --- a/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/ui/achievement/AllAchievementBoardVM.java +++ b/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/ui/achievement/AllAchievementBoardVM.java @@ -43,7 +43,7 @@ protected void initChild() { nodes.clear(); childTable.clearChildren(); - parent.getGame().getIdleGameplayExport().getGameplayContext().getAchievementManager().getModels().values() + parent.getGame().getIdleGameplayExport().getGameplayContext().getAchievementManager().getAchievementInfoPackage().getSortedAchievementList() .forEach(it -> { OneAchievementNodeVM constructionView = new OneAchievementNodeVM<>(parent, it); nodes.add(constructionView); diff --git a/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/ui/world/HexAreaVM.java b/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/ui/world/HexAreaVM.java index f27d883..a1c5d68 100644 --- a/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/ui/world/HexAreaVM.java +++ b/IdleDemo-game/core/src/main/java/hundun/gdxgame/idledemo/ui/world/HexAreaVM.java @@ -40,7 +40,6 @@ public HexAreaVM(WorldPlayScreen screen) { this.screen = screen; this.cameraDataPackage = new CameraDataPackage(); this.cameraDataPackage.setCameraZoomWeightOnlyAllowForceSet(true); - if (screen.getGame().debugMode) { this.debugAll(); } diff --git a/IdleMushroom-game/core/assets/bg_shroom.png b/IdleMushroom-game/core/assets/bg_shroom.png new file mode 100644 index 0000000000000000000000000000000000000000..886aac6531f2990103179b6706daa3d8d9fc9760 GIT binary patch literal 8353 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 LV+(&ffBnAzD=g-= literal 0 HcmV?d00001 diff --git a/IdleMushroom-game/core/assets/main.png b/IdleMushroom-game/core/assets/main.png new file mode 100644 index 0000000000000000000000000000000000000000..ff7b158e14c03ae83ef70a6b639a08d67de6dede GIT binary patch literal 47500 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 z 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%0D$KLGdimHSNKWF<{ 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

    ujW%RBAu{MwJhy+g66GA5mPQ@_j=5<$Lz z_tE}a-Iw{l-&#D5fA9rQh6upp(0&IaQ_y7kIF91dNfjLQ1n=g(u*)dsi$PY2M<1Yz|t2Y4|Cx|pTIZypa0zW5br5yaz9}3qeB#L=G?jGP)_x8Lv;^vI)*=k VU!bR#-Ts7s)?81Q?gtHh`2YXAHFE#} literal 0 HcmV?d00001 diff --git "a/IdleMushroom-game/core/assets/raw/\346\234\252\346\240\207\351\242\230-1.psd" b/IdleMushroom-game/core/assets/raw/tiles.psd similarity index 100% rename from "IdleMushroom-game/core/assets/raw/\346\234\252\346\240\207\351\242\230-1.psd" rename to IdleMushroom-game/core/assets/raw/tiles.psd diff --git a/IdleMushroom-game/core/assets/skins/IdleMushroom/IdleMushroom.json b/IdleMushroom-game/core/assets/skins/IdleMushroom/IdleMushroom.json index bea9a73..44517b8 100644 --- a/IdleMushroom-game/core/assets/skins/IdleMushroom/IdleMushroom.json +++ b/IdleMushroom-game/core/assets/skins/IdleMushroom/IdleMushroom.json @@ -64,7 +64,7 @@ "hinting": "AutoMedium", "minFilter": "Nearest", "magFilter": "Nearest", - "characters": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890\"!`?'.,;:()[]{}<>|/@\\^$€-%+=#_&~*啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱拣捡简俭剪减荐槛鉴践贱见键箭件健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利僳例俐痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃汀廷停亭庭艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座\r\n" + "characters": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890\"!`?'.,;:()[]{}<>|/@\\^$€-%+=#_&~*█▓▁•◎○●()。,:“”【】?!啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱拣捡简俭剪减荐槛鉴践贱见键箭件健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利僳例俐痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃汀廷停亭庭艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座\r\n" } }, "com.badlogic.gdx.scenes.scene2d.ui.Skin$TintedDrawable": { diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/IdleMushroomChildGameConfig.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/IdleMushroomChildGameConfig.java index 4a57fcd..67842cb 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/IdleMushroomChildGameConfig.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/IdleMushroomChildGameConfig.java @@ -4,7 +4,7 @@ import java.util.Map; import hundun.gdxgame.gamelib.base.util.JavaFeatureForGwt; -import hundun.gdxgame.idlemushroom.logic.DemoConstructionPrototypeId; +import hundun.gdxgame.idlemushroom.logic.IdleMushroomConstructionPrototypeId; import hundun.gdxgame.idlemushroom.logic.DemoScreenId; import hundun.gdxgame.idlemushroom.logic.ResourceType; import hundun.gdxgame.idleshare.gamelib.framework.data.ChildGameConfig; @@ -19,21 +19,22 @@ public IdleMushroomChildGameConfig() { this.setConstructionConfig( ConstructionConfig.builder() - .mainClickerConstructionPrototypeId(DemoConstructionPrototypeId.MAIN_MUSHROOM) + .mainClickerConstructionPrototypeId(IdleMushroomConstructionPrototypeId.MAIN_MUSHROOM) .singletonPrototypeIds(JavaFeatureForGwt.listOf( - DemoConstructionPrototypeId.MUSHROOM_AUTO_SELLER, - DemoConstructionPrototypeId.EPOCH_COUNTER + IdleMushroomConstructionPrototypeId.MAIN_MUSHROOM, + IdleMushroomConstructionPrototypeId.MUSHROOM_AUTO_SELLER, + IdleMushroomConstructionPrototypeId.EPOCH_COUNTER )) .worldPrototypeIds(JavaFeatureForGwt.listOf( - DemoConstructionPrototypeId.EPOCH_1_EMPTY_CELL, - DemoConstructionPrototypeId.EPOCH_2_EMPTY_CELL, - DemoConstructionPrototypeId.EPOCH_3_EMPTY_CELL, - DemoConstructionPrototypeId.EPOCH_1_TREE, - DemoConstructionPrototypeId.EPOCH_2_TREE, - DemoConstructionPrototypeId.EPOCH_3_TREE, - DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER, - DemoConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER, - DemoConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER + IdleMushroomConstructionPrototypeId.EPOCH_1_EMPTY_CELL, + IdleMushroomConstructionPrototypeId.EPOCH_2_EMPTY_CELL, + IdleMushroomConstructionPrototypeId.EPOCH_3_EMPTY_CELL, + IdleMushroomConstructionPrototypeId.EPOCH_1_TREE, + IdleMushroomConstructionPrototypeId.EPOCH_2_TREE, + IdleMushroomConstructionPrototypeId.EPOCH_3_TREE, + IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER, + IdleMushroomConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER, + IdleMushroomConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER )) .build() ); diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/IdleMushroomGame.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/IdleMushroomGame.java index 605e3e8..222eaa3 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/IdleMushroomGame.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/IdleMushroomGame.java @@ -26,7 +26,10 @@ public class IdleMushroomGame extends BaseIdleGame { protected AbstractIdleScreenContext screenContext; @Getter - protected IdleMushroomTextureManager idleMushroomTextureManager; + private final IdleMushroomTextureManager idleMushroomTextureManager; + private final IdleMushroomScreenContext idleMushroomScreenContext; + @Getter + private final IdleMushroomGameDictionary idleMushroomGameDictionary; public static Map epochConfigMap; static { @@ -37,34 +40,34 @@ public class IdleMushroomGame extends BaseIdleGame { 2, RootEpochConfig.builder() .maxLevel(10) .constructionEpochConfigMap(JavaFeatureForGwt.mapOf( - DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER, + IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER, ConstructionEpochConfig.builder() - .transformToPrototypeId(DemoConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER) + .transformToPrototypeId(null) .build(), - DemoConstructionPrototypeId.EPOCH_1_EMPTY_CELL, + IdleMushroomConstructionPrototypeId.EPOCH_1_EMPTY_CELL, ConstructionEpochConfig.builder() - .transformToPrototypeId(DemoConstructionPrototypeId.EPOCH_2_EMPTY_CELL) + .transformToPrototypeId(IdleMushroomConstructionPrototypeId.EPOCH_2_EMPTY_CELL) .build(), - DemoConstructionPrototypeId.EPOCH_1_TREE, + IdleMushroomConstructionPrototypeId.EPOCH_1_TREE, ConstructionEpochConfig.builder() - .transformToPrototypeId(DemoConstructionPrototypeId.EPOCH_2_TREE) + .transformToPrototypeId(IdleMushroomConstructionPrototypeId.EPOCH_2_TREE) .build() )) .build(), 3, RootEpochConfig.builder() .maxLevel(15) .constructionEpochConfigMap(JavaFeatureForGwt.mapOf( - DemoConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER, + IdleMushroomConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER, ConstructionEpochConfig.builder() - .transformToPrototypeId(DemoConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER) + .transformToPrototypeId(null) .build(), - DemoConstructionPrototypeId.EPOCH_2_EMPTY_CELL, + IdleMushroomConstructionPrototypeId.EPOCH_2_EMPTY_CELL, ConstructionEpochConfig.builder() - .transformToPrototypeId(DemoConstructionPrototypeId.EPOCH_3_EMPTY_CELL) + .transformToPrototypeId(IdleMushroomConstructionPrototypeId.EPOCH_3_EMPTY_CELL) .build(), - DemoConstructionPrototypeId.EPOCH_2_TREE, + IdleMushroomConstructionPrototypeId.EPOCH_2_TREE, ConstructionEpochConfig.builder() - .transformToPrototypeId(DemoConstructionPrototypeId.EPOCH_3_TREE) + .transformToPrototypeId(IdleMushroomConstructionPrototypeId.EPOCH_3_TREE) .build() )) .build() @@ -74,7 +77,7 @@ public class IdleMushroomGame extends BaseIdleGame { public IdleMushroomGame(ISaveTool saveTool) { super(960, 640); - this.debugMode = true; + this.debugMode = false; this.sharedViewport = new ScreenViewport(); this.textFormatTool = new TextFormatTool(); @@ -82,10 +85,11 @@ public IdleMushroomGame(ISaveTool saveTool) { this.mainSkinFilePath = null; this.idleMushroomTextureManager = new IdleMushroomTextureManager(); this.textureManager = this.idleMushroomTextureManager; - this.screenContext = new IdleMushroomScreenContext(this); + this.idleMushroomScreenContext = new IdleMushroomScreenContext(this); + this.screenContext = idleMushroomScreenContext; this.audioPlayManager = new AudioPlayManager(this); this.childGameConfig = new IdleMushroomChildGameConfig(); - + this.idleMushroomGameDictionary = new IdleMushroomGameDictionary(); this.controlBoardScreenIds = JavaFeatureForGwt.listOf( DemoScreenId.SCREEN_MAIN, DemoScreenId.SCREEN_WORLD, @@ -101,7 +105,7 @@ protected void createStage1() { this.mainSkin = new FreeTypeSkin(Gdx.files.internal("skins/IdleMushroom/IdleMushroom.json")); this.idleGameplayExport = new IdleGameplayExport( frontend, - new DemoGameDictionary(), + idleMushroomGameDictionary, new DemoBuiltinConstructionsLoader(), new DemoAchievementLoader(), BaseIdleScreen.LOGIC_FRAME_PER_SECOND, @@ -146,14 +150,16 @@ public static class ConstructionEpochConfig { public void doChangeEpoch(BaseConstruction epochCounter) { int currentEpochLevel = epochCounter.getSaveData().getLevel(); RootEpochConfig rootEpochConfig = epochConfigMap.get(currentEpochLevel); - + idleMushroomScreenContext.getMainPlayScreen().setMainClickerWithScale(); idleGameplayExport.getGameplayContext().getConstructionManager().getWorldConstructionInstances().stream() .forEach(it -> { ConstructionEpochConfig constructionEpochConfig = rootEpochConfig.getConstructionEpochConfigMap() .get(it.getPrototypeId()); if (constructionEpochConfig != null) { idleGameplayExport.getGameplayContext().getConstructionManager().addToRemoveQueue(it); - idleGameplayExport.getGameplayContext().getConstructionManager().addToCreateQueue(constructionEpochConfig.getTransformToPrototypeId(), it.getPosition()); + if (constructionEpochConfig.getTransformToPrototypeId() != null) { + idleGameplayExport.getGameplayContext().getConstructionManager().addToCreateQueue(constructionEpochConfig.getTransformToPrototypeId(), it.getPosition()); + } } }); diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoAchievementLoader.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoAchievementLoader.java index 0fe3617..53fa00f 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoAchievementLoader.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoAchievementLoader.java @@ -50,7 +50,7 @@ public Map getProviderMap(Language language) { MushroomAchievementId.STEP_1, textMap, JavaFeatureForGwt.mapOf( - DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER, new SimpleEntry<>(1, 2) + IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER, new SimpleEntry<>(1, 2) ), JavaFeatureForGwt.listOf(MushroomAchievementId.STEP_2, MushroomAchievementId.STEP_3, MushroomAchievementId.STEP_4), new ResourcePair(ResourceType.DNA_POINT, 1000L) @@ -60,7 +60,7 @@ public Map getProviderMap(Language language) { MushroomAchievementId.STEP_2, textMap, JavaFeatureForGwt.mapOf( - DemoConstructionPrototypeId.MUSHROOM_AUTO_SELLER, new SimpleEntry<>(1, 2) + IdleMushroomConstructionPrototypeId.MUSHROOM_AUTO_SELLER, new SimpleEntry<>(1, 2) ), null, new ResourcePair(ResourceType.DNA_POINT, 1000L) @@ -70,7 +70,7 @@ public Map getProviderMap(Language language) { MushroomAchievementId.STEP_3, textMap, JavaFeatureForGwt.mapOf( - DemoConstructionPrototypeId.MUSHROOM_AUTO_SELLER, new SimpleEntry<>(1, 2) + IdleMushroomConstructionPrototypeId.MUSHROOM_AUTO_SELLER, new SimpleEntry<>(1, 2) ), null, new ResourcePair(ResourceType.DNA_POINT, 1000L) @@ -80,7 +80,7 @@ public Map getProviderMap(Language language) { MushroomAchievementId.STEP_4, textMap, JavaFeatureForGwt.mapOf( - DemoConstructionPrototypeId.MUSHROOM_AUTO_SELLER, new SimpleEntry<>(1, 2) + IdleMushroomConstructionPrototypeId.MUSHROOM_AUTO_SELLER, new SimpleEntry<>(1, 2) ), null, new ResourcePair(ResourceType.DNA_POINT, 1000L) diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoBuiltinConstructionsLoader.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoBuiltinConstructionsLoader.java index aaebd52..2e75a25 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoBuiltinConstructionsLoader.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoBuiltinConstructionsLoader.java @@ -23,48 +23,48 @@ public Map getProviderMap(Language langua RootEpochConfig epochConfig2 = IdleMushroomGame.epochConfigMap.get(2); RootEpochConfig epochConfig3 = IdleMushroomGame.epochConfigMap.get(3); Map result = new HashMap<>(); - result.put(DemoConstructionPrototypeId.EPOCH_1_EMPTY_CELL, new DirtPrototype( - DemoConstructionPrototypeId.EPOCH_1_EMPTY_CELL, + result.put(IdleMushroomConstructionPrototypeId.EPOCH_1_EMPTY_CELL, new DirtPrototype( + IdleMushroomConstructionPrototypeId.EPOCH_1_EMPTY_CELL, language )); - result.put(DemoConstructionPrototypeId.EPOCH_2_EMPTY_CELL, new DirtPrototype( - DemoConstructionPrototypeId.EPOCH_2_EMPTY_CELL, + result.put(IdleMushroomConstructionPrototypeId.EPOCH_2_EMPTY_CELL, new DirtPrototype( + IdleMushroomConstructionPrototypeId.EPOCH_2_EMPTY_CELL, language )); - result.put(DemoConstructionPrototypeId.EPOCH_3_EMPTY_CELL, new DirtPrototype( - DemoConstructionPrototypeId.EPOCH_3_EMPTY_CELL, + result.put(IdleMushroomConstructionPrototypeId.EPOCH_3_EMPTY_CELL, new DirtPrototype( + IdleMushroomConstructionPrototypeId.EPOCH_3_EMPTY_CELL, language )); - result.put(DemoConstructionPrototypeId.EPOCH_1_TREE, new TreePrototype( - DemoConstructionPrototypeId.EPOCH_1_TREE, + result.put(IdleMushroomConstructionPrototypeId.EPOCH_1_TREE, new TreePrototype( + IdleMushroomConstructionPrototypeId.EPOCH_1_TREE, language )); - result.put(DemoConstructionPrototypeId.EPOCH_2_TREE, new TreePrototype( - DemoConstructionPrototypeId.EPOCH_2_TREE, + result.put(IdleMushroomConstructionPrototypeId.EPOCH_2_TREE, new TreePrototype( + IdleMushroomConstructionPrototypeId.EPOCH_2_TREE, language )); - result.put(DemoConstructionPrototypeId.EPOCH_3_TREE, new TreePrototype( - DemoConstructionPrototypeId.EPOCH_3_TREE, + result.put(IdleMushroomConstructionPrototypeId.EPOCH_3_TREE, new TreePrototype( + IdleMushroomConstructionPrototypeId.EPOCH_3_TREE, language )); - result.put(DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER, new AutoProviderPrototype( - DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER, + result.put(IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER, new AutoProviderPrototype( + IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER, epochConfig1, language )); - result.put(DemoConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER, new AutoProviderPrototype( - DemoConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER, + result.put(IdleMushroomConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER, new AutoProviderPrototype( + IdleMushroomConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER, epochConfig2, language )); - result.put(DemoConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER, new AutoProviderPrototype( - DemoConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER, + result.put(IdleMushroomConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER, new AutoProviderPrototype( + IdleMushroomConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER, epochConfig3, language )); - result.put(DemoConstructionPrototypeId.MUSHROOM_AUTO_SELLER, new AutoSellerPrototype(language)); - result.put(DemoConstructionPrototypeId.MAIN_MUSHROOM, new MainMushroomPrototype(language)); - result.put(DemoConstructionPrototypeId.EPOCH_COUNTER, new EpochCounterPrototype(language)); + result.put(IdleMushroomConstructionPrototypeId.MUSHROOM_AUTO_SELLER, new AutoSellerPrototype(language)); + result.put(IdleMushroomConstructionPrototypeId.MAIN_MUSHROOM, new MainMushroomPrototype(language)); + result.put(IdleMushroomConstructionPrototypeId.EPOCH_COUNTER, new EpochCounterPrototype(language)); return result; } diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoGameDictionary.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoGameDictionary.java deleted file mode 100644 index 06e34c0..0000000 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoGameDictionary.java +++ /dev/null @@ -1,132 +0,0 @@ -package hundun.gdxgame.idlemushroom.logic; - -import java.util.List; -import java.util.Map; - -import hundun.gdxgame.gamelib.base.util.JavaFeatureForGwt; -import hundun.gdxgame.idleshare.gamelib.framework.util.text.IGameDictionary; -import hundun.gdxgame.idleshare.gamelib.framework.util.text.Language; - -/** - * @author hundun - * Created on 2021/11/22 - */ -public class DemoGameDictionary implements IGameDictionary { - - - public String constructionPrototypeIdToShowName(Language language, String constructionId) { - switch (language) { - default: - switch (constructionId) { - - case DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER: - case DemoConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER: - case DemoConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER: - return "自动点击器"; - case DemoConstructionPrototypeId.EPOCH_1_EMPTY_CELL: - case DemoConstructionPrototypeId.EPOCH_2_EMPTY_CELL: - case DemoConstructionPrototypeId.EPOCH_3_EMPTY_CELL: - return "空地"; - case DemoConstructionPrototypeId.EPOCH_1_TREE: - return "灌木丛"; - case DemoConstructionPrototypeId.EPOCH_2_TREE: - return "树"; - case DemoConstructionPrototypeId.EPOCH_3_TREE: - return "森林"; - case DemoConstructionPrototypeId.MUSHROOM_AUTO_SELLER: - return "自动出售器"; - case DemoConstructionPrototypeId.EPOCH_COUNTER: - return "EPOCH_COUNTER"; - default: - return "[dic lost]"; - } - } - - - } - - @Override - public String constructionPrototypeIdToDetailDescriptionConstPart(Language language, String constructionId) { - switch (language) { - default: - switch (constructionId) { - case DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER: - return "EPOCH_1自动获得饼干"; - case DemoConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER: - return "EPOCH_2自动获得饼干"; - case DemoConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER: - return "EPOCH_3自动获得饼干"; - case DemoConstructionPrototypeId.MUSHROOM_AUTO_SELLER: - return "自动出售饼干"; - case DemoConstructionPrototypeId.EPOCH_1_EMPTY_CELL: - return "空位置"; - case DemoConstructionPrototypeId.EPOCH_COUNTER: - return "the EPOCH_COUNTER"; - default: - return "[dic lost]"; - } - } - - - } - - @Override - public List getMenuScreenTexts(Language language) { - switch (language) { - case CN: - return JavaFeatureForGwt.arraysAsList("Idle样例", "新游戏", "继续游戏", "语言", "重启后生效"); - default: - return JavaFeatureForGwt.arraysAsList("IdleDemo", "New Game", "Continue", "Language", "Take effect after restart"); - } - } - - @Override - public Map getLanguageShowNameMap() { - return JavaFeatureForGwt.mapOf( - Language.CN, "中文", - Language.EN, "English" - ); - } - - @Override - public List getAchievementTexts(Language language) - { - switch (language) - { - case CN: - return JavaFeatureForGwt.listOf( - "当前任务:", "已完成:", "回到游戏", "奖励内容:", "领取", - "无" - ); - default: - return JavaFeatureForGwt.listOf( - "Quest: ", "Completed: ", "back", "reward: ", "Get it", - "None" - ); - } - } - - @Override - public List getPlayScreenTexts(Language language) - { - switch (language) - { - case CN: - return JavaFeatureForGwt.arraysAsList("购买", "购买费用"); - default: - return JavaFeatureForGwt.arraysAsList("Build", "Build cost"); - } - } - - @Override - public List getStageSelectMaskBoardTexts(Language language) - { - switch (language) - { - case CN: - return JavaFeatureForGwt.arraysAsList("返回", "关卡1", "关卡2", "关卡3"); - default: - return JavaFeatureForGwt.arraysAsList("Back", "Stage1", "Stage2", "Stage3"); - } - } -} diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoSaveHandler.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoSaveHandler.java index b8c5dfe..04d71fa 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoSaveHandler.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoSaveHandler.java @@ -32,9 +32,9 @@ protected RootSaveData genereateStarterRootSaveData() { GridPosition uselessPosition = new GridPosition(0, 0); GridPosition providerPosition = new GridPosition(1, 1); List worldGridPositions = new ArrayList<>(); - int size = 5; - for (int i = 0; i < size; i++) { - for (int j = 0; j < size; j++) { + int size = 6; + for (int i = - size / 2 ; i < size / 2; i++) { + for (int j = - size / 2; j < size / 2; j++) { GridPosition emptyPosition = new GridPosition(i, j); if (!emptyPosition.equals(providerPosition)) { worldGridPositions.add(emptyPosition); @@ -42,36 +42,36 @@ protected RootSaveData genereateStarterRootSaveData() { } } map.put( - DemoConstructionPrototypeId.MAIN_MUSHROOM + "_" + SINGLETON, + IdleMushroomConstructionPrototypeId.MAIN_MUSHROOM + "_" + SINGLETON, ConstructionSaveData.builder() - .prototypeId(DemoConstructionPrototypeId.MAIN_MUSHROOM) - .level(0) - .workingLevel(0) + .prototypeId(IdleMushroomConstructionPrototypeId.MAIN_MUSHROOM) + .level(1) + .workingLevel(1) .position(uselessPosition) .build() ); map.put( - DemoConstructionPrototypeId.MUSHROOM_AUTO_SELLER + "_" + SINGLETON, + IdleMushroomConstructionPrototypeId.MUSHROOM_AUTO_SELLER + "_" + SINGLETON, ConstructionSaveData.builder() - .prototypeId(DemoConstructionPrototypeId.MUSHROOM_AUTO_SELLER) + .prototypeId(IdleMushroomConstructionPrototypeId.MUSHROOM_AUTO_SELLER) .level(1) .workingLevel(0) .position(uselessPosition) .build() ); map.put( - DemoConstructionPrototypeId.EPOCH_COUNTER + "_" + SINGLETON, + IdleMushroomConstructionPrototypeId.EPOCH_COUNTER + "_" + SINGLETON, ConstructionSaveData.builder() - .prototypeId(DemoConstructionPrototypeId.EPOCH_COUNTER) + .prototypeId(IdleMushroomConstructionPrototypeId.EPOCH_COUNTER) .level(1) .workingLevel(1) .position(uselessPosition) .build() ); map.put( - DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER + "_" + UUID.randomUUID(), + IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER + "_" + UUID.randomUUID(), ConstructionSaveData.builder() - .prototypeId(DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER) + .prototypeId(IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER) .level(1) .workingLevel(1) .position(providerPosition) @@ -83,9 +83,9 @@ protected RootSaveData genereateStarterRootSaveData() { double rand = Math.random(); if (rand > 0.3) { map.put( - DemoConstructionPrototypeId.EPOCH_1_EMPTY_CELL + "_" + UUID.randomUUID(), + IdleMushroomConstructionPrototypeId.EPOCH_1_EMPTY_CELL + "_" + UUID.randomUUID(), ConstructionSaveData.builder() - .prototypeId(DemoConstructionPrototypeId.EPOCH_1_EMPTY_CELL) + .prototypeId(IdleMushroomConstructionPrototypeId.EPOCH_1_EMPTY_CELL) .level(0) .workingLevel(0) .position(it) @@ -93,9 +93,9 @@ protected RootSaveData genereateStarterRootSaveData() { ); } else { map.put( - DemoConstructionPrototypeId.EPOCH_1_TREE + "_" + UUID.randomUUID(), + IdleMushroomConstructionPrototypeId.EPOCH_1_TREE + "_" + UUID.randomUUID(), ConstructionSaveData.builder() - .prototypeId(DemoConstructionPrototypeId.EPOCH_1_TREE) + .prototypeId(IdleMushroomConstructionPrototypeId.EPOCH_1_TREE) .level(0) .workingLevel(0) .position(it) @@ -106,8 +106,8 @@ protected RootSaveData genereateStarterRootSaveData() { }); Map ownResources = new HashMap<>(); - ownResources.put(ResourceType.MUSHROOM, 500L); - ownResources.put(ResourceType.DNA_POINT, 500L); + ownResources.put(ResourceType.MUSHROOM, 5000L); + ownResources.put(ResourceType.DNA_POINT, 5000L); return RootSaveData.builder() .gameplaySave(GameplaySaveData.builder() diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoConstructionPrototypeId.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/IdleMushroomConstructionPrototypeId.java similarity index 95% rename from IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoConstructionPrototypeId.java rename to IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/IdleMushroomConstructionPrototypeId.java index 166197f..4114947 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/DemoConstructionPrototypeId.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/IdleMushroomConstructionPrototypeId.java @@ -3,7 +3,7 @@ -public class DemoConstructionPrototypeId { +public class IdleMushroomConstructionPrototypeId { public static final String EPOCH_1_MUSHROOM_AUTO_PROVIDER = "ENUM_CSTR@EPOCH_1_MUSHROOM_AUTO_PROVIDER"; public static final String EPOCH_2_MUSHROOM_AUTO_PROVIDER = "ENUM_CSTR@EPOCH_2_MUSHROOM_AUTO_PROVIDER"; diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/IdleMushroomGameDictionary.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/IdleMushroomGameDictionary.java new file mode 100644 index 0000000..d66c214 --- /dev/null +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/IdleMushroomGameDictionary.java @@ -0,0 +1,140 @@ +package hundun.gdxgame.idlemushroom.logic; + +import java.util.List; +import java.util.Map; + +import hundun.gdxgame.gamelib.base.util.JavaFeatureForGwt; +import hundun.gdxgame.idleshare.gamelib.framework.model.manager.AchievementManager.AchievementState; +import hundun.gdxgame.idleshare.gamelib.framework.util.text.IGameDictionary; +import hundun.gdxgame.idleshare.gamelib.framework.util.text.Language; + +/** + * @author hundun + * Created on 2021/11/22 + */ +public class IdleMushroomGameDictionary implements IGameDictionary { + + + public String constructionPrototypeIdToShowName(Language language, String constructionId) { + switch (language) { + default: + switch (constructionId) { + + case IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER: + case IdleMushroomConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER: + case IdleMushroomConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER: + return "蘑菇地块"; + case IdleMushroomConstructionPrototypeId.EPOCH_1_EMPTY_CELL: + case IdleMushroomConstructionPrototypeId.EPOCH_2_EMPTY_CELL: + case IdleMushroomConstructionPrototypeId.EPOCH_3_EMPTY_CELL: + return "空地块"; + case IdleMushroomConstructionPrototypeId.EPOCH_1_TREE: + case IdleMushroomConstructionPrototypeId.EPOCH_2_TREE: + case IdleMushroomConstructionPrototypeId.EPOCH_3_TREE: + return "树木地块"; + case IdleMushroomConstructionPrototypeId.MUSHROOM_AUTO_SELLER: + return "科研中心"; + case IdleMushroomConstructionPrototypeId.EPOCH_COUNTER: + return "巨大化"; + default: + return "[dic lost]"; + } + } + + + } + + @Override + public String constructionPrototypeIdToDetailDescriptionConstPart(Language language, String constructionId) { + switch (language) { + default: + switch (constructionId) { + case IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER: + case IdleMushroomConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER: + case IdleMushroomConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER: + return constructionPrototypeIdToShowName(language, constructionId) + ":\n" + + "•定时生产蘑菇资源。\n" + + "•成长度满时可以升级,升级后成长度重置。\n" + + "•成长速度与周围地块有关,树木有利于成长,存在其他蘑菇地块不利于成长。"; + case IdleMushroomConstructionPrototypeId.EPOCH_1_EMPTY_CELL: + return constructionPrototypeIdToShowName(language, constructionId) + ":\n" + + "•可转变为其他地块。"; + case IdleMushroomConstructionPrototypeId.EPOCH_1_TREE: + case IdleMushroomConstructionPrototypeId.EPOCH_2_TREE: + case IdleMushroomConstructionPrototypeId.EPOCH_3_TREE: + return constructionPrototypeIdToShowName(language, constructionId) + ":\n" + + "•利于周围蘑菇地块的成长。"; + case IdleMushroomConstructionPrototypeId.MUSHROOM_AUTO_SELLER: + return constructionPrototypeIdToShowName(language, constructionId) + ":\n" + + "•定时消耗蘑菇资源,生产基因点数。\n" + + "•可以调整启用的等级。"; + case IdleMushroomConstructionPrototypeId.EPOCH_COUNTER: + return constructionPrototypeIdToShowName(language, constructionId) + ":\n" + + "•可消耗基因点数,进行一次巨大化。\n" + + "•巨大化时你将失去所有原有蘑菇地块(因为他们相对而言已经太小了)。"; + default: + return "[dic lost]"; + } + } + + + } + + @Override + public List getMenuScreenTexts(Language language) { + switch (language) { + case CN: + return JavaFeatureForGwt.arraysAsList("Idle样例", "新游戏", "继续游戏", "语言", "重启后生效"); + default: + return JavaFeatureForGwt.arraysAsList("IdleDemo", "New Game", "Continue", "Language", "Take effect after restart"); + } + } + + @Override + public Map getLanguageShowNameMap() { + return JavaFeatureForGwt.mapOf( + Language.CN, "中文", + Language.EN, "English" + ); + } + + @Override + public List getAchievementTexts(Language language) + { + switch (language) + { + case CN: + return JavaFeatureForGwt.listOf( + "当前任务:", "状态:", "回到游戏", "奖励内容:", "领取", + "无" + ); + default: + return JavaFeatureForGwt.listOf( + "Quest: ", "status: ", "back", "reward: ", "Get it", + "None" + ); + } + } + + @Override + public List getStageSelectMaskBoardTexts(Language language) + { + return null; + } + + public String achievementStatus(Language language, AchievementState state) { + switch (language) { + default: + switch (state) { + case LOCKED: + return "未解锁"; + case RUNNING: + return "进行中"; + case COMPLETED: + return "已完成"; + default: + return "[dic lost]"; + } + } + } +} diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/IdleMushroomTextureManager.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/IdleMushroomTextureManager.java index 2ac933c..f7a7aea 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/IdleMushroomTextureManager.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/IdleMushroomTextureManager.java @@ -68,8 +68,8 @@ public void lazyInitOnGameCreateStage2() { defaultBoardNinePatchDrawable = quickTableNinePatchDrawable(defaultBoardNinePatchTexture); { - Texture texture = new Texture(Gdx.files.internal("mainCokie.png")); - mainClickAnimationTextureAtlas = TextureRegion.split(texture, 256, 256); + Texture texture = new Texture(Gdx.files.internal("main.png")); + mainClickAnimationTextureAtlas = TextureRegion.split(texture, 128, 128); } defaultBoardNinePatchEdgeSize = 4; defaultBoardNinePatchMiddle = new TextureRegion( @@ -111,11 +111,11 @@ public void lazyInitOnGameCreateStage2() { //gameAreaRightPartRegionMap.put(GameArea.AREA_WIN, regions[2][1]); } { - Texture texture = new Texture(Gdx.files.internal("areas.png")); - TextureRegion[][] regions = TextureRegion.split(texture, 640, 480); - defaultAreaBack = regions[0][0]; - gameAreaBackMap.put(DemoScreenId.SCREEN_MAIN, regions[0][1]); - gameAreaBackMap.put(DemoScreenId.SCREEN_WORLD, regions[0][2]); + Texture texture = new Texture(Gdx.files.internal("bg_shroom.png")); + //TextureRegion[][] regions = TextureRegion.split(texture, 640, 480); + defaultAreaBack = new TextureRegion(texture); + gameAreaBackMap.put(DemoScreenId.SCREEN_MAIN, defaultAreaBack); + gameAreaBackMap.put(DemoScreenId.SCREEN_WORLD, defaultAreaBack); //gameAreaBackMap.put(GameArea.AREA_WIN, regions[0][3]); } { @@ -123,15 +123,15 @@ public void lazyInitOnGameCreateStage2() { TextureRegion[][] regions = TextureRegion.split(texture, 32, 48); constructionHexHighLightImage1 = regions[0][0]; constructionHexHighLightImage2 = regions[0][1]; - constructionHexImageMap.put(DemoConstructionPrototypeId.EPOCH_1_EMPTY_CELL, regions[0][2]); - constructionHexImageMap.put(DemoConstructionPrototypeId.EPOCH_2_EMPTY_CELL, regions[0][2]); - constructionHexImageMap.put(DemoConstructionPrototypeId.EPOCH_3_EMPTY_CELL, regions[0][3]); - constructionHexImageMap.put(DemoConstructionPrototypeId.EPOCH_1_TREE, regions[0][4]); - constructionHexImageMap.put(DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER, regions[0][5]); - constructionHexImageMap.put(DemoConstructionPrototypeId.EPOCH_2_TREE, regions[0][6]); - constructionHexImageMap.put(DemoConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER, regions[0][7]); - constructionHexImageMap.put(DemoConstructionPrototypeId.EPOCH_3_TREE, regions[0][8]); - constructionHexImageMap.put(DemoConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER, regions[0][9]); + constructionHexImageMap.put(IdleMushroomConstructionPrototypeId.EPOCH_1_EMPTY_CELL, regions[0][2]); + constructionHexImageMap.put(IdleMushroomConstructionPrototypeId.EPOCH_2_EMPTY_CELL, regions[0][2]); + constructionHexImageMap.put(IdleMushroomConstructionPrototypeId.EPOCH_3_EMPTY_CELL, regions[0][3]); + constructionHexImageMap.put(IdleMushroomConstructionPrototypeId.EPOCH_1_TREE, regions[0][4]); + constructionHexImageMap.put(IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER, regions[0][5]); + constructionHexImageMap.put(IdleMushroomConstructionPrototypeId.EPOCH_2_TREE, regions[0][6]); + constructionHexImageMap.put(IdleMushroomConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER, regions[0][7]); + constructionHexImageMap.put(IdleMushroomConstructionPrototypeId.EPOCH_3_TREE, regions[0][8]); + constructionHexImageMap.put(IdleMushroomConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER, regions[0][9]); //gameAreaBackMap.put(GameArea.AREA_WIN, regions[0][3]); } } diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/AutoProviderPrototype.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/AutoProviderPrototype.java index 7ff5a30..484f1e5 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/AutoProviderPrototype.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/AutoProviderPrototype.java @@ -2,7 +2,7 @@ import hundun.gdxgame.gamelib.base.util.JavaFeatureForGwt; import hundun.gdxgame.idlemushroom.IdleMushroomGame.RootEpochConfig; -import hundun.gdxgame.idlemushroom.logic.DemoConstructionPrototypeId; +import hundun.gdxgame.idlemushroom.logic.IdleMushroomConstructionPrototypeId; import hundun.gdxgame.idlemushroom.logic.DemoBuiltinConstructionsLoader; import hundun.gdxgame.idlemushroom.logic.ResourceType; import hundun.gdxgame.idlemushroom.logic.construction.BaseIdleDemoConstruction; @@ -10,6 +10,7 @@ import hundun.gdxgame.idleshare.gamelib.framework.model.construction.AbstractConstructionPrototype; import hundun.gdxgame.idleshare.gamelib.framework.model.construction.base.BaseConstruction; import hundun.gdxgame.idleshare.gamelib.framework.model.construction.base.DescriptionPackage; +import hundun.gdxgame.idleshare.gamelib.framework.model.construction.base.DescriptionPackage.IProficiencyDescroptionProvider; import hundun.gdxgame.idleshare.gamelib.framework.model.construction.base.DescriptionPackageFactory; import hundun.gdxgame.idleshare.gamelib.framework.model.construction.starter.BaseAutoProficiencyComponent; import hundun.gdxgame.idleshare.gamelib.framework.model.grid.GridPosition; @@ -19,6 +20,14 @@ import java.util.UUID; public class AutoProviderPrototype extends AbstractConstructionPrototype { + + public static IProficiencyDescroptionProvider CN_PROFICIENCY_IMP = (proficiency, reachMaxProficiency) -> { + return "成长度:" + proficiency; + }; + + public static IProficiencyDescroptionProvider EN_PROFICIENCY_IMP = (proficiency, reachMaxProficiency) -> { + return "Growth: " + proficiency; + }; public static DescriptionPackage descriptionPackageEN = DescriptionPackage.builder() .upgradeButtonText("Upgrade") .outputCostDescriptionStart("Consume") @@ -26,18 +35,18 @@ public class AutoProviderPrototype extends AbstractConstructionPrototype { .upgradeCostDescriptionStart("Upgrade cost") .upgradeMaxLevelDescription("(max)") .levelDescriptionProvider(DescriptionPackageFactory.ONLY_LEVEL_IMP) - .proficiencyDescriptionProvider(DescriptionPackageFactory.EN_PROFICIENCY_IMP) + .proficiencyDescriptionProvider(AutoProviderPrototype.EN_PROFICIENCY_IMP) .build(); public static DescriptionPackage descriptionPackageCN = DescriptionPackage.builder() .upgradeButtonText("升级") - .outputCostDescriptionStart("自动消耗") - .outputGainDescriptionStart("自动产出") + .outputCostDescriptionStart("消耗") + .outputGainDescriptionStart("产出") .upgradeCostDescriptionStart("升级费用") .upgradeMaxLevelDescription("(已达到最大等级)") .levelDescriptionProvider(DescriptionPackageFactory.ONLY_LEVEL_IMP) - .proficiencyDescriptionProvider(DescriptionPackageFactory.CN_PROFICIENCY_IMP) + .proficiencyDescriptionProvider(AutoProviderPrototype.CN_PROFICIENCY_IMP) .build(); @@ -91,7 +100,7 @@ public static class AutoProviderProficiencyComponent extends BaseAutoProficiency public AutoProviderProficiencyComponent( BaseConstruction construction ) { - super(construction, 1, 0); + super(construction, 1, 100); } @Override @@ -100,8 +109,8 @@ protected void tryProficiencyOnce() { .map(it -> (BaseConstruction)it) .filter(it -> it != null && ( - it.getSaveData().prototypeId.equals(DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER) - || it.getSaveData().prototypeId.equals(DemoConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER) + it.getSaveData().prototypeId.equals(IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER) + || it.getSaveData().prototypeId.equals(IdleMushroomConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER) ) ) .count(); diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/AutoSellerPrototype.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/AutoSellerPrototype.java index 0f92d54..66f5350 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/AutoSellerPrototype.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/AutoSellerPrototype.java @@ -1,7 +1,7 @@ package hundun.gdxgame.idlemushroom.logic.prototype; import hundun.gdxgame.gamelib.base.util.JavaFeatureForGwt; -import hundun.gdxgame.idlemushroom.logic.DemoConstructionPrototypeId; +import hundun.gdxgame.idlemushroom.logic.IdleMushroomConstructionPrototypeId; import hundun.gdxgame.idlemushroom.logic.DemoBuiltinConstructionsLoader; import hundun.gdxgame.idlemushroom.logic.ResourceType; import hundun.gdxgame.idlemushroom.logic.construction.BaseIdleDemoConstruction; @@ -41,7 +41,7 @@ public class AutoSellerPrototype extends AbstractConstructionPrototype { public AutoSellerPrototype(Language language) { super( - DemoConstructionPrototypeId.MUSHROOM_AUTO_SELLER, + IdleMushroomConstructionPrototypeId.MUSHROOM_AUTO_SELLER, language ); switch (language) @@ -71,11 +71,11 @@ public BaseConstruction getInstance(GridPosition position) { ResourceType.MUSHROOM, 1 ))); construction.getOutputComponent().setOutputGainPack(DemoBuiltinConstructionsLoader.toPack(JavaFeatureForGwt.mapOf( - ResourceType.DNA_POINT, 5 + ResourceType.DNA_POINT, 2 ))); construction.getUpgradeComponent().setUpgradeCostPack(DemoBuiltinConstructionsLoader.toPack(JavaFeatureForGwt.mapOf( - ResourceType.DNA_POINT, 50 + ResourceType.MUSHROOM, 50 ))); construction.getLevelComponent().setTypeWorkingLevelChangeable(true); diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/DirtPrototype.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/DirtPrototype.java index 789aa3e..619d192 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/DirtPrototype.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/DirtPrototype.java @@ -1,7 +1,7 @@ package hundun.gdxgame.idlemushroom.logic.prototype; import hundun.gdxgame.gamelib.base.util.JavaFeatureForGwt; -import hundun.gdxgame.idlemushroom.logic.DemoConstructionPrototypeId; +import hundun.gdxgame.idlemushroom.logic.IdleMushroomConstructionPrototypeId; import hundun.gdxgame.idlemushroom.logic.DemoBuiltinConstructionsLoader; import hundun.gdxgame.idlemushroom.logic.ResourceType; import hundun.gdxgame.idlemushroom.logic.construction.BaseIdleDemoConstruction; @@ -20,14 +20,18 @@ public class DirtPrototype extends AbstractConstructionPrototype { public static DescriptionPackage descriptionPackageEN = DescriptionPackage.builder() .levelDescriptionProvider(DescriptionPackageFactory.NO_LEVEL_IMP) - .transformCostDescriptionStart("buy candidate: ") + .transformButtonText("Transform") + .transformCostDescriptionStart("Transform Cost: ") + .extraTexts(JavaFeatureForGwt.listOf("Transform Candidate: ")) .proficiencyDescriptionProvider(DescriptionPackageFactory.EN_PROFICIENCY_IMP) .build(); public static DescriptionPackage descriptionPackageCN = DescriptionPackage.builder() .levelDescriptionProvider(DescriptionPackageFactory.CN_NO_LEVEL_IMP) - .transformCostDescriptionStart("可购买:") + .transformButtonText("转变") + .transformCostDescriptionStart("转变费用: ") + .extraTexts(JavaFeatureForGwt.listOf("可转变:")) .proficiencyDescriptionProvider(DescriptionPackageFactory.CN_PROFICIENCY_IMP) .build(); @@ -62,30 +66,30 @@ public BaseConstruction getInstance(GridPosition position) { switch (prototypeId) { - case DemoConstructionPrototypeId.EPOCH_1_EMPTY_CELL: + case IdleMushroomConstructionPrototypeId.EPOCH_1_EMPTY_CELL: thiz.getExistenceComponent().setBuyCandidateConfigs(JavaFeatureForGwt.listOf( ConstructionBuyCandidateConfig.builder() - .prototypeId(DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER) + .prototypeId(IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER) .buyCostPack(DemoBuiltinConstructionsLoader.toPack(JavaFeatureForGwt.mapOf( ResourceType.MUSHROOM, 50 ))) .build() )); break; - case DemoConstructionPrototypeId.EPOCH_2_EMPTY_CELL: + case IdleMushroomConstructionPrototypeId.EPOCH_2_EMPTY_CELL: thiz.getExistenceComponent().setBuyCandidateConfigs(JavaFeatureForGwt.listOf( ConstructionBuyCandidateConfig.builder() - .prototypeId(DemoConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER) + .prototypeId(IdleMushroomConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER) .buyCostPack(DemoBuiltinConstructionsLoader.toPack(JavaFeatureForGwt.mapOf( ResourceType.MUSHROOM, 50 ))) .build() )); break; - case DemoConstructionPrototypeId.EPOCH_3_EMPTY_CELL: + case IdleMushroomConstructionPrototypeId.EPOCH_3_EMPTY_CELL: thiz.getExistenceComponent().setBuyCandidateConfigs(JavaFeatureForGwt.listOf( ConstructionBuyCandidateConfig.builder() - .prototypeId(DemoConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER) + .prototypeId(IdleMushroomConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER) .buyCostPack(DemoBuiltinConstructionsLoader.toPack(JavaFeatureForGwt.mapOf( ResourceType.MUSHROOM, 50 ))) diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/EpochCounterPrototype.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/EpochCounterPrototype.java index abd1140..24c70ee 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/EpochCounterPrototype.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/EpochCounterPrototype.java @@ -2,7 +2,7 @@ import hundun.gdxgame.gamelib.base.util.JavaFeatureForGwt; import hundun.gdxgame.idlemushroom.logic.DemoBuiltinConstructionsLoader; -import hundun.gdxgame.idlemushroom.logic.DemoConstructionPrototypeId; +import hundun.gdxgame.idlemushroom.logic.IdleMushroomConstructionPrototypeId; import hundun.gdxgame.idlemushroom.logic.ResourceType; import hundun.gdxgame.idlemushroom.logic.construction.BaseIdleDemoConstruction; import hundun.gdxgame.idleshare.gamelib.framework.model.construction.AbstractConstructionPrototype; @@ -21,7 +21,7 @@ public class EpochCounterPrototype extends AbstractConstructionPrototype { .upgradeButtonText("Upgrade") .upgradeCostDescriptionStart("Upgrade cost") .upgradeMaxLevelDescription("(max)") - .levelDescriptionProvider(DescriptionPackageFactory.WORKING_LEVEL_IMP) + .levelDescriptionProvider(DescriptionPackageFactory.ONLY_LEVEL_IMP) .proficiencyDescriptionProvider(DescriptionPackageFactory.EN_PROFICIENCY_IMP) .build(); @@ -30,13 +30,13 @@ public class EpochCounterPrototype extends AbstractConstructionPrototype { .upgradeButtonText("升级") .upgradeCostDescriptionStart("升级费用") .upgradeMaxLevelDescription("(已达到最大等级)") - .levelDescriptionProvider(DescriptionPackageFactory.CN_WORKING_LEVEL_IMP) + .levelDescriptionProvider(DescriptionPackageFactory.ONLY_LEVEL_IMP) .proficiencyDescriptionProvider(DescriptionPackageFactory.CN_PROFICIENCY_IMP) .build(); public EpochCounterPrototype(Language language) { super( - DemoConstructionPrototypeId.EPOCH_COUNTER, + IdleMushroomConstructionPrototypeId.EPOCH_COUNTER, language ); switch (language) diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/MainMushroomPrototype.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/MainMushroomPrototype.java index 60e33cd..77f0591 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/MainMushroomPrototype.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/logic/prototype/MainMushroomPrototype.java @@ -1,7 +1,7 @@ package hundun.gdxgame.idlemushroom.logic.prototype; import hundun.gdxgame.gamelib.base.util.JavaFeatureForGwt; -import hundun.gdxgame.idlemushroom.logic.DemoConstructionPrototypeId; +import hundun.gdxgame.idlemushroom.logic.IdleMushroomConstructionPrototypeId; import hundun.gdxgame.idlemushroom.logic.DemoBuiltinConstructionsLoader; import hundun.gdxgame.idlemushroom.logic.ResourceType; import hundun.gdxgame.idlemushroom.logic.construction.BaseIdleDemoConstruction; @@ -19,19 +19,21 @@ public class MainMushroomPrototype extends AbstractConstructionPrototype { public static DescriptionPackage descriptionPackageEN = DescriptionPackage.builder() + .outputGainDescriptionStart("click gain: ") .levelDescriptionProvider(DescriptionPackageFactory.NO_LEVEL_IMP) .proficiencyDescriptionProvider(DescriptionPackageFactory.EN_PROFICIENCY_IMP) .build(); public static DescriptionPackage descriptionPackageCN = DescriptionPackage.builder() + .outputGainDescriptionStart("点击获得:") .levelDescriptionProvider(DescriptionPackageFactory.CN_NO_LEVEL_IMP) .proficiencyDescriptionProvider(DescriptionPackageFactory.CN_PROFICIENCY_IMP) .build(); public MainMushroomPrototype(Language language) { super( - DemoConstructionPrototypeId.MAIN_MUSHROOM, + IdleMushroomConstructionPrototypeId.MAIN_MUSHROOM, language ); switch (language) @@ -63,6 +65,9 @@ public BaseConstruction getInstance(GridPosition position) { ResourceType.MUSHROOM, 1 ))); + construction.getUpgradeComponent().setUpgradeCostPack(DemoBuiltinConstructionsLoader.toPack(new HashMap<>())); + construction.getLevelComponent().maxLevel = 3; + return construction; } } diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/achievement/AllAchievementBoardVM.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/achievement/AllAchievementBoardVM.java index c4ac45e..8e8c99e 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/achievement/AllAchievementBoardVM.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/achievement/AllAchievementBoardVM.java @@ -43,7 +43,7 @@ protected void initChild() { nodes.clear(); childTable.clearChildren(); - parent.getGame().getIdleGameplayExport().getGameplayContext().getAchievementManager().getModels().values() + parent.getGame().getIdleGameplayExport().getGameplayContext().getAchievementManager().getAchievementInfoPackage().getSortedAchievementList() .forEach(it -> { OneAchievementNodeVM constructionView = new OneAchievementNodeVM(parent, it, true); nodes.add(constructionView); diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/achievement/OneAchievementNodeVM.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/achievement/OneAchievementNodeVM.java index 6d2bcd9..d890a28 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/achievement/OneAchievementNodeVM.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/achievement/OneAchievementNodeVM.java @@ -83,10 +83,12 @@ public void updateData() { { nameValueLabel.setText(achievementAndStatus.getAchievement().getName()); descriptionLabel.setText(achievementAndStatus.getAchievement().getDescription()); - countValueLabel.setText(JavaFeatureForGwt.stringFormat( - "state:%s", - achievementAndStatus.getSaveData().getState() - )); + countValueLabel.setText( + parent.getGame().getIdleMushroomGameDictionary().achievementStatus( + parent.getGame().getIdleGameplayExport().getLanguage(), + achievementAndStatus.getSaveData().getState() + ) + ); } else { diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/FirstRunningAchievementBoardVM.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/FirstRunningAchievementBoardVM.java index 7120c13..5caa043 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/FirstRunningAchievementBoardVM.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/FirstRunningAchievementBoardVM.java @@ -37,7 +37,7 @@ public FirstRunningAchievementBoardVM(BaseIdleMushroomScreen parent) this.node = new OneAchievementNodeVM(parent, null, false); - this.add(node); + this.add(node).grow(); updateData(); } diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/GameEntityFactory.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/GameEntityFactory.java index a2edee1..89b296e 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/GameEntityFactory.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/GameEntityFactory.java @@ -1,6 +1,6 @@ package hundun.gdxgame.idlemushroom.ui.main; -import hundun.gdxgame.idlemushroom.logic.DemoConstructionPrototypeId; +import hundun.gdxgame.idlemushroom.logic.IdleMushroomConstructionPrototypeId; import hundun.gdxgame.idlemushroom.logic.ResourceType; import hundun.gdxgame.idlemushroom.ui.screen.MainPlayScreen; import hundun.gdxgame.idleshare.core.framework.model.entity.BaseGameEntityFactory; @@ -25,7 +25,7 @@ public GameEntityFactory(PlayScreenLayoutConst layoutConst, MainPlayScreen paren public GameEntity newConstructionEntity(String id, int index) { switch (id) { - case DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER: + case IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER: return this.rowStableConstructionEntity(id, index, 1); default: // no need GameEntity diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/MainScreenConstructionControlBoard.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/MainScreenConstructionControlBoard.java index 48cc357..5e97b2c 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/MainScreenConstructionControlBoard.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/MainScreenConstructionControlBoard.java @@ -9,17 +9,15 @@ import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.badlogic.gdx.utils.Align; -import hundun.gdxgame.corelib.base.util.DrawableFactory; import hundun.gdxgame.gamelib.base.util.JavaFeatureForGwt; import hundun.gdxgame.gamelib.starter.listerner.IGameAreaChangeListener; import hundun.gdxgame.gamelib.starter.listerner.ILogicFrameListener; -import hundun.gdxgame.idlemushroom.logic.DemoConstructionPrototypeId; +import hundun.gdxgame.idlemushroom.logic.IdleMushroomConstructionPrototypeId; import hundun.gdxgame.idlemushroom.ui.screen.IdleMushroomScreenContext.IdleMushroomPlayScreenLayoutConst; import hundun.gdxgame.idlemushroom.ui.screen.MainPlayScreen; import hundun.gdxgame.idlemushroom.ui.shared.BaseCellDetailNodeVM; import hundun.gdxgame.idlemushroom.ui.shared.ConstructionDetailPartVM; import hundun.gdxgame.idleshare.core.starter.ui.component.board.construction.impl.StarterConstructionControlNode.StarterSecondaryInfoBoardCallerClickListener; -import hundun.gdxgame.idleshare.core.starter.ui.screen.play.PlayScreenLayoutConst; import hundun.gdxgame.idleshare.gamelib.framework.callback.IConstructionCollectionListener; import hundun.gdxgame.idleshare.gamelib.framework.callback.ISecondaryInfoBoardCallback; import hundun.gdxgame.idleshare.gamelib.framework.model.construction.base.BaseConstruction; @@ -87,13 +85,13 @@ public void onConstructionCollectionChange() { this.add(epochPart).spaceRight(10).grow(); BaseConstruction sellerConstruction = singletonConstructions.stream() - .filter(it -> it.getPrototypeId().equals(DemoConstructionPrototypeId.MUSHROOM_AUTO_SELLER)) + .filter(it -> it.getPrototypeId().equals(IdleMushroomConstructionPrototypeId.MUSHROOM_AUTO_SELLER)) .findAny() .orElse(null); this.sellerPart.updateForNewConstruction(sellerConstruction, null); BaseConstruction epochConstruction = singletonConstructions.stream() - .filter(it -> it.getPrototypeId().equals(DemoConstructionPrototypeId.EPOCH_COUNTER)) + .filter(it -> it.getPrototypeId().equals(IdleMushroomConstructionPrototypeId.EPOCH_COUNTER)) .findAny() .orElse(null); this.epochPart.updateForNewConstruction(epochConstruction, null); @@ -327,6 +325,11 @@ private void update() { if (model.getUpgradeComponent().getUpgradeState() == UpgradeState.HAS_NEXT_UPGRADE) { ConstructionDetailPartVM.resourcePackAsActor(model.getUpgradeComponent().getUpgradeCostPack(), detailGroup, parent); + } else if (model.getUpgradeComponent().getUpgradeState() == UpgradeState.REACHED_MAX_UPGRADE_NO_TRANSFER + || model.getUpgradeComponent().getUpgradeState() == UpgradeState.REACHED_MAX_UPGRADE_HAS_TRANSFER + ) { + detailGroup.add(new Label(model.getDescriptionPackage().getUpgradeMaxLevelDescription(), parent.getGame().getMainSkin())) + .colspan(2); } // ------ update text ------ @@ -335,7 +338,7 @@ private void update() { model.getName() )); upgradeButton.setText(model.getDescriptionPackage().getUpgradeButtonText()); - workingLevelLabel.setText(model.getLevelComponent().getWorkingLevelDescription() + "; max: " + model.getLevelComponent().maxLevel); + workingLevelLabel.setText(model.getLevelComponent().getWorkingLevelDescription()); // ------ update clickable-state ------ diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/MainScreenPopupInfoBoard.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/MainScreenPopupInfoBoard.java index 98af498..55ddac3 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/MainScreenPopupInfoBoard.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/MainScreenPopupInfoBoard.java @@ -2,7 +2,7 @@ import com.badlogic.gdx.scenes.scene2d.Touchable; import com.badlogic.gdx.scenes.scene2d.ui.Table; -import hundun.gdxgame.idlemushroom.logic.DemoConstructionPrototypeId; +import hundun.gdxgame.idlemushroom.logic.IdleMushroomConstructionPrototypeId; import hundun.gdxgame.idlemushroom.ui.screen.MainPlayScreen; import hundun.gdxgame.idlemushroom.ui.shared.ConstructionWikiVM; import hundun.gdxgame.idleshare.gamelib.framework.model.construction.base.BaseConstruction; @@ -17,7 +17,7 @@ public MainScreenPopupInfoBoard(MainPlayScreen parent) { this.parent = parent; //this.setBounds(5, GameAreaControlBoard.Y, GameAreaControlBoard.X - 10, 120); this.setTouchable(Touchable.disabled); - this.setBackground(parent.getLayoutConst().simpleBoardBackground); + this.setBackground(parent.getGame().getIdleMushroomTextureManager().getTableType1Drawable()); this.setVisible(false); this.twoEpochInfoAreaVM = new TwoEpochInfoAreaVM(parent); @@ -26,7 +26,7 @@ public MainScreenPopupInfoBoard(MainPlayScreen parent) { public void update(BaseConstruction construction) { this.clearChildren(); - if (construction.getPrototypeId().equals(DemoConstructionPrototypeId.EPOCH_COUNTER)) { + if (construction.getPrototypeId().equals(IdleMushroomConstructionPrototypeId.EPOCH_COUNTER)) { this.add(twoEpochInfoAreaVM) .size(parent.getLayoutConst().popupInfoBoardWidth, parent.getLayoutConst().popupInfoBoardHeight); twoEpochInfoAreaVM.rebuildCells(construction); diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/OneEpochInfoAreaVM.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/OneEpochInfoAreaVM.java index c302bf8..eaa4795 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/OneEpochInfoAreaVM.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/OneEpochInfoAreaVM.java @@ -3,23 +3,24 @@ import com.badlogic.gdx.scenes.scene2d.ui.*; import com.badlogic.gdx.utils.Align; import com.badlogic.gdx.utils.Null; -import hundun.gdxgame.corelib.base.util.DrawableFactory; import hundun.gdxgame.idlemushroom.IdleMushroomGame.RootEpochConfig; +import hundun.gdxgame.idlemushroom.logic.IdleMushroomConstructionPrototypeId; import hundun.gdxgame.idlemushroom.ui.screen.IdleMushroomScreenContext.IdleMushroomPlayScreenLayoutConst; import hundun.gdxgame.idlemushroom.ui.screen.MainPlayScreen; -import hundun.gdxgame.idleshare.core.starter.ui.screen.play.PlayScreenLayoutConst; +import hundun.gdxgame.idlemushroom.ui.shared.ConstructionDetailPartVM; import hundun.gdxgame.idleshare.gamelib.framework.model.construction.base.BaseConstruction; public class OneEpochInfoAreaVM extends Table { MainPlayScreen parent; BaseConstruction epochCounterConstruction; + BaseConstruction mainClickerConstruction; @Null RootEpochConfig epochConfig; int epochLevel; Label epochInfoLabel; Label maxLevelLabel; - + Table mainClickerPart; public OneEpochInfoAreaVM( MainPlayScreen parent @@ -39,12 +40,14 @@ public OneEpochInfoAreaVM( epochInfoLabel.setAlignment(Align.center); this.maxLevelLabel = new Label("", parent.getGame().getMainSkin()); maxLevelLabel.setAlignment(Align.center); + this.mainClickerPart = new Table(parent.getGame().getMainSkin()); // ------ this ------ this.add(epochInfoLabel).row(); this.add(maxLevelLabel).row(); + this.add(mainClickerPart).row(); - this.setBackground(DrawableFactory.createBorderBoard(30, 10, 0.8f, 1)); + this.setBackground(parent.getGame().getIdleMushroomTextureManager().getTableType3Drawable()); } private void update() { @@ -63,11 +66,13 @@ private void update() { // ------ update text ------ + mainClickerPart.clearChildren(); if (epochConfig != null) { epochInfoLabel.setText("时期:" + epochLevel); maxLevelLabel.setText("蘑菇等级上限:" + epochConfig.getMaxLevel()); + ConstructionDetailPartVM.resourcePackAsActor(mainClickerConstruction.getOutputComponent().getOutputGainPack(), mainClickerPart, parent); } else { - epochInfoLabel.setText("时期:max"); + epochInfoLabel.setText(""); maxLevelLabel.setText(""); } @@ -75,8 +80,18 @@ private void update() { } - public void updateAsConstruction(@Null RootEpochConfig epochConfig, BaseConstruction epochCounterConstruction, int epochLevel) { + public void updateAsConstruction( + @Null RootEpochConfig epochConfig, + BaseConstruction epochCounterConstruction, + int epochLevel + ) { this.epochCounterConstruction = epochCounterConstruction; + this.mainClickerConstruction = parent.getGame().getIdleGameplayExport().getGameplayContext().getConstructionManager() + .getSingletonConstructionInstancesOrEmpty() + .stream() + .filter(it -> it.getPrototypeId().equals(IdleMushroomConstructionPrototypeId.MAIN_MUSHROOM)) + .findAny() + .orElse(null); this.epochConfig = epochConfig; this.epochLevel = epochLevel; update(); diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/TwoEpochInfoAreaVM.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/TwoEpochInfoAreaVM.java index 21c8d1d..4733b58 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/TwoEpochInfoAreaVM.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/main/TwoEpochInfoAreaVM.java @@ -22,15 +22,17 @@ public TwoEpochInfoAreaVM(MainPlayScreen parent) { //this.setBounds(5, GameAreaControlBoard.Y, GameAreaControlBoard.X - 10, 120); this.titleLabel = new Label("", parent.getGame().getMainSkin()); - this.add(titleLabel).colspan(3).row(); + titleLabel.setWrap(true); + this.add(titleLabel).grow().colspan(3).row(); this.currentLevelInfoAreaVM = new OneEpochInfoAreaVM(parent); this.add(currentLevelInfoAreaVM); this.midPart = new VerticalGroup(); - this.add(midPart).padLeft(50).padRight(50); + this.add(midPart).padLeft(25).padRight(25); this.nextLevelInfoAreaVM = new OneEpochInfoAreaVM(parent); this.add(nextLevelInfoAreaVM); + this.pad(parent.getIdleMushroomPlayScreenLayoutConst().WorldConstructionCellTablePad); } public void rebuildCells(BaseConstruction epochCounterConstruction) { diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/screen/IdleMushroomScreenContext.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/screen/IdleMushroomScreenContext.java index c5d633d..5e1f82d 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/screen/IdleMushroomScreenContext.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/screen/IdleMushroomScreenContext.java @@ -8,6 +8,7 @@ import hundun.gdxgame.idlemushroom.logic.RootSaveData; import hundun.gdxgame.idleshare.core.framework.model.manager.AbstractIdleScreenContext; import hundun.gdxgame.idleshare.core.starter.ui.screen.play.PlayScreenLayoutConst; +import lombok.Getter; /** * @author hundun @@ -16,6 +17,7 @@ public class IdleMushroomScreenContext extends AbstractIdleScreenContext { DemoMenuScreen menuScreen; + @Getter MainPlayScreen mainPlayScreen; WorldPlayScreen worldPlayScreen; DemoAchievementScreen achievementScreen; diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/screen/MainPlayScreen.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/screen/MainPlayScreen.java index f5a3556..4a389a4 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/screen/MainPlayScreen.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/screen/MainPlayScreen.java @@ -4,6 +4,7 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch; import hundun.gdxgame.idlemushroom.IdleMushroomGame; +import hundun.gdxgame.idlemushroom.logic.IdleMushroomConstructionPrototypeId; import hundun.gdxgame.idlemushroom.logic.DemoScreenId; import hundun.gdxgame.idlemushroom.logic.ResourceType; import hundun.gdxgame.idlemushroom.logic.RootSaveData; @@ -41,7 +42,7 @@ protected void lazyInitUiRootContext() { this, game.getTextureManager().getMainClickAnimationTextureAtlas() ); - middleGroup.add(mainClickerAnimationVM); + setMainClickerWithScale(); constructionControlBoard = new MainScreenConstructionControlBoard(this, this); uiRootTable.add(constructionControlBoard) @@ -51,6 +52,30 @@ protected void lazyInitUiRootContext() { ; } + public void setMainClickerWithScale() { + BaseConstruction epochCounterConstruction = game.getIdleGameplayExport().getGameplayContext() + .getConstructionManager() + .getSingletonConstructionInstancesOrEmpty() + .stream() + .filter(it -> it.getPrototypeId().equals(IdleMushroomConstructionPrototypeId.EPOCH_COUNTER)) + .findAny() + .orElse(null); + BaseConstruction mainClickerConstruction = game.getIdleGameplayExport().getGameplayContext().getConstructionManager() + .getSingletonConstructionInstancesOrEmpty() + .stream() + .filter(it -> it.getPrototypeId().equals(IdleMushroomConstructionPrototypeId.MAIN_MUSHROOM)) + .findAny() + .orElse(null); + if (epochCounterConstruction != null && mainClickerConstruction != null) { + int currentEpochLevel = epochCounterConstruction.getSaveData().getLevel(); + middleGroup.clearChildren(); + middleGroup.add(mainClickerAnimationVM).size(64 * currentEpochLevel, 64 * currentEpochLevel); + while (mainClickerConstruction.getSaveData().getLevel() < currentEpochLevel) { + mainClickerConstruction.getUpgradeComponent().doUpgrade(); + } + } + } + protected void lazyInitLogicContext() { super.lazyInitLogicContext(); diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/screen/WorldPlayScreen.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/screen/WorldPlayScreen.java index a0c4e6b..31593c0 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/screen/WorldPlayScreen.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/screen/WorldPlayScreen.java @@ -97,7 +97,7 @@ protected void updateUIForShow() { List constructions = game.getIdleGameplayExport().getGameplayContext().getConstructionManager() .getWorldConstructionInstances(); hexAreaVM.updateUIForShow(constructions); - worldDetailBoardVM.selectCell(null); + onCellClicked(null); } @Override diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/shared/ConstructionDetailPartVM.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/shared/ConstructionDetailPartVM.java index 08c031c..5057ee1 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/shared/ConstructionDetailPartVM.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/shared/ConstructionDetailPartVM.java @@ -50,8 +50,9 @@ public void rebuildCells(@Null BaseConstruction newModel) { if (model.getUpgradeComponent().getUpgradeState() == UpgradeState.HAS_NEXT_UPGRADE) { resourcePackAsActor(model.getUpgradeComponent().getUpgradeCostPack(), this, parent); - } else if (model.getUpgradeComponent().getUpgradeState() == UpgradeState.REACHED_MAX_UPGRADE_HAS_TRANSFER) { - this.add(wapperContainer(new Label(model.getUpgradeComponent().getUpgradeCostPack().getDescriptionStart(), parent.getGame().getMainSkin()))); + } else if (model.getUpgradeComponent().getUpgradeState() == UpgradeState.REACHED_MAX_UPGRADE_HAS_TRANSFER + || model.getUpgradeComponent().getUpgradeState() == UpgradeState.REACHED_MAX_UPGRADE_NO_TRANSFER + ) { this.add(wapperContainer(new Label(model.getDescriptionPackage().getUpgradeMaxLevelDescription(), parent.getGame().getMainSkin()))); this.row(); } @@ -69,7 +70,7 @@ public static void resourcePackAsActor(ResourcePack pack, Table target, BaseIdle public static void resourcePackAsActor(ResourcePack pack, Table target, BaseIdleMushroomPlayScreen parent, boolean isPreviewNextLevel) { if (pack != null) { List targetValue = isPreviewNextLevel ? pack.getPreviewNextLevelModifiedValues() : pack.getModifiedValues(); - if (targetValue != null) { + if (targetValue != null && !targetValue.isEmpty()) { List pairsToActors = pairsToActors(targetValue, parent.getGame()); target.add(wapperContainer(new Label(pack.getDescriptionStart(), parent.getGame().getMainSkin()))); for (Actor actor : pairsToActors) { diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/shared/ConstructionWikiVM.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/shared/ConstructionWikiVM.java index 80f5d98..ea28d75 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/shared/ConstructionWikiVM.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/shared/ConstructionWikiVM.java @@ -16,7 +16,8 @@ public ConstructionWikiVM(BaseIdleMushroomPlayScreen parent) { //super("GUIDE_TEXT", parent.game.getButtonSkin()); this.parent = parent; this.label = new Label("", parent.getGame().getMainSkin()); - this.add(label); + label.setWrap(true); + this.add(label).grow(); } diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/HexAreaVM.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/HexAreaVM.java index 5c74ae4..4c926a6 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/HexAreaVM.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/HexAreaVM.java @@ -21,8 +21,8 @@ public class HexAreaVM extends Table { - public static final int roomWidth = 5000; - public static final int roomHeight = 5000; + public static final int roomWidth = 1000; + public static final int roomHeight = 1000; public WorldPlayScreen screen; @Getter diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/HexCellVM.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/HexCellVM.java index e14cbf2..097e8d2 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/HexCellVM.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/HexCellVM.java @@ -125,10 +125,12 @@ public void updateMaskMode(@Null MaskMode maskMode) { } else { this.hightLightImage.setDrawable(null); } - this.mainLabel.setText(String.format( - "(%s, %s)", - deskData.getSaveData().getPosition().getX(), - deskData.getSaveData().getPosition().getY() - ) ); + if (game.debugMode) { + this.mainLabel.setText(String.format( + "(%s, %s)", + deskData.getSaveData().getPosition().getX(), + deskData.getSaveData().getPosition().getY() + ) ); + } } } diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/WorldDetailBoardVM.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/WorldDetailBoardVM.java index 68a6fed..4eee02d 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/WorldDetailBoardVM.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/WorldDetailBoardVM.java @@ -3,7 +3,7 @@ import com.badlogic.gdx.scenes.scene2d.Touchable; import com.badlogic.gdx.scenes.scene2d.ui.Table; import hundun.gdxgame.gamelib.starter.listerner.ILogicFrameListener; -import hundun.gdxgame.idlemushroom.logic.DemoConstructionPrototypeId; +import hundun.gdxgame.idlemushroom.logic.IdleMushroomConstructionPrototypeId; import hundun.gdxgame.idlemushroom.ui.screen.WorldPlayScreen; import hundun.gdxgame.idlemushroom.ui.shared.BaseCellDetailNodeVM; import hundun.gdxgame.idleshare.gamelib.framework.callback.IConstructionCollectionListener; @@ -45,23 +45,23 @@ public void selectCell(BaseConstruction construction) switch (construction.getPrototypeId()) { - case DemoConstructionPrototypeId.EPOCH_1_EMPTY_CELL: - case DemoConstructionPrototypeId.EPOCH_2_EMPTY_CELL: - case DemoConstructionPrototypeId.EPOCH_3_EMPTY_CELL: { + case IdleMushroomConstructionPrototypeId.EPOCH_1_EMPTY_CELL: + case IdleMushroomConstructionPrototypeId.EPOCH_2_EMPTY_CELL: + case IdleMushroomConstructionPrototypeId.EPOCH_3_EMPTY_CELL: { WorldEmptyDetailNode innerBoardVM = new WorldEmptyDetailNode(screen); content = innerBoardVM; break; } - case DemoConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER: - case DemoConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER: - case DemoConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER: { + case IdleMushroomConstructionPrototypeId.EPOCH_1_MUSHROOM_AUTO_PROVIDER: + case IdleMushroomConstructionPrototypeId.EPOCH_2_MUSHROOM_AUTO_PROVIDER: + case IdleMushroomConstructionPrototypeId.EPOCH_3_MUSHROOM_AUTO_PROVIDER: { WorldMushroomDetailNode innerBoardVM = new WorldMushroomDetailNode(screen); content = innerBoardVM; break; } - case DemoConstructionPrototypeId.EPOCH_1_TREE: - case DemoConstructionPrototypeId.EPOCH_2_TREE: - case DemoConstructionPrototypeId.EPOCH_3_TREE: { + case IdleMushroomConstructionPrototypeId.EPOCH_1_TREE: + case IdleMushroomConstructionPrototypeId.EPOCH_2_TREE: + case IdleMushroomConstructionPrototypeId.EPOCH_3_TREE: { WorldTreeDetailNode innerBoardVM = new WorldTreeDetailNode(screen); content = innerBoardVM; break; diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/WorldEmptyDetailNode.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/WorldEmptyDetailNode.java index a2a9b36..a4d5a9d 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/WorldEmptyDetailNode.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/WorldEmptyDetailNode.java @@ -5,11 +5,11 @@ import com.badlogic.gdx.scenes.scene2d.Touchable; import com.badlogic.gdx.scenes.scene2d.ui.*; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; -import hundun.gdxgame.corelib.base.util.DrawableFactory; import hundun.gdxgame.gamelib.base.util.JavaFeatureForGwt; import hundun.gdxgame.idlemushroom.ui.screen.WorldPlayScreen; import hundun.gdxgame.idlemushroom.ui.shared.BaseIdleMushroomPlayScreen; import hundun.gdxgame.idlemushroom.ui.shared.BaseCellDetailNodeVM; +import hundun.gdxgame.idlemushroom.ui.shared.ConstructionDetailPartVM; import hundun.gdxgame.idleshare.core.starter.ui.component.board.construction.impl.StarterConstructionControlNode.StarterSecondaryInfoBoardCallerClickListener; import hundun.gdxgame.idleshare.core.starter.ui.screen.play.PlayScreenLayoutConst; import hundun.gdxgame.idleshare.gamelib.framework.data.ChildGameConfig.ConstructionBuyCandidateConfig; @@ -72,19 +72,10 @@ private void update() { // ------ update text ------ constructionNameLabel.setText(JavaFeatureForGwt.stringFormat( - "%s (%s, %s)", - screen.getGame() - .getIdleGameplayExport() - .getGameplayContext() - .getGameDictionary() - .constructionPrototypeIdToDetailDescriptionConstPart( - screen.getGame().getIdleGameplayExport().getLanguage(), - construction.getPrototypeId() - ), - position.getX(), - position.getY() + "%s", + construction.getName() )); - buyCandidateKeyLabel.setText(construction.getDescriptionPackage().getTransformCostDescriptionStart()); + buyCandidateKeyLabel.setText(construction.getDescriptionPackage().getExtraTexts().get(0)); } @@ -131,7 +122,7 @@ public void updateForNewConstruction( constructionBuyCandidateConfig ); vm.update(); - this.add(vm); + this.add(vm).grow(); children.add(vm); }); @@ -144,7 +135,7 @@ public static class WorldBuyConstructionInfoNodeVM extends Table { Label constructionNameLabel; TextButton buyButton; ConstructionBuyCandidateConfig constructionBuyCandidateConfig; - + Table costPart; public WorldBuyConstructionInfoNodeVM( BaseIdleMushroomPlayScreen parent, BaseConstruction model, @@ -163,7 +154,7 @@ public WorldBuyConstructionInfoNodeVM( this.constructionNameLabel = new Label(constructionBuyCandidateConfig.getPrototypeId(), parent.getGame().getMainSkin()); constructionNameLabel.setWrap(true); - this.buyButton = new TextButton("buy", parent.getGame().getMainSkin()); + this.buyButton = new TextButton(model.getDescriptionPackage().getTransformButtonText(), parent.getGame().getMainSkin()); buyButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { @@ -173,9 +164,11 @@ public void changed(ChangeEvent event, Actor actor) { } }); + this.costPart = new Table(parent.getGame().getMainSkin()); // ------ this ------ - this.add(constructionNameLabel).size(CHILD_WIDTH, NAME_CHILD_HEIGHT).row(); + this.add(constructionNameLabel).size(CHILD_WIDTH, CHILD_HEIGHT).row(); + this.add(costPart).row(); this.add(buyButton).size(CHILD_WIDTH, CHILD_HEIGHT).row(); this.setBackground(parent.getGame().getIdleMushroomTextureManager().getTableType5Drawable()); } @@ -203,7 +196,8 @@ public void update() { constructionBuyCandidateConfig.getPrototypeId() ) ); - + costPart.clearChildren(); + ConstructionDetailPartVM.resourcePackAsActor(constructionBuyCandidateConfig.getBuyCostPack(), costPart, parent); // ------ update clickable-state ------ boolean canBuyInstanceOfPrototype = parent.getGame().getIdleGameplayExport().getGameplayContext() .getConstructionManager() diff --git a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/WorldScreenPopupInfoBoard.java b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/WorldScreenPopupInfoBoard.java index 2da00aa..1d6e478 100644 --- a/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/WorldScreenPopupInfoBoard.java +++ b/IdleMushroom-game/core/src/main/java/hundun/gdxgame/idlemushroom/ui/world/WorldScreenPopupInfoBoard.java @@ -15,7 +15,7 @@ public WorldScreenPopupInfoBoard(WorldPlayScreen parent) { this.parent = parent; //this.setBounds(5, GameAreaControlBoard.Y, GameAreaControlBoard.X - 10, 120); this.setTouchable(Touchable.disabled); - this.setBackground(parent.getLayoutConst().simpleBoardBackground); + this.setBackground(parent.getGame().getIdleMushroomTextureManager().getTableType1Drawable()); this.setVisible(false); this.constructionWikiVM = new ConstructionWikiVM(parent); diff --git a/idleshare/core/src/hundun/gdxgame/idleshare/core/framework/model/CameraDataPackage.java b/idleshare/core/src/hundun/gdxgame/idleshare/core/framework/model/CameraDataPackage.java index cf080c9..fb6a046 100644 --- a/idleshare/core/src/hundun/gdxgame/idleshare/core/framework/model/CameraDataPackage.java +++ b/idleshare/core/src/hundun/gdxgame/idleshare/core/framework/model/CameraDataPackage.java @@ -9,6 +9,14 @@ public class CameraDataPackage { private float currentCameraX; @Getter private float currentCameraY; + @Setter + private Float boundLeft; + @Setter + private Float boundRight; + @Setter + private Float boundUp; + @Setter + private Float boundDown; @Getter private float currentCameraZoomWeight; @Getter @@ -27,12 +35,28 @@ public static float cameraZoomWeightToZoomValue(float weight){ public void modifyCurrentCamera(Float deltaX, Float deltaY) { + float totalDeltaX = 0; + float totalDeltaY = 0; if (deltaX != null) { - currentCameraX += deltaX; + totalDeltaX += deltaX; } if (deltaY != null) { - currentCameraY += deltaY; + totalDeltaY += deltaY; + } + if (boundLeft != null && currentCameraX + totalDeltaX < boundLeft) { + totalDeltaX = 0; + } + if (boundRight != null && currentCameraX + totalDeltaX > boundRight) { + totalDeltaX = 0; + } + if (boundDown != null && currentCameraY + totalDeltaY < boundDown) { + totalDeltaY = 0; + } + if (boundUp != null && currentCameraY + totalDeltaY > boundUp) { + totalDeltaY = 0; } + currentCameraX += totalDeltaX; + currentCameraY += totalDeltaY; } public void modifyCurrentCameraZoomWeight(Float delta) { diff --git a/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/base/DescriptionPackage.java b/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/base/DescriptionPackage.java index 4b5410d..95c0584 100644 --- a/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/base/DescriptionPackage.java +++ b/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/base/DescriptionPackage.java @@ -6,6 +6,8 @@ import lombok.Builder; import lombok.Data; +import java.util.List; + /** * @author hundun * Created on 2021/11/29 @@ -36,6 +38,8 @@ public class DescriptionPackage { private IProficiencyDescroptionProvider proficiencyDescriptionProvider; + List extraTexts; + public static interface ILevelDescriptionProvider { String provide(int level, int workingLevel, boolean reachMaxLevel); } diff --git a/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/base/DescriptionPackageFactory.java b/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/base/DescriptionPackageFactory.java index cf3b4bf..62cb3af 100644 --- a/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/base/DescriptionPackageFactory.java +++ b/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/base/DescriptionPackageFactory.java @@ -11,10 +11,10 @@ public class DescriptionPackageFactory { public static ILevelDescriptionProvider NO_LEVEL_IMP = (level, workingLevel, reachMaxLevel) -> ""; public static ILevelDescriptionProvider ONLY_LEVEL_IMP = (level, workingLevel, reachMaxLevel) -> { - return "lv." + level; + return "lv." + level + (reachMaxLevel ? "(max)" : ""); }; public static ILevelDescriptionProvider WORKING_LEVEL_IMP = (level, workingLevel, reachMaxLevel) -> { - return "lv." + workingLevel + "/" + level + (reachMaxLevel ? "(max)" : ""); + return "lv." + level + (reachMaxLevel ? "(max)" : "") + " active: " + workingLevel; }; public static ILevelDescriptionProvider LOCK_IMP = (level, workingLevel, reachMaxLevel) -> { return (reachMaxLevel ? "Unlocked" : ""); diff --git a/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/base/ExistenceComponent.java b/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/base/ExistenceComponent.java index d724948..08be7e9 100644 --- a/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/base/ExistenceComponent.java +++ b/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/base/ExistenceComponent.java @@ -46,7 +46,7 @@ public void lazyInitDescription(IdleGameplayContext gameContext, Language langua } if (buyCandidateConfigs != null) { - buyCandidateConfigs.forEach(it -> it.getBuyCostPack().setDescriptionStart(gameContext.getGameDictionary().getPlayScreenTexts(language).get(1))); + buyCandidateConfigs.forEach(it -> it.getBuyCostPack().setDescriptionStart(construction.getDescriptionPackage().getTransformCostDescriptionStart())); } } diff --git a/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/starter/SimpleAutoOutputComponent.java b/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/starter/SimpleAutoOutputComponent.java index d340ba3..d808deb 100644 --- a/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/starter/SimpleAutoOutputComponent.java +++ b/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/construction/starter/SimpleAutoOutputComponent.java @@ -16,11 +16,11 @@ public void onSubLogicFrame() { @Override public long calculateModifiedOutputGain(long baseValue, int level, int proficiency) { - return baseValue; + return baseValue * level; } @Override public long calculateModifiedOutputCost(long baseValue, int level, int proficiency) { - return baseValue; + return baseValue * level; } } diff --git a/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/manager/AchievementManager.java b/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/manager/AchievementManager.java index 602c988..0f14a06 100644 --- a/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/manager/AchievementManager.java +++ b/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/model/manager/AchievementManager.java @@ -18,7 +18,6 @@ public class AchievementManager implements IBuffChangeListener, IOneFrameResourceChangeListener, IGameStartListener { IdleGameplayContext gameContext; - @Getter Map models = new HashMap<>(); @@ -32,7 +31,7 @@ public static class AchievementInfoPackage int total; int completedSize; int lockedSize; - List allAchievementList; + List sortedAchievementList; } @Data @@ -52,8 +51,8 @@ public static class AchievementSaveData { } public enum AchievementState { - LOCKED, RUNNING, + LOCKED, COMPLETED, ; @@ -66,8 +65,8 @@ public AchievementManager(IdleGameplayContext gameContext) { public AchievementInfoPackage getAchievementInfoPackage() { - List allAchievementList = models.values().stream() - .map(it -> it.getAchievement()) + List allAchievementList = models.values().stream() + .sorted((o1, o2) -> -1 * Integer.compare(o2.getSaveData().getState().ordinal(), o1.getSaveData().getState().ordinal())) .collect(Collectors.toList()); ; AchievementAndStatus firstRunningAchievement = models.values().stream() diff --git a/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/util/text/IGameDictionary.java b/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/util/text/IGameDictionary.java index 3695693..f3935e3 100644 --- a/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/util/text/IGameDictionary.java +++ b/idleshare/gamelib/src/hundun/gdxgame/idleshare/gamelib/framework/util/text/IGameDictionary.java @@ -14,7 +14,6 @@ public interface IGameDictionary { String constructionPrototypeIdToShowName(Language language, String prototypeId); String constructionPrototypeIdToDetailDescriptionConstPart(Language language, String prototypeId); List getMenuScreenTexts(Language language); - List getPlayScreenTexts(Language language); List getAchievementTexts(Language language); Map getLanguageShowNameMap(); List getStageSelectMaskBoardTexts(Language language);