public void OnClick() { if (gm.isPaused) { return; } bool exception = false; if (QuantityControlOn) { exception = QuantityControlEnd(); } if (exception == true) { return; } if (gm.Money() < DaramCost * DaramAmount) { LogText.WriteLog("돈이 부족합니다."); return; } GameManager.gm.ChangeMoneyInRound(-DaramCost * DaramAmount); Create(DaramAmount); }
public void NoClick() { Instantiate(NoBox); LogText.WriteLog(gm.GameName + "은(는) 신직업이 없을 것이라고 밝혔다."); MoneyPanel.Hide(true); box.OnClick(); }
public void KeepMacro() { GameManager.gm.fame -= 1000 - 100 * Mathf.Min(10, Developer.dev.developerCount[Developer.dev.FindPostIDByName("Customer")]); // 디버깅 팀의 개발자 한 명당 매크로 지속시간이 10초씩 줄어듭니다. ActivityEnd = GameManager.gm.time + 100f - 10f * (float)Mathf.Min(10, Developer.dev.developerCount[Developer.dev.FindPostIDByName("Debugging")]); GameManager.gm.DaramDeath += MacroActivity; LogText.WriteLog("매크로가 게임에 판을 치고 있다. 개발자들이 매크로를 잡을 때까지 기다리자."); }
void Update() { if (GameManager.gm.time >= FinishTime) { GameManager.gm.fame += 1000; LogText.WriteLog("버그gm을 투입해 열심히 매크로를 잡았다."); Developer.dev.FinishDeveloper(modifyingDeveloper); Destroy(gameObject); } }
void GodLaunch() { Instantiate(GodLaunch_Box); LogText.WriteLog("경쟁작 갓나무가 런칭했다."); UserChat.CreateChat("새로 나온 게임이 있다던데요?", 5); UserChat.CreateChat("갓나무 하러 갑시다", 5); gm.RoundStartEvent -= GodLaunch; StartCoroutine(GodLaunch_Effect()); }
void GodFreedom() { if (gm.roundCount == 2 && gm.timeLeft < 20) { Instantiate(GodFreedom_Box); LogText.WriteLog("갓나무가 방대한 자유도로 인기를 끌고 있다."); gm.EventCheck -= GodFreedom; StartCoroutine(GodFreedom_Effect()); } }
void GodPassedBy() { if (gm.fame - gm.enemyFame < 0) { Instantiate(GodPassedBy_Box); LogText.WriteLog("갓나무가 " + gm.GameName + "의 인기를 위협합니다!"); UserChat.CreateChat(gm.GameName + "보다 갓나무가 더 재밌다던데?", 4); gm.EventCheck -= GodPassedBy; gm.EventCheck += GodKiri; } }
void GodBug() { if (gm.roundCount == 3 && gm.timeLeft < 15) { Instantiate(GodBug_Box); LogText.WriteLog("갓나무가 버그의 발생에도 불구하고 인기를 끌고 있다."); gm.EventCheck -= GodBug; StartCoroutine(GodBug_Effect()); } }
void GodDemo() { int diff = gm.enemyFame - gm.fame; if (diff > 2000 + 2000 * GDThreshold && Random.value < 1f / (float)(55501 + 10000 * GDThreshold - 5 * diff)) { gm.enemyFame = gm.fame + 1000 * GDThreshold; Instantiate(GodDemo_Box); LogText.WriteLog("갓나무 유저들의 불만이 증가하고 있다."); GDThreshold++; } }
void ShutDownJe() { if (Random.value < 1f / 5001f) { gm.ChangeMoneyInRound(-3000); LogText.WriteLog("게임에 셧다운제가 도입되었습니다."); UserChat.CreateChat("안녕 나 셧다운제야..", 3); UserChat.CreateChat("여성부 OUT!", 0.5f); // 판사님 저는 아무것도 보지 못했습니다 Instantiate(ShutDownJe_Box); gm.EventCheck -= ShutDownJe; } }
void OnLevelWasLoaded(int level) { // 라운드 시작시마다 실행 if (isInterRound == false) { if (!isEmergency) { SetRoundTime(); } InitiateMoney(); StartCoroutine("UserChangeCall"); StartCoroutine(MoneyGainByFame()); StartCoroutine(MoneyLoseBySalary()); if (StartScene != null) { Instantiate(StartScene); } if (roundCount != 1) // 시작시에는 정기점검이 없습니다 { LogText.WriteLog(""); if (!isEmergency) { LogText.WriteLog((roundCount - 1) + "번째 정기점검 끝."); } else { LogText.WriteLog("긴급점검이 끝났습니다."); } } else { LogText.WriteLog("드디어 새 게임을 출시했다! 다람쥐를 뿌려 유저 수를 늘려보자."); } LogText.WriteLog("10초 후 유저 로그인이 활성화됩니다."); if (isEmergency) { DaramDeath -= Events.EmergencyDeath; // 튜토리얼용 함수 basicTime = timeLeft += 10; isEmergency = false; } } else { if (roundCount == 1) { Instantiate(Events.InterRoundTutorialBox); } } }
void NewClassCreated() { gm.FameChange -= FameUp_NewClass1; gm.FameChange += gm.FameBug; gm.RoundStartEvent -= NewClassCreated; gm.FameChange += FameUp_NewClass2; EndTime = gm.time + 25; Instantiate(NewClassBox); gm.userCount[User.level1] += 3000; LogText.WriteLog("신직업이 성공적으로 개발되었다!!"); }
void FreeServer() { if (gm.userCount[User.level2] > 10000 && Random.value < 1f / 6001f) { gm.fame -= 5000; gm.userCount[User.level2] -= 4000; LogText.WriteLog("프리서버가 생겼다는 소문이 퍼지고 있다."); UserChat.CreateChat("여러분 현질 필요없는 게임이 생겼대요!!", 3); UserChat.CreateChat(UserChat.BadChat("슬슬 이 게임도 뜰 때가 됬나.."), 4); Instantiate(FreeServer_Box); gm.EventCheck -= FreeServer; } }
void ViolenceTest() { if (Random.value < 1f / 4001f) { gm.fame += 5000; gm.userCount[User.level1] += 1000; LogText.WriteLog("폭력성 실험을 통해 게임의 인지도가 상승했다!"); UserChat.CreateChat("이게 그 유명한 " + gm.GameName + "인가요??", 3); Instantiate(ViolenceTest_Box); gm.EventCheck -= ViolenceTest; gm.EventCheck += ShutDownJe; } }
public void KeepMacro() { GameManager.gm.fame -= 1000; // 디버깅 팀의 개발자 한 명당 매크로 지속시간이 10초씩 줄어듭니다. ActivityEnd = GameManager.gm.time + 100f;// -10f * (float)Mathf.Min(10, Developer.dev.developerCount[Developer.dev.FindPostIDByName("Debugging")]); Debug.Log(ActivityEnd); Debug.Log(GameManager.gm.time); GameManager.gm.DaramDeath += MacroActivity; LogText.WriteLog("매크로가 게임에 판을 치고 있다."); MoneyPanel.Hide(true); GameManager.gm.Pause(false); Destroy(gameObject); }
void GettingFamous() { if (gm.fame >= 30000) { Instantiate(GettingFamous_Box); gm.userCount[User.level1] += 1500; gm.userCount[User.level2] += 100; LogText.WriteLog("게임이 유명해지고 있다!!"); UserChat.CreateChat(UserChat.GoodChat("와와"), 2); UserChat.CreateChat(UserChat.GoodChat("와와"), 3); UserChat.CreateChat(UserChat.GoodChat("와와"), 2); gm.EventCheck -= GettingFamous; } }
public void KillMacro() { if (GameManager.gm.Money() >= 3000) { GameManager.gm.ChangeMoneyInRound(-3000); GameManager.gm.fame += 1000; GetComponentInParent <EventBox>().OnClick(); LogText.WriteLog("GM을 시켜 열심히 매크로를 잡았다."); } else { LogText.WriteLog("돈이 부족합니다."); } }
void UnlockTokki() { if (GameManager.gm.fame >= 25000) { GameManager.gm.EventCheck -= UnlockTokki; Instantiate(UnlockTokki_Box); LogText.WriteLog("초심으로 돌아가 토끼 다람쥐를 개발했다!"); Unlockables.SetBool("UnlockTokki1", true); Unlockables.SetBool("UnlockTokki1_Amount10", true); Unlockables.SetBool("UnlockTokki2", true); Unlockables.SetBool("UnlockTokki2_Amount10", true); } }
void GodKiri() { int enemyMinusFame = 3000; if (gm.fame - gm.enemyFame < -5000) { Instantiate(GodKiri_Box); LogText.WriteLog("갓나무의 인기도가 하락하고 있습니다."); UserChat.CreateChat("헐 갓나무 왜 저럼?", 3); UserChat.CreateChat(gm.GameName + " 계속 해야겠네", 3); gm.enemyFame -= enemyMinusFame; gm.EventCheck -= GodKiri; gm.EventCheck += GodLifeGoesOn; } }
void RivalGameRelease() { if (Random.value < 1f / 14401f) { Instantiate(RivalGameRelease_Box); LogText.WriteLog("경쟁작 '전설의 어둠'이 베타 테스트를 시작했다!"); UserChat.CreateChat("전설의 어둠하러 갑시다.", 5); UserChat.CreateChat("ㄱㄱㄱ", 5); UserChat.CreateChat("이 게임 접으려는데 아이디 사실 분?", 5); GameManager.gm.userCount[User.level1] -= 1500 + (int)(GameManager.gm.userCount[User.level1] * 0.1f); GameManager.gm.userCount[User.level2] -= (int)(GameManager.gm.userCount[User.level2] * 0.1f); gm.EventCheck -= RivalGameRelease; } }
void SlimeParty() { if (gm.roundCount == 3) { // 다람쥐와 슬라임을 스왑함 SlimeParty_Slime.GetComponent <Daram>().Type = "Basic"; GameObject temp = GameObject.Find("AddBasicDaram").GetComponent <AddBasicDaram>().daram; GameObject.Find("AddBasicDaram").GetComponent <AddBasicDaram>().daram = SlimeParty_Slime; SlimeParty_Slime = temp; LogText.WriteLog("정기점검 중 뭔가 문제가 있었던 것 같습니다.."); Instantiate(SlimeParty_Box); gm.EventCheck += SlimeParty2; gm.RoundStartEvent -= SlimeParty; } }
void UnlockUpBasic() { if (GameManager.gm.fame >= 10000) { GameManager.gm.EventCheck -= UnlockUpBasic; Instantiate(UnlockUpBasic_Box); LogText.WriteLog("인기에 힘입어 LV.2 다람쥐를 개발했다!"); UserChat.CreateChat("GM: 고레벨 다람쥐가 새롭게 등장합니다!!", 5); gm.FameChange += gm.FameDaram2; gm.UserChange += gm.UserLevel2; gm.EventCheck += UserChat.uc.Daram2Number; Unlockables.SetBool("UnlockDaram2", true); } }
void UserLimitExcess() { if (GameManager.gm.UserAllCount() > Unlockables.GetInt("UserLimit") + 50) { Instantiate(UserLimitExcess_Box); LogText.WriteLog("서버가 게임의 인기를 감당하지 못하고 폭파되었습니다."); //유저채팅 추가 gm.UserChat += UserChat.uc.UserLimitExcess; GameManager.gm.userCount[User.level1] -= (int)(GameManager.gm.userCount[User.level1] * Random.Range(0.3f, 0.5f)); GameManager.gm.userCount[User.level2] -= (int)(GameManager.gm.userCount[User.level2] * Random.Range(0.3f, 0.5f)); GameManager.gm.fame -= (int)(GameManager.gm.fame * 0.2); } }
public void KillMacroByMoney() { if (GameManager.gm.Money() >= 3000) { GameManager.gm.ChangeMoneyInRound(-3000); GameManager.gm.fame += 1000; LogText.WriteLog("돈을 투입해 열심히 매크로를 잡았다."); MoneyPanel.Hide(true); GameManager.gm.Pause(false); Destroy(gameObject); } else { GameManager.gm.ShowMessageBox("돈이 부족합니다."); } }
void MacroActivity() { if (GameManager.gm.time >= ActivityEnd) { GameManager.gm.DaramDeath -= MacroActivity; } LogText.WriteLog("개발자들이 매크로를 잡았다."); if (GameManager.gm.time >= NextActivity) { if (Daram.All.Count != 0) { Daram.All[Random.Range(0, Daram.All.Count)].HP -= 1000; } NextActivity = GameManager.gm.time + 10.0f / (float)Daram.All.Count; // 다람쥐가 초당 10% 감소 } }
void RivalGameRelease() { if (Random.value < 1f / 14401f) { Instantiate(RivalGameRelease_Box); LogText.WriteLog("경쟁작 '전설의 어둠'이 베타 테스트를 시작했다!"); LogText.WriteLog("(유저 수가 감소합니다.)"); UserChat.CreateChat("전설의 어둠하러 갑시다.", 5); UserChat.CreateChat("ㄱㄱㄱ", 5); UserChat.CreateChat("이 게임 접으려는데 아이디 사실 분?", 5); GameManager.gm.userCount[User.level1] -= 1500 + (int)(GameManager.gm.userCount[User.level1] * 0.1f) - 150 * Mathf.Min(10, Developer.dev.developerCount[Developer.dev.FindPostIDByName("Publicity")]); GameManager.gm.userCount[User.level2] -= (int)(GameManager.gm.userCount[User.level2] * 0.1f); gm.EventCheck -= RivalGameRelease; } }
void UserLimitExcess() { if (GameManager.gm.UserAllCount() > Unlockables.GetInt("UserLimit")) { Instantiate(UserLimitExcess_Box); LogText.WriteLog("서버가 충당 가능한 유저 수를 초과했습니다."); LogText.WriteLog("유저들이 접속 불량을 호소합니다. (유저 수와 인기도가 감소합니다.)"); //유저채팅 추가 gm.UserChat += UserChat.uc.UserLimitExcess; GameManager.gm.userCount[User.level1] -= (int)(GameManager.gm.userCount[User.level1] * Random.Range(0.3f, 0.5f)); GameManager.gm.userCount[User.level2] -= (int)(GameManager.gm.userCount[User.level2] * Random.Range(0.3f, 0.5f)); GameManager.gm.fame -= (int)(GameManager.gm.fame * (0.2 - 0.015 * Mathf.Min(10, Developer.dev.developerCount[Developer.dev.FindPostIDByName("Customer")]))); } }
public void KillMacroByGM() { // 버그 담당 GM이 일할 곳. 수정바람. Post modifyingDeveloper = Developer.dev.FindPostByPostID(Developer.dev.FindPostIDByName("Debugging")); if (Developer.dev.UseDeveloper(modifyingDeveloper)) { LogText.WriteLog("버그GM을 투입해 열심히 매크로를 잡는중...(10초 소요)"); Instantiate(MacroWork).GetComponent <MacroWork>().modifyingDeveloper = modifyingDeveloper; MoneyPanel.Hide(true); GameManager.gm.Pause(false); Destroy(gameObject); } else { GameManager.gm.ShowMessageBox("버그GM이 부족합니다."); } }
//아이템 효과는 여기에 추가 public bool useItem(Item item) { if (isItemUsing[item.itemID] == true) { GameManager.gm.ShowMessageBox("이미 해당 아이템이 사용중입니다."); return(false); } isItemUsing[item.itemID] = true; StartCoroutine(item.itemfunc(item)); if (item.itemID >= itemDatabase.Count) { attackItemUseCount++; } GameManager.gm.SetSE((int)SE.SEType.ItemUse); LogText.WriteLog(item.itemName + "를 사용하였습니다."); return(true); }
public void UnlockUpBasic() { if (GameManager.gm.fame >= 10000) { GameManager.gm.EventCheck -= UnlockUpBasic; Instantiate(UnlockUpBasic_Box); LogText.WriteLog("인기에 힘입어 LV.2 다람쥐를 개발했다!"); UserChat.CreateChat("GM: 고레벨 다람쥐가 새롭게 등장합니다!!", 5); gm.FameChange += gm.FameDaram2; gm.UserChange += gm.UserLevel2; gm.EventCheck += UserChat.uc.Daram2Number; Unlockables.SetBool("UnlockBasic2", true); UpgradeDatabase ud = GameObject.Find("Database").GetComponent <UpgradeDatabase>(); ud.upgradeDatabase.Add(new Upgrade("Lv.2 기본 다람쥐 체력 증가", 3, 2000, 1, "Basic Lv.2 다람쥐의 체력을 250 증가시킵니다.", "Basic2Health", "현재 최대 체력", 250, 2000.0f)); ud.upgradeDatabase.Add(new Upgrade("Lv.2 기본 다람쥐 많이 뿌리기", 4, 5000, 1, "Basic Lv.2 다람쥐를 한번에 10마리씩 뿌릴 수 있는 능력이 추가됩니다.", "UnlockBasic2_Amount10")); } }