Пример #1
0
    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);
    }
Пример #2
0
 public void NoClick()
 {
     Instantiate(NoBox);
     LogText.WriteLog(gm.GameName + "은(는) 신직업이 없을 것이라고 밝혔다.");
     MoneyPanel.Hide(true);
     box.OnClick();
 }
Пример #3
0
 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("매크로가 게임에 판을 치고 있다. 개발자들이 매크로를 잡을 때까지 기다리자.");
 }
Пример #4
0
 void Update()
 {
     if (GameManager.gm.time >= FinishTime)
     {
         GameManager.gm.fame += 1000;
         LogText.WriteLog("버그gm을 투입해 열심히 매크로를 잡았다.");
         Developer.dev.FinishDeveloper(modifyingDeveloper);
         Destroy(gameObject);
     }
 }
Пример #5
0
    void GodLaunch()
    {
        Instantiate(GodLaunch_Box);
        LogText.WriteLog("경쟁작 갓나무가 런칭했다.");
        UserChat.CreateChat("새로 나온 게임이 있다던데요?", 5);
        UserChat.CreateChat("갓나무 하러 갑시다", 5);
        gm.RoundStartEvent -= GodLaunch;

        StartCoroutine(GodLaunch_Effect());
    }
Пример #6
0
    void GodFreedom()
    {
        if (gm.roundCount == 2 && gm.timeLeft < 20)
        {
            Instantiate(GodFreedom_Box);
            LogText.WriteLog("갓나무가 방대한 자유도로 인기를 끌고 있다.");
            gm.EventCheck -= GodFreedom;

            StartCoroutine(GodFreedom_Effect());
        }
    }
Пример #7
0
 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;
     }
 }
Пример #8
0
    void GodBug()
    {
        if (gm.roundCount == 3 && gm.timeLeft < 15)
        {
            Instantiate(GodBug_Box);
            LogText.WriteLog("갓나무가 버그의 발생에도 불구하고 인기를 끌고 있다.");
            gm.EventCheck -= GodBug;

            StartCoroutine(GodBug_Effect());
        }
    }
Пример #9
0
    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++;
        }
    }
Пример #10
0
 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;
     }
 }
Пример #11
0
    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);
            }
        }
    }
Пример #12
0
    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("신직업이 성공적으로 개발되었다!!");
    }
Пример #13
0
 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;
     }
 }
Пример #14
0
 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;
     }
 }
Пример #15
0
 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);
 }
Пример #16
0
 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;
     }
 }
Пример #17
0
 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("돈이 부족합니다.");
     }
 }
Пример #18
0
    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);
        }
    }
Пример #19
0
    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;
        }
    }
Пример #20
0
    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;
        }
    }
Пример #21
0
    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;
        }
    }
Пример #22
0
    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);
        }
    }
Пример #23
0
    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);
        }
    }
Пример #24
0
 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("돈이 부족합니다.");
     }
 }
Пример #25
0
    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% 감소
        }
    }
Пример #26
0
    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;
        }
    }
Пример #27
0
    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")])));
        }
    }
Пример #28
0
    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이 부족합니다.");
        }
    }
Пример #29
0
    //아이템 효과는 여기에 추가
    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);
    }
Пример #30
0
    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"));
        }
    }