Created
November 23, 2014 02:30
-
-
Save horace-velmont/351a84c7133324efde64 to your computer and use it in GitHub Desktop.
Event & Reward
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.mygdx.event; | |
import com.mygdx.manager.CurrentManager; | |
import com.mygdx.unit.Hero; | |
public class PartyRewardManager extends RewardManager { | |
private String NpcName = ""; | |
PartyRewardManager() { | |
NpcName = RewardManager.getInstance().getRewardKey().getKeyOfRewardValue(); | |
} | |
public String getNpcName() { | |
return NpcName; | |
} | |
public String getRewardMessage() { | |
NpcName = RewardManager.getInstance().getRewardKey().getKeyOfRewardValue(); | |
return NpcName + "가 파티에 합류했습니다."; | |
} | |
public void doReward() { | |
Hero hero = new Hero(NpcName); | |
CurrentManager.getInstance().party.addParty(hero); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.mygdx.event; | |
import com.badlogic.gdx.Gdx; | |
import com.mygdx.enums.RewardTypeEnum; | |
import com.mygdx.manager.CurrentManager; | |
public class Reward { | |
public void doReward(RewardTypeEnum rewardType, String rewardString) { | |
switch (rewardType) { | |
case PARTY: | |
getPartyReward(rewardString); | |
break; | |
case GOLD: | |
getGoldReward(rewardString); | |
break; | |
case EXPERIENCE: | |
getExperienceReward(rewardString); | |
break; | |
case ITEM: | |
getItemReward(rewardString); | |
break; | |
default: | |
Gdx.app.log("Error", "RewardTypeError"); | |
break; | |
} | |
} | |
private void getPartyReward(String rewardString) { | |
CurrentManager.getInstance(); | |
} | |
private void getGoldReward(String rewardString) { | |
Gdx.app.log("INFO", "Reward : get GOLD!"); | |
} | |
private void getExperienceReward(String rewardString) { | |
Gdx.app.log("INFO", "Reward : get Experience!"); | |
} | |
private void getItemReward(String rewardString) { | |
Gdx.app.log("INFO", "Reward : get ITEM!"); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.mygdx.event; | |
import com.badlogic.gdx.Gdx; | |
import com.mygdx.enums.RewardTypeEnum; | |
public class RewardManager { | |
private Boolean currentReward; | |
private RewardKey rewardKey; | |
private static RewardManager instance; | |
private String rewardCode; | |
public RewardManager() { | |
setRewardCode("none-none"); | |
setCurrentReward(false); | |
} | |
public static RewardManager getInstance() { | |
if (null == instance) { | |
instance = new RewardManager(); | |
} | |
return instance; | |
} | |
private RewardKey parseRewardCode(String rewardCode) { | |
if (rewardCode == null) { | |
Gdx.app.log("error", "rewardCode is null"); | |
} | |
String[] temp = rewardCode.split("-"); | |
rewardKey = new RewardKey(); | |
rewardKey.setKeyOfRewardType(temp[0]); | |
rewardKey.setKeyOfRewardValue(temp[1]); | |
return rewardKey; | |
} | |
public RewardKey getRewardKey() { | |
rewardCode = EventManager.getInstance().getEventKey().getKeyOfReward(); | |
return rewardKey; | |
} | |
public RewardKey getRewardKey(String rewardCode) { | |
parseRewardCode(rewardCode); | |
return rewardKey; | |
} | |
public void setRewardKey(RewardKey rewardKey) { | |
this.rewardKey = rewardKey; | |
} | |
public Boolean isCurrentReward() { | |
return currentReward; | |
} | |
public RewardManager setCurrentReward(Boolean currentReward) { | |
this.currentReward = currentReward; | |
return this; | |
} | |
public String getRewardCode() { | |
return rewardCode; | |
} | |
public void setRewardCode(String rewardCode) { | |
parseRewardCode(rewardCode); | |
this.rewardCode = rewardCode; | |
} | |
public void doReward() { | |
String rewardType = RewardManager.getInstance().rewardKey | |
.getKeyOfRewardType(); | |
switch (RewardTypeEnum.valueOf(rewardType)) { | |
case PARTY: | |
RewardManager rewardManager = new PartyRewardManager(); | |
rewardManager.doReward(); | |
return; | |
default: | |
Gdx.app.log("error", "rewardType 주입 오류"); | |
return; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment