예제 #1
0
    public void CheckDone()
    {
        if (progress != PROGRESS.START)
        {
            return;
        }

        bool isbool = false;

        for (int i = 0; i < Inventory.instance.inventoryItemList.Count; i++)
        {
            if (Inventory.instance.inventoryItemList[i].itemID == 20000011)
            {
                if (Inventory.instance.inventoryItemList[i].itemCount >= 1)
                {
                    isbool = true;
                }
            }
        }
        if (isbool)
        {
            Comment.instance.CommentPrint("'버섯구이를 완성했어'\n보상으로 30코인을 얻었다");
            coin.coin += 30;
            progress   = PROGRESS.END;
            PlayerPrefs.SetInt(save, (int)progress);
            QuestManager.instance.RemoveQueset(questName);
            ResetQusetList();
        }
        else
        {
            Comment.instance.CommentPrint("'버섯구이는 아직인가'");
        }
    }
예제 #2
0
    public void StateYetClick()
    {
        if (progress != PROGRESS.START)
        {
            return;
        }

        if (SearchInventory(90000011) == null)
        {
            string[] comments = new string[]
            {
                "낚시를 해서 물고기를 잡으면 먹어서 배를 채울수도 있고 팔아서 돈을 벌수도있다",
                "그러나 낚시를 하려면 낚시대가 필요한 법 우선 낚시대를 만들어 보자",
                "낚시대는 나뭇가지 10개와 잡초 5개로 집안의 DIY제작대를 통해 만들수 있다",
            };
            Comment.instance.CommentPrint(comments);
        }
        else
        {
            progress = PROGRESS.GOING;
            PlayerPrefs.SetInt(save, (int)progress);
            Comment.instance.CommentPrint("낚시대가 생겼으니 이제 물고기를 잡아보자");

            QuestManager.instance.RemoveQueset(questName);
            QuestManager.instance.AddQuest(questName, "낚시를 해보자!\n낚시 방법은 이곳을 터치해서 볼수있다", "", "Quest4", "StateGoingClick");
            ResetQusetList();
        }
    }
예제 #3
0
    public void StateGoingClick()
    {
        if (progress != PROGRESS.GOING)
        {
            return;
        }

        if (SearchInventory(30000001) == null)
        {
            string[] comment = new string[]
            {
                "인벤토리에서 낚시대를 착용하고 물고기를 향해 A버튼을 누르면 낚시를 시작할수있다",
                "물고기 '썩어'를 잡은후 퀘스트를 클릭해 퀘스트를 완료하자",
            };
            Comment.instance.CommentPrint(comment);
        }
        else
        {
            progress = PROGRESS.END;
            PlayerPrefs.SetInt(save, (int)progress);

            QuestManager.instance.RemoveQueset(questName);
            Comment.instance.CommentPrint("물고기를 많이 잡아서 빚을 탕감하도록 하자");
            ResetQusetList();
        }
    }
예제 #4
0
    public void Abutton()
    {
        confirm = false;
        ClearCurrentGridPixels();
        StartInput();

        Vector3    pos  = BuildingGridCanvasCtrl.instance.transform.position;
        GameObject tent = Instantiate(tentPrefab, this.transform);

        tent.transform.position = pos;


        int y = (int)pos.y;

        CreateMapData cmd  = FindObjectOfType <CreateMapData>();
        int           size = cmd.size;

        for (int x = (int)pos.x; x < (int)pos.x + 4; x++)
        {
            for (int z = (int)pos.z; z < (int)pos.z + 3; z++)
            {
                cmd.MapDataStr[x + (z * size) + ((y - 1) * size * size)] = "09";
            }
        }
        cmd.MapDataStr[(int)pos.x + ((int)pos.z * size) + ((int)pos.y * size * size)] = "98";
        cmd.SaveDataJson();

        progress = PROGRESS.END;
        PlayerPrefs.SetInt(save, (int)progress);

        QuestManager.instance.RemoveQueset(questName);
        ResetQusetList();

        StartCoroutine(AbuttonComplete());
    }
예제 #5
0
    public void RepaymentTodashida()
    //다시다에게 붙여줄 다시다 상환 함수
    {
        if (progress != PROGRESS.GOING)
        {
            return;
        }

        if (TimeManager.instance.timezone == TimeManager.TIMEZONE.NIGHT)
        {
            Comment.instance.CommentPrint("상환 가능한 시간이 아닙니다");
            NPCdashida.AddObject("Quest2", "RepaymentTodashida");
            return;
        }

        CoinManager coinmanager = FindObjectOfType <CoinManager>();

        if (coinmanager.coin >= 110)
        {
            coinmanager.coin -= 110;
            Comment.instance.CommentPrint("다행히 시간안에 가져오셨군요\n오늘은 무서운일이 일어나지 않을거에요");
            FindObjectOfType <ChasingAtNight>().notToNight = true;
            QuestManager.instance.RemoveQueset(questName);
            ResetQusetList();
            progress = PROGRESS.END;
            PlayerPrefs.SetInt(save, (int)progress);

            StartCoroutine(WaitNextQuest());
        }
        else
        {
            Comment.instance.CommentPrint("아직 110벨을 모으지 못했어요\n시간이 계속 흐른답니다\n늦으면 큰일난다구요!");
            NPCdashida.AddObject("Quest2", "RepaymentTodashida");
        }
    }
        public static IQueryable <PROJECT_Dashboard> SummarizePROJECTDashboard(IQueryable <PROJECT> PROJECTS, Func <IQueryable <PROGRESS> > getLivePROGRESSESFunc, Func <IQueryable <BASELINE> > getLiveBASELINESFunc, Func <IQueryable <RATE> > getRATESFunc, Func <IQueryable <VARIATION> > getApprovedVARIATIONFunc = null)
        {
            IEnumerable <BASELINE>  LiveBASELINES  = getLiveBASELINESFunc().ToArray().AsEnumerable();
            IEnumerable <PROGRESS>  LivePROGRESSES = getLivePROGRESSESFunc().ToArray().AsEnumerable();
            IEnumerable <VARIATION> ApprovedVARIATIONS;

            if (getApprovedVARIATIONFunc != null)
            {
                ApprovedVARIATIONS = getApprovedVARIATIONFunc().ToArray().AsEnumerable();
            }
            else
            {
                ApprovedVARIATIONS = new List <VARIATION>();
            }

            IEnumerable <RATE>       AllRATES                = getRATESFunc();
            IEnumerable <PROJECT>    localPROJECTS           = PROJECTS.Where(x => x.STATUS == ProjectStatus.Active).ToArray().AsEnumerable(); //process only active PROJECTS
            List <PROJECT_Dashboard> returnPROJECT_Dashboard = new List <PROJECT_Dashboard>();

            IBluePrintsEntitiesUnitOfWork bluePrintsUnitOfWork = BluePrintsEntitiesUnitOfWorkSource.GetUnitOfWorkFactory().CreateUnitOfWork();
            IP6EntitiesUnitOfWork         p6UnitOfWork         = P6EntitiesUnitOfWorkSource.GetUnitOfWorkFactory().CreateUnitOfWork();

            foreach (PROJECT localPROJECT in localPROJECTS)
            {
                BASELINE currentPROJECTLiveBASELINE = LiveBASELINES.FirstOrDefault(x => x.GUID_PROJECT == localPROJECT.GUID);
                if (currentPROJECTLiveBASELINE == null)
                {
                    continue;
                }

                PROGRESS currentPROJECTLivePROGRESS = LivePROGRESSES.FirstOrDefault(x => x.GUID_PROJECT == localPROJECT.GUID);
                if (currentPROJECTLivePROGRESS == null)
                {
                    continue;
                }

                IQueryable <PROGRESS_ITEM> LivePROGRESS_ITEMS          = currentPROJECTLivePROGRESS.PROGRESS_ITEM.AsQueryable();
                IQueryable <BASELINE_ITEM> LiveBASELINE_ITEMS          = currentPROJECTLiveBASELINE.BASELINE_ITEM.AsQueryable();
                IQueryable <RATE>          RATESByProject              = AllRATES.Where(x => x.GUID_PROJECT == localPROJECT.GUID).AsQueryable();
                IEnumerable <VARIATION>    ApprovedVARIATIONSByProject = ApprovedVARIATIONS.Where(x => x.GUID_PROJECT == localPROJECT.GUID).AsEnumerable();

                IEnumerable <ReportableObject> PROJECTInfos = PROGRESS_ITEMProjectionQueries.JoinRATESAndPROGRESS_ITEMSOnBASELINE_ITEMS(
                    LiveBASELINE_ITEMS, () => currentPROJECTLivePROGRESS, () => currentPROJECTLiveBASELINE, () => LivePROGRESS_ITEMS, () => RATESByProject).ToArray().AsEnumerable();

                PROJECT_Dashboard currentPROJECT_Dashboard = new PROJECT_Dashboard()
                {
                    GUID = localPROJECT.GUID, PROJECT = localPROJECT, VARIATIONS = ApprovedVARIATIONSByProject
                };
                currentPROJECT_Dashboard.InitializeBuilder(PROJECTInfos, currentPROJECTLivePROGRESS, currentPROJECTLiveBASELINE, bluePrintsUnitOfWork, p6UnitOfWork);
                returnPROJECT_Dashboard.Add(currentPROJECT_Dashboard);
            }

            foreach (PROJECT_Dashboard project in returnPROJECT_Dashboard)
            {
                BuildProjectStats summaryManufacturer = new BuildProjectStats();
                summaryManufacturer.Manufacture(project.SummaryBuilder);
            }

            return(returnPROJECT_Dashboard.AsQueryable());
        }
예제 #7
0
    IEnumerator TalkDashda_start()
    {
        yield return(null);

        string[] comments = new string[]
        {
            "\"오홍 역시 재빠르시군요\n다름이아니라 신너굴님의 채무상환스케쥴을\n알려드리려고 뵙자고했어요.\"",
            "\"우선 돈을 빌리셨으면 갚으셔야하는게 맞는거니까 매일 PM 8시전까지 원금및 이자상환부탁드릴게용\"",
            "\"혹시나 그럴일은 없겠지만 PM 8시전까지 상환하지않으신다면 무서운분들을 만나실꺼에요 험한꼴 당하고 싶으시면 뭐 상관없겠지만요~\"",
            "\"현재 신너굴님의 대출금액은 10.000.000벨, 대출이자는 1.000.000벨입니다. \"",
            "\"상환스케쥴은 변동될수 있는점 양해부탁드리구요 신너굴님의 노력여하에따라 이자율은 늘어날수도 줄어들수도 있으니 알아서 잘해보세용. 헿\"",
            "\"상점을 이용해서 채집한 아이템이나 제작한아이템들을 판매해서 티끌모아 빛청산!도 가능하시지 않을까요? 찡긋\"",
            "\"오늘의 상환스케쥴\n원금 100벨 이자10벨 토탈110벨\"",
        };
        BoolList bl = Comment.instance.CommentPrint(comments);

        yield return(new WaitUntil(() => bl.isDone));

        QuestManager.instance.RemoveQueset(questName);
        QuestManager.instance.AddQuest(questName, "오늘의 상환스케쥴\n원금 100벨 이자10벨 토탈110벨", "", "Quest2", "RepaymentToday");
        ResetQusetList();
        NPCdashida.AddObject("Quest2", "RepaymentTodashida");
        StartTimer();

        progress = PROGRESS.GOING;
        PlayerPrefs.SetInt(save, (int)progress);
    }
예제 #8
0
 protected override void Start()
 {
     base.Start();
     progress = (PROGRESS)PlayerPrefs.GetInt(save, 0);
     if (progress != PROGRESS.END)
     {
         NPCdashida.AddObject("Quest1_3", "TalkDashida");
     }
 }
예제 #9
0
 protected override void Start()
 {
     base.Start();
     progress = (PROGRESS)PlayerPrefs.GetInt(save, 0);
     if (PlayerPrefs.GetInt(qst3save) == 3)
     {
         LaunchingQuest();
     }
 }
예제 #10
0
    private void RecvResult <R>(BaseModel ret, R result)
    {
        string name = ret.GetType().Name;

        if (ret.Error == Error.None)
        {
            Debug.Log((object)(name + " result:" + result));
            switch (name)
            {
            case "CheckRegisterModel":
            {
                CheckRegisterModel checkRegisterModel = (CheckRegisterModel)ret;
                SetUser(checkRegisterModel.result.userInfo);
                SetAccount(checkRegisterModel.result.uh);
                break;
            }

            case "AssetBundleVersionModel":
            {
                AssetBundleVersionModel assetBundleVersionModel = (AssetBundleVersionModel)ret;
                SetUser(assetBundleVersionModel.result.userInfo);
                break;
            }

            case "RegistCreateModel":
            {
                RegistCreateModel registCreateModel = (RegistCreateModel)ret;
                SetUser(registCreateModel.result.userInfo);
                SetAccount(registCreateModel.result.uh);
                break;
            }

            case "StatusInfoModel":
            {
                OnceStatusInfoModel onceStatusInfoModel = (OnceStatusInfoModel)ret;
                SetUser(onceStatusInfoModel.result.user);
                break;
            }
            }
        }
        else
        {
            Debug.LogError((object)(name + " error:" + ret.Error));
            MonoBehaviourSingleton <AccountManager> .I.ClearAccount();
        }
        if (MonoBehaviourSingleton <UserInfoManager> .I.userInfo != null)
        {
            m_progress = PROGRESS.REGIST_OK;
        }
        else
        {
            m_progress++;
        }
        Debug.Log((object)("progress:" + m_progress));
        m_isSending = false;
    }
        public static IQueryable <VARIATION_ITEMProjection> JoinRATESAndPROGRESS_ITEMSAndVARIATION_ITEMSOnBASELINE_ITEMS(IQueryable <BASELINE_ITEM> BASELINE_ITEMS, Func <PROGRESS> getPROGRESSFunc, Func <BASELINE> getBASELINEFunc, Func <VARIATION> getVARIATIONFunc, Func <IQueryable <PROGRESS_ITEM> > getPROGRESS_ITEMSFunc, Func <IQueryable <VARIATION_ITEM> > getVARIATION_ITEMSFunc, Func <IQueryable <RATE> > getRATESFunc, bool IsLocked)
        {
            BASELINE          BASELINE  = getBASELINEFunc();
            PROGRESS          PROGRESS  = getPROGRESSFunc();
            VARIATION         VARIATION = getVARIATIONFunc();
            IQueryable <RATE> RATES     = getRATESFunc();

            IQueryable <VARIATION_ITEM> LoadVARIATION_ITEMS;

            if (VARIATION == null)
            {
                LoadVARIATION_ITEMS = getVARIATION_ITEMSFunc().Where(x => x.GUID_VARIATION == Guid.Empty).ToArray().AsQueryable();
            }
            else
            {
                LoadVARIATION_ITEMS = getVARIATION_ITEMSFunc().ToArray().AsQueryable();
            }

            IQueryable <PROGRESS_ITEM> LoadPROGRESS_ITEMS;

            if (PROGRESS == null)
            {
                LoadPROGRESS_ITEMS = getPROGRESS_ITEMSFunc().Where(x => x.GUID_PROGRESS == Guid.Empty).ToArray().AsQueryable();
            }
            else
            {
                LoadPROGRESS_ITEMS = getPROGRESS_ITEMSFunc().ToArray().AsQueryable();
            }

            IQueryable <PROGRESS_ITEMProjection> BASELINE_ITEMJoinRATESJoinPROGRESS_ITEMS;

            if (PROGRESS == null || VARIATION == null)
            {
                BASELINE_ITEMJoinRATESJoinPROGRESS_ITEMS = PROGRESS_ITEMProjectionQueries.JoinRATESAndPROGRESS_ITEMSOnBASELINE_ITEMS(BASELINE_ITEMS.Where(x => x.GUID == Guid.Empty), getPROGRESSFunc, getBASELINEFunc, getPROGRESS_ITEMSFunc, getRATESFunc, true);
            }
            else
            {
                if (VARIATION.SUBMITTED != null)
                {
                    BASELINE_ITEMJoinRATESJoinPROGRESS_ITEMS = PROGRESS_ITEMProjectionQueries.JoinRATESAndPROGRESS_ITEMSOnBASELINE_ITEMS(BASELINE_ITEMS.Where(x => x.GUID_VARIATION == VARIATION.GUID && x.GUID_BASELINE != null), getPROGRESSFunc, getBASELINEFunc, getPROGRESS_ITEMSFunc, getRATESFunc, true);
                }
                else
                {
                    BASELINE_ITEMJoinRATESJoinPROGRESS_ITEMS = PROGRESS_ITEMProjectionQueries.JoinRATESAndPROGRESS_ITEMSOnBASELINE_ITEMS(BASELINE_ITEMS.Where(x => x.GUID_BASELINE == BASELINE.GUID || (x.GUID_VARIATION == VARIATION.GUID && x.GUID_BASELINE == null)), getPROGRESSFunc, getBASELINEFunc, getPROGRESS_ITEMSFunc, getRATESFunc, true);
                }
            }

            return(BASELINE_ITEMJoinRATESJoinPROGRESS_ITEMS.ToArray().AsQueryable().Select(x => new VARIATION_ITEMProjection()
            {
                GUID = x.GUID,
                VARIATION_ITEM = LoadVARIATION_ITEMS.Where(y => y.GUID_ORIBASEITEM == x.BASELINE_ITEMJoinRATE.BASELINE_ITEM.GUID_ORIGINAL).FirstOrDefault(),
                BASELINE_ITEMJoinRATE = x.BASELINE_ITEMJoinRATE,
                ISLOCKED = IsLocked
            }));
        }
예제 #12
0
        bool isContinueLoadingAfterPROGRESS(IEnumerable <PROGRESS> entities)
        {
            if (entities.Count() == 0)
            {
                mainThreadDispatcher.BeginInvoke(new Action(() => MessageBoxService.ShowMessage(string.Format(CommonResources.Notify_View_Removed, "PROGRESS"))));
                return(false);
            }

            this.loadPROGRESS = entities.First();
            return(true);
        }
예제 #13
0
    //퀘스트 시작 호출함수
    public override void LaunchingQuest()
    {
        if (progress != PROGRESS.YET)
        {
            return;
        }

        progress = PROGRESS.START;
        PlayerPrefs.SetInt(save, (int)progress);
        StartCoroutine(QuestStart());
    }
예제 #14
0
    IEnumerator StartQuest()
    {
        yield return(null);

        QuestManager.instance.AddQuest(questName, questDes, "", "Quest_DailyRepayment", "ClickQuest");
        Comment.instance.CommentPrint("새로운 날이 밝았다\n새로운 상환 스케줄을 확인하자");
        NPCdashida.AddObject("Quest_DailyRepayment", "RepaymentTodashida");

        progress = PROGRESS.START;
        PlayerPrefs.SetInt(save, (int)progress);
    }
예제 #15
0
 protected override void Start()
 {
     base.Start();
     progress = (PROGRESS)PlayerPrefs.GetInt(save, 0);
     if (progress == PROGRESS.START) // 퀘스트가 시작상태일때
     {
         if (CheckQuest())           // NPC에게 해당 퀘스트가 등록되어있는지 확인후
         {
             NPCdashida.AddObject("Quest_DailyRepayment", "RepaymentTodashida");
         }
     }
 }
예제 #16
0
    public override void LaunchingQuest()
    {
        if (progress != PROGRESS.YET)
        {
            return;
        }

        QuestManager.instance.AddQuest(questName, "버섯구이는 나뭇가지x1 버섯x1로 만들수있다\n완성후 퀘스트를 클릭해 완료할수있다", "", "Quest3_1", "CheckDone");
        ResetQusetList();
        progress = PROGRESS.START;
        PlayerPrefs.SetInt(save, (int)progress);
    }
예제 #17
0
        protected override void InitializeParameters(object parameter)
        {
            OptionalEntitiesParameter <BluePrints.Data.PROJECT, PROGRESS> receiveParameter = (OptionalEntitiesParameter <BluePrints.Data.PROJECT, PROGRESS>)parameter;

            this.loadPROJECT  = receiveParameter.GetFirstEntity();
            this.loadPROGRESS = receiveParameter.GetSecondEntity();

            if (this.loadPROJECT != null)
            {
                isQueryForLiveStatus = true;
            }
        }
예제 #18
0
    public override void LaunchingQuest()
    {
        if (progress != PROGRESS.YET)
        {
            return;
        }

        QuestManager.instance.AddQuest(questName, "섬에서 생존하기 위해 낚시를 해보자\n이곳을 터치하면 설명을 볼수있다", "", "Quest4", "StateYetClick");

        progress = PROGRESS.START;
        PlayerPrefs.SetInt(save, (int)progress);
    }
예제 #19
0
    public override void LaunchingQuest()
    {
        if (progress != PROGRESS.YET)
        {
            return;
        }

        Comment.instance.CommentPrint("'움막설치를 완료했다. \n다시다에게 가볼까??'");
        QuestManager.instance.AddQuest(questName, "다시다에게 말을 걸어 보자", "", "", "");
        ResetQusetList();
        progress = PROGRESS.START;
        PlayerPrefs.SetInt(save, (int)progress);

        NPCdashida.AddObject("Quest1_3", "TalkDashida");
    }
예제 #20
0
        protected override void InitializeParameters(object parameter)
        {
            object[] obj = (object[])parameter;

            if (isFromPROGRESS)
            {
                loadPROGRESS = (PROGRESS)obj[0];
            }
            else
            {
                loadBASELINE = (BASELINE)obj[0];
            }

            mappingType = (BaselineMappingSelectionType)obj[1];
        }
예제 #21
0
파일: Quest3.cs 프로젝트: phsmax/Portfolio
    IEnumerator LaunchingComment()
    {
        string[] comments = new string[]
        {
            "\"뭐라도 드셔야 빛을 갚을테니??\n근처에서 버섯이라도 찾아드세요\"",
            "'하 우선 살아남아야하니 \n다시다의 말에따라 식량을 구해보자'",
            "버섯은 섬곳곳에서 자라고 있다\n독버섯일수도 있지만 포만감이 떨어져\n기절하는것보단 낫겠지.....또르르",
        };
        BoolList bl = Comment.instance.CommentPrint(comments);

        yield return(new WaitUntil(() => bl.isDone));

        QuestManager.instance.AddQuest(questName, "버섯을 10개 모아서 다시다에게 가져가자", "", "Quest3", "RemindQuest");
        NPCdashida.AddObject("Quest3", "Dashida_Answer");
        ResetQusetList();
        progress = PROGRESS.START;
        PlayerPrefs.SetInt(save, (int)progress);
    }
예제 #22
0
    IEnumerator StartQuest()
    {
        yield return(null);

        string[] comments = new string[]
        {
            "다시다 : \"...신너굴님 잠시 저좀 뵐까요?\"",
            "내주제에 오라면 가야지....\n왠지 가지않으면 안좋은일이 생길것같은 예감이다.\n어서 다시다에게 가보자!",
        };
        BoolList bl = Comment.instance.CommentPrint(comments);

        yield return(new WaitUntil(() => bl.isDone));

        QuestManager.instance.AddQuest(questName, "다시다에게 가서 말을 들어보자");
        NPCdashida.AddObject("Quest2", "TalkDashida_Start");

        progress = PROGRESS.START;
        PlayerPrefs.SetInt(save, (int)progress);
    }
예제 #23
0
    IEnumerator TalkDashida_Coroutine()
    {
        string[] comments = new string[]
        {
            "움막 구경은 잘 하셨나요??\n허접하긴해도 있을건 다있답니다.\n움막안의 DIY창은 열어보셨나용??",
            "DIY창에서 각종 생존도구와 장비들을 만들수\n있어요! 신너굴님같은 가난쟁이에겐\n자급자족이 도움되지않을까요?",
        };
        BoolList bl = Comment.instance.CommentPrint(comments);

        yield return(new WaitUntil(() => bl.isDone));

        progress = PROGRESS.END;
        PlayerPrefs.SetInt(save, (int)progress);
        QuestManager.instance.RemoveQueset(questName);
        ResetQusetList();

        yield return(new WaitForSeconds(1f));

        // 다음퀘스트로 연결
        GetComponent <Quest3>().LaunchingQuest();
    }
예제 #24
0
    public void RepaymentTodashida()
    {
        if (progress != PROGRESS.START)
        {
            return;
        }

        if (TimeManager.instance.timezone == TimeManager.TIMEZONE.NIGHT)
        {
            Comment.instance.CommentPrint("상환 가능한 시간이 아닙니다");
            NPCdashida.AddObject("Quest_DailyRepayment", "RepaymentTodashida");
            return;
        }

        CoinManager coinmanager = FindObjectOfType <CoinManager>();

        if (coinmanager.coin >= loanBase + loanInt)
        {
            coinmanager.coin -= loanBase + loanInt;

            Comment.instance.CommentPrint("다행히 시간안에 가져오셨군요\n오늘은 무서운일이 일어나지 않을거에요");
            FindObjectOfType <ChasingAtNight>().notToNight = true;
            QuestManager.instance.RemoveQueset(questName);
            ResetQusetList();
            progress = PROGRESS.END;
            PlayerPrefs.SetInt(save, (int)progress);
            ATMManager atm = FindObjectOfType <ATMManager>();
            atm.ATM -= loanBase;
            FindObjectOfType <CoinManager>().ATMaddcoin(loanBase);
            atm.CheckATM();
            atm.CheckCOIN();
            atm.SaveATMcoin();
        }
        else
        {
            Comment.instance.CommentPrint("아직 상환액을 모으지 못했어요\n시간이 계속 흐른답니다\n늦으면 큰일난다구요!");
            NPCdashida.AddObject("Quest_DailyRepayment", "RepaymentTodashida");
        }
    }
예제 #25
0
    //퀘스트 1_2 움막을 짓자 진행 부분
    IEnumerator QuestStart()
    {
        yield return(null);

        if (progress != PROGRESS.START)
        {
            yield break;
        }

        StopInput();

        Comment.instance.CommentPrint("'재수없는 다시마에게서 움막을 받았다. \n움막설치를 원하는 장소에서 \n퀘스트창을 열고 텐트를 눌러서 사용해보자'");

        //퀘스트 내용이 다 나오고 움직임 재생부분
        StartInput();

        QuestManager.instance.AddQuest(questName, "움막설치를 원하는 장소에서 퀘스트창을 열고 텐트를 사용해보자", "itemIcon/80000011", "Quest1_2", "UsingQuest");
        PlayerFunctions.instance.SetDefaultInput();

        progress = PROGRESS.GOING;
        PlayerPrefs.SetInt(save, (int)progress);
    }
예제 #26
0
파일: Quest3.cs 프로젝트: phsmax/Portfolio
    public void Dashida_Answer()
    {
        if (progress != PROGRESS.START)
        {
            return;
        }

        bool isbool = false;
        int  idx    = 0;

        for (int i = 0; i < Inventory.instance.inventoryItemList.Count; i++)
        {
            if (Inventory.instance.inventoryItemList[i].itemID == 10000023)
            {
                if (Inventory.instance.inventoryItemList[i].itemCount >= 10)
                {
                    isbool = true;
                    idx    = i;
                }
            }
        }
        if (isbool)
        {
            StartCoroutine(DoneComment());

            GetComponent <Quest3_1>().LaunchingQuest();
            GetComponent <Quest3_2>().LaunchingQuest();

            progress = PROGRESS.END;
            PlayerPrefs.SetInt(save, (int)progress);
            QuestManager.instance.RemoveQueset(questName);
            ResetQusetList();
        }
        else
        {
            Comment.instance.CommentPrint("\"10개가 무슨말인지 모르시나요?\n버섯 10개를 모아오세요\"");
            NPCdashida.AddObject("Quest3", "Dashida_Answer");
        }
    }
        public static IQueryable <PROGRESS_ITEMProjection> JoinRATESAndPROGRESS_ITEMSOnBASELINE_ITEMS(IQueryable <BASELINE_ITEM> BASELINE_ITEMS, Func <PROGRESS> getPROGRESSFunc, Func <BASELINE> getBASELINEFunc, Func <IQueryable <PROGRESS_ITEM> > getPROGRESS_ITEMSFunc, Func <IQueryable <RATE> > getRATESFunc, bool isBASELINEQueryProcessed = false)
        {
            BASELINE BASELINE = getBASELINEFunc();
            PROGRESS PROGRESS = getPROGRESSFunc();

            IQueryable <RATE> RATES = getRATESFunc();

            IQueryable <PROGRESS_ITEM> LoadPROGRESS_ITEMS;

            if (PROGRESS == null)
            {
                LoadPROGRESS_ITEMS = getPROGRESS_ITEMSFunc().Where(x => x.GUID_PROGRESS == Guid.Empty).ToArray().AsQueryable();
            }
            else
            {
                LoadPROGRESS_ITEMS = getPROGRESS_ITEMSFunc().ToArray().AsQueryable();
            }

            IQueryable <BASELINE_ITEMProjection> BASELINE_ITEMJoinRATES;

            if (PROGRESS == null)
            {
                BASELINE_ITEMJoinRATES = BASELINE_ITEMProjectionQueries.JoinRATESOnBASELINE_ITEMS(BASELINE_ITEMS.Where(x => x.GUID == Guid.Empty), getBASELINEFunc, getRATESFunc, true);
            }
            else
            {
                BASELINE_ITEMJoinRATES = BASELINE_ITEMProjectionQueries.JoinRATESOnBASELINE_ITEMS(BASELINE_ITEMS, getBASELINEFunc, getRATESFunc, isBASELINEQueryProcessed);
            }

            DateTime reportingDate = PROGRESS == null ? new DateTime() : PROGRESS.DATA_DATE;

            return(BASELINE_ITEMJoinRATES.ToArray().AsQueryable().Select(x => new PROGRESS_ITEMProjection()
            {
                GUID = x.GUID, BASELINE_ITEMJoinRATE = x, ReportingDataDate = reportingDate, PROGRESS_ITEMS = LoadPROGRESS_ITEMS.Where(y => y.GUID_ORIBASEITEM == x.BASELINE_ITEM.GUID_ORIGINAL).ToArray().AsEnumerable()
            }));
        }
예제 #28
0
    void Update()
    {
        elapsedTime += Time.deltaTime;
        if (progress != PROGRESS.START && progress != PROGRESS.SHELTER)
        {
            slider.value += Time.deltaTime;
        }
        switch (progress)
        {
        //게임 시작
        case PROGRESS.START:
            if (elapsedTime >= 2)
            {
                Instantiate(StartLogo);
                progress    = PROGRESS.Stage0;
                elapsedTime = 0f;
            }
            break;

        case PROGRESS.SHELTER:
        {
            // 업그레이드 선택 대기 상태
            //선택 하면 다음 페이즈로 이동
            if (StartStage == true)
            {
                ScrollStart();
                audioSource.Play();
                switch (StageCount)
                {
                case 1:
                    progress    = PROGRESS.Stage1;
                    WavePattern = EnemyPattern.Stage1Enemy;
                    StartStage  = false;
                    break;

                case 2:
                    progress    = PROGRESS.Stage2;
                    WavePattern = EnemyPattern.Stage2Enemy;
                    StartStage  = false;
                    break;

                case 3:
                    progress    = PROGRESS.Stage3;
                    WavePattern = EnemyPattern.Stage3Enemy;
                    StartStage  = false;
                    break;

                case 4:
                    progress    = PROGRESS.Stage4;
                    WavePattern = EnemyPattern.Stage4Enemy;
                    StartStage  = false;
                    break;
                }
            }
        }
        break;

        case PROGRESS.Stage0:
            TotalTime += Time.deltaTime;

            if (nextPhaseStarted == false)
            {
                // playerHealth.hp = 10;
                slider.value     = 0;
                slider.maxValue  = 10;
                nextPhaseStarted = true;
            }

            if (elapsedTime >= 10)
            {
                //쉘터 선택
                while (true)
                {
                    int sel = Random.Range(0, 5);
                    if (!used[sel])
                    {
                        Shelter   = Shelters[sel];
                        used[sel] = true;
                        break;
                    }
                }
                Instantiate(Shelter);
                progress         = PROGRESS.SHELTER;
                StageCount       = 1;
                elapsedTime      = 0f;
                nextPhaseStarted = false;
            }
            break;

        case PROGRESS.Stage1:
            TotalTime += Time.deltaTime;

            if (nextPhaseStarted == false)
            {
                // playerHealth.hp = 10;
                slider.value     = 0;
                slider.maxValue  = 100;
                nextPhaseStarted = true;
            }

            switch (WavePattern)
            {
            case EnemyPattern.Stage1Enemy:

                if (elapsedTime >= 5f)
                {
                    SpawnPattern(EnemyPattern.Stage1Enemy);
                    elapsedTime = 0f;
                    Count++;
                }
                break;
            }
            if (Count == 20)
            {
                StopCoroutine("Stage1Enemy");
                //쉘터 선택
                while (true)
                {
                    int sel = Random.Range(0, 5);
                    if (!used[sel])
                    {
                        Shelter   = Shelters[sel];
                        used[sel] = true;
                        break;
                    }
                }
                Instantiate(Shelter);
                progress         = PROGRESS.SHELTER;
                StageCount       = 2;
                Count            = 0;
                elapsedTime      = 0f;
                nextPhaseStarted = false;
            }
            break;

        case PROGRESS.Stage2:
            TotalTime += Time.deltaTime;

            if (nextPhaseStarted == false)
            {
                // playerHealth.hp = 10;
                slider.value     = 0;
                slider.maxValue  = 100;
                nextPhaseStarted = true;
            }

            // 적 생성
            switch (WavePattern)
            {
            case EnemyPattern.Stage2Enemy:

                if (elapsedTime >= 5f)
                {
                    SpawnPattern(EnemyPattern.Stage2Enemy);
                    elapsedTime = 0f;
                    Count++;
                }
                break;
            }
            if (Count == 24)
            {
                StopCoroutine("Stage2Enemy");
                //쉘터 선택
                while (true)
                {
                    int sel = Random.Range(0, 5);
                    if (!used[sel])
                    {
                        Shelter   = Shelters[sel];
                        used[sel] = true;
                        break;
                    }
                }
                Instantiate(Shelter);
                progress    = PROGRESS.SHELTER;
                StageCount  = 3;
                Count       = 0;
                elapsedTime = 0f;

                nextPhaseStarted = false;
            }
            break;

        case PROGRESS.Stage3:
            TotalTime += Time.deltaTime;

            if (nextPhaseStarted == false)
            {
                // playerHealth.hp = 10;
                slider.value     = 0;
                slider.maxValue  = 180;
                nextPhaseStarted = true;
            }

            // 적 생성
            switch (WavePattern)
            {
            case EnemyPattern.Stage3Enemy:

                if (elapsedTime >= 5f)
                {
                    SpawnPattern(EnemyPattern.Stage3Enemy);
                    elapsedTime = 0f;
                    Count++;
                }
                break;
            }
            if (Count == 36)
            {
                StopCoroutine("Stage3Enemy");

                Instantiate(Shelter);
                progress         = PROGRESS.SHELTER;
                StageCount       = 4;
                Count            = 0;
                elapsedTime      = 0f;
                nextPhaseStarted = false;
            }
            break;

        case PROGRESS.Stage4:
            TotalTime += Time.deltaTime;


            if (nextPhaseStarted == false)
            {
                // playerHealth.hp = 10;
                slider.value     = 0;
                slider.maxValue  = 180;
                nextPhaseStarted = true;
            }

            // 적 생성
            switch (WavePattern)
            {
            case EnemyPattern.Stage4Enemy:

                if (elapsedTime >= 4f)
                {
                    SpawnPattern(EnemyPattern.Stage4Enemy);
                    elapsedTime = 0f;
                    Count++;
                }
                break;
            }
            if (Count == 36)
            {
                StopCoroutine("Stage4Enemy");

                Instantiate(ArrivePlanet);

                StageCount  = 4;
                Count       = 0;
                elapsedTime = 0f;
            }
            break;

        case PROGRESS.BOSS:

            break;
        }
    }
예제 #29
0
 protected override void Start()
 {
     base.Start();
     progress = (PROGRESS)PlayerPrefs.GetInt(save, 0);
 }
 /// <summary>
 /// CallBack to apply global convention
 /// </summary>
 public void PROJECTPROGRESSES_OnBeforeEntitySaved(PROGRESS entity)
 {
     entity.DATA_DATE = entity.DATA_DATE.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
 }