Ejemplo n.º 1
0
    public void InitStartUI()
    {
        newStartWarnPanel.SetActive(false);
        if (SaveManager.GetInstance().IsThereSavedGame())
        {
            hasSavedGame   = true;
            loadedGameDate = SaveManager.GetInstance().GetSavedDate();
            SetStartBtn(loadedGameDate);
        }
        else
        {
            SetStartBtn(null);
        }
        switch (LanguageManager.GetInstance().Language)
        {
        case E_Language.KOREAN:
            korBtn.interactable = false;
            engBtn.interactable = true;
            break;

        case E_Language.ENGLISH:
            engBtn.interactable = false;
            korBtn.interactable = true;
            break;
        }

        StartTextSetting();
    }
Ejemplo n.º 2
0
 public Schedule(Airport departure, Airport destination, Airplane airplane, InGameTime departureTime)
 {
     this.departure     = departure;
     this.destination   = destination;
     this.airplane      = airplane;
     this.departureTime = departureTime;
 }
Ejemplo n.º 3
0
    public void SetExpireAfterDays(int days)
    {
        InGameTime exTemp = InGameTimeManager.GetInstance().GetNowTime();

        exTemp.PlusDays(days);
        exTemp.SetInGameTimeHourMin((uint)(Random.Range(Constant.dayStartHour, (Constant.dayEndHour - 1))), 0);
        expireDate = exTemp;
    }
Ejemplo n.º 4
0
 public void SetOrderDate(uint year, uint month, uint day, uint hour, uint minute)
 {
     if (orderDate == null)
     {
         orderDate = new InGameTime(year, month, day, hour, minute);
         return;
     }
     orderDate.SetInGameTime(year, month, day, hour, minute);
 }
Ejemplo n.º 5
0
 public void SetExpireDate(uint year, uint month, uint day, uint hour, uint minute)
 {
     if (expireDate == null)
     {
         expireDate = new InGameTime(year, month, day, hour, minute);
         return;
     }
     expireDate.SetInGameTime(year, month, day, hour, minute);
 }
 private void Awake()
 {
     player      = FindObjectOfType <Player>();
     viewInfo    = FindObjectOfType <ShowDetails>();
     mainGov     = FindObjectOfType <MainGovernment>();
     clock       = FindObjectOfType <InGameTime>();
     alertSystem = FindObjectOfType <AlertSystem>();
     cities      = new List <City>(FindObjectsOfType <City>());
 }
Ejemplo n.º 7
0
    /*
     * 퀘스트 목록 셑팅
     */
    void InitQuestList()
    {
        questCap = 0;

        for (int i = 0; i < questsListContent.transform.childCount; i++)
        {
            Destroy(questsListContent.transform.GetChild(i).gameObject);
        }

        List <Quest> nowQuests = QuestManager.GetInstance().GetNowWrittenQuestList();

        InGameTime nowTime = InGameTimeManager.GetInstance().GetNowTime();

        var hq = from q in nowQuests
                 where q.ExpireDate.GetDays() > nowTime.GetDays() + 1   //현재 일 보다 이틀 많은 일 수 (헌터의 만기는 의뢰인의 만기보다 하루 빨라야함.)
                 select q;

        List <Quest> hunterAbleQuesttemp = hq.ToList <Quest>(); //이 헌터가 수임 가능한 퀘스트만 고른것 (만기 상태가)

        hunterAbleQuest = new List <Quest>();

        for (int i = 0; i < hunterAbleQuesttemp.Count; i++)
        {
            hunterAbleQuest.Add(hunterAbleQuesttemp[i]);
        }

        for (int i = 0; i < hunterAbleQuest.Count; i++)
        {
            //대체가 도대체 어째서 i를 쓰면 0 번째 자리에서도 i 맨 마지막이 들어가는 거야????????
            int        num       = i;
            GameObject iqBtnTemp = Instantiate(iquestBtn, questsListContent.transform);
            SetTxtsIQBtn(hunterAbleQuest[num], iqBtnTemp);  //퀘스트 버튼.

            Quest a = hunterAbleQuest[num];

            iqBtnTemp.GetComponent <Button>().onClick.AddListener(
                () =>
            {
                qradio.SelectIQBtn(
                    num, questsListContent,
                    () =>
                {
                    AudioThing.GetInstance().PlaySFX(AudioThing.E_SFX.SLIDE);
                    //    Debug.Log(i + "번째 온클릭 란다식 메소드 진입."
                    //      + hunterAbleQuest[num].ToString()
                    //       );
                    OnClickIQBtn(hunterAbleQuest[num], num);            //왜 이 헌터에이블에 접근을 못하지?
                    //도대체 왜 a 대신 hunterAbleQuest[i] 로 들어가면 접근을 못핮;???????????????????
                }
                    );
            }
                );

            qradio.SetQDic(num, hunterAbleQuest[num]);
        }
    }
Ejemplo n.º 8
0
    public static InGameTime GetOnlyOneDayMinus(InGameTime subjectIGT)
    {
        uint dateMinusOneDay = 0;
        uint days            = ((subjectIGT.Year * 360) + (subjectIGT.Month * 30) + subjectIGT.Day);

        days--;
        dateMinusOneDay = (days * (24 * 60)) + (subjectIGT.hour * 60) + subjectIGT.Minute;

        return(InGameTime.GetInGameTimeByStamp(dateMinusOneDay));
    }
Ejemplo n.º 9
0
    // Use this for initialization
    private void Start()
    {
        Color day = night;

        day.a = 0;

        InGameTime clock = ServiceLocator.Instance.GetClock();

        clock.OnDay.AddListener(delegate { StartCoroutine(StartAnimation(night, day)); });
        clock.OnNight.AddListener(delegate { StartCoroutine(StartAnimation(day, night)); });
        mapOverlay.color = day;
    }
Ejemplo n.º 10
0
 void SetStartBtn(InGameTime date)
 {
     if (date == null)  //처음 시작임
     {
         continueStartBtn.SetActive(false);
         newStartBtn.SetActive(true);
         return;
     }
     SetContinueDateTxt(date);
     continueStartBtn.SetActive(true);
     newStartBtn.SetActive(false);
 }
Ejemplo n.º 11
0
    public int GetDaysGap(InGameTime subject)
    {
        uint days = 0;

        days = GetDays();;

        uint sjdays = 0;

        sjdays = subject.GetDays();

        return(((int)days) - ((int)sjdays));
    }
Ejemplo n.º 12
0
 private void handleTimeEvent(object sender, EventArgs e)
 {
     foreach (Schedule schedule in schedules)
     {
         if (InGameTime.isTimesEqual(schedule.getDepartureTime(), TimeController.instance.getTime()))
         {
             GameObject airplaneGameObject = (GameObject)Instantiate(airplanePrefab, schedule.getDeparture().getPosition(), Quaternion.identity, this.transform);
             airplaneGameObject.GetComponent <SelectionHandler>().setPlane();
             airplaneToGameObjectMap.Add(schedule.getAirplane(), airplaneGameObject);
             openAir.Add(schedule.getAirplane(), schedule);
         }
     }
 }
Ejemplo n.º 13
0
    void SetQuestBtnTexts(GameObject btn, Quest quest)
    {
        btn.transform.GetChild(0).GetComponent <Text>().text = quest.ClientName;
        btn.transform.GetChild(1).GetComponent <Text>().text = quest.GetWeight().ToString();
        InGameTime expireDate = quest.ExpireDate;   //헌터의 만기일인 하루전으로 셋팅해야함.

        btn.transform.GetChild(2).GetComponent <Text>().text = LanguageManager.GetInstance().GetDateString(expireDate);

        /*
         * Debug.LogFormat("퀘스트 의뢰인 이름 = {0} , 퀘스트의 만기는 ={1} , 퀘스트의 요구 능력치 = {2} , 헌터에게 적용할 하루 뺀 만기는 = {3}",
         *  quest.ClientName, quest.ExpireDate, quest.GetWeight().ToString(), expireDate
         *  );*/
        btn.transform.GetChild(4).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("qbtn", "client");      //의뢰인
        btn.transform.GetChild(5).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("qbtn", "cap");         //요구능력치
        btn.transform.GetChild(6).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("inven", "qbtnexpire"); //헌터만기
    }
Ejemplo n.º 14
0
    public string GetDateString(InGameTime date)
    {
        string str = "";

        switch (lang)
        {
        case E_Language.KOREAN:
            str = date.Year.ToString() + "년 " + date.Month.ToString() + "월 " + date.Day.ToString() + "일";
            break;

        case E_Language.ENGLISH:
            str = englishMonthDic[(int)date.Month] + " " + date.Day + " ," + date.Year;
            break;
        }
        return(str);
    }
Ejemplo n.º 15
0
    void SetTxtsIQBtn(Quest quest, GameObject iqBtnGo)  //나중에 퀘스트 버튼의 제너럴 텍스트를 맞춰줘야함.
    {
        iqBtnGo.transform.GetChild(0).GetComponent <Text>().text = quest.ClientName;
        iqBtnGo.transform.GetChild(1).GetComponent <Text>().text = quest.GetWeight().ToString();
        InGameTime expireDate = quest.ExpireDate;   //헌터의 만기일인 하루전으로 셋팅해야함.

        expireDate = InGameTime.GetOnlyOneDayMinus(expireDate);

        iqBtnGo.transform.GetChild(2).GetComponent <Text>().text = LanguageManager.GetInstance().GetDateString(expireDate);

        Debug.LogFormat("퀘스트 의뢰인 이름 = {0} , 퀘스트의 만기는 ={1} , 퀘스트의 요구 능력치 = {2} , 헌터에게 적용할 하루 뺀 만기는 = {3}",
                        quest.ClientName, quest.ExpireDate, quest.GetWeight().ToString(), expireDate
                        );
        iqBtnGo.transform.GetChild(4).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("qbtn", "client"); //의뢰인
        iqBtnGo.transform.GetChild(5).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("qbtn", "cap");    //요구능력치
        iqBtnGo.transform.GetChild(6).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("qbtn", "expire"); //헌터만기
    }
    void ClientCommissionCheckCalculateLastincome()   //만기여부와 등등을 고려하여 정산할것!! 클라이언트가 qc 정산 하는 단계!
    {
        ClientIdea client = CharactorFrame.GetInstance().clientIdea;
        int        outDue = 0;

        if (client.haveComeBeforeExpire)
        {
            InGameTime clientExpire = client.GetExpire();
            InGameTime nowTime      = InGameTimeManager.GetInstance().GetNowTime();
            outDue = nowTime.GetDaysGap(clientExpire);
        }
        int lastClientPayment = PayFormula.CalculateClientRequestLastPayment(client.OriginOrderedQuest,
                                                                             client.DaysExpire,
                                                                             EventParameterStorage.GetInstance().QuestCompareCompleteness, outDue);

        GoldManager.GetInstance().AdjustGold(lastClientPayment, GoldManager.E_PayType.FROM_CLIENT);
    }
Ejemplo n.º 17
0
        static void Main(string[] args)
        {
            Console.WriteLine("CustomInGameTime Test");
            InGameTime inGameTimeEngine = new InGameTime(DateTime.Today);

            Console.Write("Using Today ({0}) inGame Time is ", DateTime.Today);
            Print(inGameTimeEngine.CurrentInGameDate);
            Console.WriteLine();
            Console.WriteLine("stamp\t  24hr           12hr  ");
            for (int i = 0; i < 1440; i++)
            {
                inGameTimeEngine.Update(60.0f);//adding 60 seconds to the timestamp
                Print(inGameTimeEngine.CurrentInGameDate);
            }
            Console.WriteLine("CustomInGameTime Test Finished");
            Console.ReadLine();
        }
Ejemplo n.º 18
0
    public void DeleteSavedGame()   //저장된 게임 지워버리기.
    {
#if UNITY_ANDROID
        st        = null;
        savedDate = null;
        savedGame = false;
        savedLang = E_Language.KOREAN;
        // if (!IsThereSavedGame()) return;

        if (false == PlayGamesPlatform.Instance.localUser.authenticated)
        {
            PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().EnableSavedGames().Build();
            PlayGamesPlatform.InitializeInstance(config);
            PlayGamesPlatform.DebugLogEnabled = true;
            PlayGamesPlatform.Activate();
            Social.localUser.Authenticate((bool success, string msg) =>
            {
                if (false == success)
                {
                    Debug.Log("딜리트 실패 - 로그인 불가");
                    //   return;
                }
            });
        }

        ISavedGameClient saveClient = PlayGamesPlatform.Instance.SavedGame;
        saveClient.OpenWithAutomaticConflictResolution(Constant.saveFileNameInGPGSCloud, DataSource.ReadCacheOrNetwork, ConflictResolutionStrategy.UseMostRecentlySaved, (status, metaData) =>
        {
            if (status != SavedGameRequestStatus.Success)
            {
                Debug.Log("삭제 실패 - 메타데이타 오픈 불가");
                // return;
            }
            else
            {
                saveClient.Delete(metaData);
            }
        });
        return;
#else
        File.Delete(Constant.saveDataAllPath);
#endif
    }
Ejemplo n.º 19
0
    private void Start()
    {
        this.alertSystem = ServiceLocator.Instance.GetAlertSystem();
        foreach (City c in ServiceLocator.Instance.GetCities())
        {
            c.OnEndRaiding.AddListener(delegate { RestoreTyranny(80); });
            c.OnEndPacifying.AddListener(delegate { RestoreTyranny(150); });
            c.OnEndInfiltrating.AddListener(delegate { RestoreTyranny(10); });
            c.OnEndEndingDemonstrations.AddListener(delegate { RestoreTyranny(250); });
            c.OnEndGenocide.AddListener(delegate { RestoreTyranny(300); });
        }
        InGameTime clock = ServiceLocator.Instance.GetClock();

        clock.OnDaily.AddListener(delegate
        {
            Survey();
            Strategy();
            EndSurvey();
        });
        currentTyranny = TotalTyranny;
    }
    public void HunterInquireQuestSubmit(string Qkey, bool didDetermined, List <Weapon> rentalSelected) //헌터에게 퀘스트를 맡기고 렌탈등과 퀘스트 등과 선택 했을 때.
    {
        if (!didDetermined)                                                                             //ui에서 제출이면 true 인자로 넣어서 보내주기!
        {
            EventParameterStorage.GetInstance().PlayerChoice = false;
            CharactorFrame.GetInstance().UpdateFSM();
            return;
        }

        EventParameterStorage.GetInstance().PlayerChoice = true;
        HunterIdea hunter        = CharactorFrame.GetInstance().hunterIdea;
        Quest      selectedQuest = QuestManager.GetInstance().GetQuest(Qkey);

        //본래 퀘스트의 만기보다 하루 빨리. 그리고 10시~ 17시 사이를 랜덤으로 지정.
        InGameTime dayOneMinus  = InGameTime.GetOnlyOneDayMinus(selectedQuest.ExpireDate);
        uint       hour         = (uint)Random.Range(Constant.dayStartHour, Constant.dayEndHour - 1);
        InGameTime hunterExpire = new InGameTime(dayOneMinus.Year, dayOneMinus.Month, dayOneMinus.Day, hour, 0);

        hunter.SetHasCommission(Qkey);
        hunter.SetHuntExpireDay(hunterExpire);

        if (rentalSelected != null)
        {
            //렌탈 처리 해주기.
            hunter.SetRentalTheseWeapon(rentalSelected);
            Inventory.GetInstance().RemoveWeaponsFromInven(rentalSelected);//렌탈해간 물건들 인벤에서 뺴주는 처리.
        }

        WholeMonsterRiskManager.GetInstance().AddHunter(hunter);    //수임을 받은날 위협도 매니져에서 일함.(그 날의 데이오프 부터)

        QuestRoomSceneUIManager.GetInstance().OnlyShowMainUIOrigin();

        int deposit = PayFormula.CalculateHuntDeposit(selectedQuest, hunter.GetHunterExpireGap());   //헌터 착수금 지불.

        GoldManager.GetInstance().AdjustGold(-1 * deposit, GoldManager.E_PayType.TO_HUNTER);

        CharactorFrame.GetInstance().UpdateFSM();
    }
Ejemplo n.º 21
0
    public void SavePrepare()
    {
        lang  = LanguageManager.GetInstance().Language;
        golds = GoldManager.GetInstance().Gold;
        goldRunOutContinuityDays = GameEndJudgeManager.GetInstance().GoldRunOutContinuityDays;
        threatMaxContinuityDays  = GameEndJudgeManager.GetInstance().ThreatMaxContinuityDays;
        savedDate = InGameTimeManager.GetInstance().GetNowTime();

        charactorList_Client = CharactorManager.GetInstance().GetClientListSave();
        charactorList_Hunter = CharactorManager.GetInstance().GetHunterListSave();

        questDic          = QuestManager.GetInstance().QuestDic;
        inventoryMobEvi   = Inventory.GetInstance().MobEvidenceInven;
        inventoryWeapon   = Inventory.GetInstance().GetWeaponInvenSave();
        threatState       = WholeMonsterRiskManager.GetInstance().MonsterRiskList;
        threatHunters     = WholeMonsterRiskManager.GetInstance().HuntersWhohaveQuest;
        phaseMobShowedUp  = PhaseManager.GetInstance().MobShowedUp;
        phaseMobOpen      = PhaseManager.GetInstance().MobOpen;
        phaseEvidenceOpen = PhaseManager.GetInstance().EvidenceOpen;
        phaseUpgradeOpen  = PhaseManager.GetInstance().UpgradeOpen;
        phaseInteriorOpen = PhaseManager.GetInstance().InteriorOpen;

        distributedNames = TextManager.GetInstance().DistributedNames;
    }
Ejemplo n.º 22
0
    /// <summary>
    /// Dumping the game state forces all properties to be initialized to their current state.
    /// </summary>
    /// <returns>The dump.</returns>
    public string Dump()
    {
        StringBuilder sb = new StringBuilder();

        sb.Append(CurrentRoom + "#");
        sb.Append(CurrentPosition.x.ToString() + "#");
        sb.Append(CurrentPosition.y.ToString() + "#");
        sb.Append(RestartPosition.x.ToString() + "#");
        sb.Append(RestartPosition.y.ToString() + "#");
        sb.Append(RoomStateSummary + "#");
        sb.Append(ItemsCollected.ToString() + "#");
        sb.Append(CreaturesKilled.ToString() + "#");
        sb.Append(LivesRemaining.ToString() + "#");
        sb.Append(InGameTime.ToShortTimeString() + "#");
        sb.Append(MaidGivenInstructions.ToString() + "#");
        sb.Append(MaidGivenWarning.ToString() + "#");
        sb.Append(MaidReceivedItems.ToString() + "#");
        sb.Append(BedReached.ToString() + "#");
        sb.Append(PlayerHasTheWeapon.ToString() + "#");
        sb.Append(DisableMusic.ToString() + "#");
        sb.Append(DisableSoundEffects.ToString() + "#");
        sb.Append(DifficultyMultiplier.ToString());
        return(sb.ToString());
    }
Ejemplo n.º 23
0
 public void SetHuntExpireDay(InGameTime huntExpire)
 {
     questHuntExpireDay = huntExpire;
 }
Ejemplo n.º 24
0
 void SetContinueDateTxt(InGameTime date)
 {
     continueBtnDateText.text = LanguageManager.GetInstance().GetDateString(date);
 }
Ejemplo n.º 25
0
    public void Init()
    {
        if (false == PlayGamesPlatform.Instance.localUser.authenticated)
        {
            PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().EnableSavedGames().Build();
            PlayGamesPlatform.InitializeInstance(config);
            PlayGamesPlatform.DebugLogEnabled = true;
            PlayGamesPlatform.Activate();
            Social.localUser.Authenticate((bool success, string msg) =>
            {
                if (false == success)
                {
                    Debug.Log(" 실패 - 로그인 불가");
                    return;
                }
            });
        }
        st        = null;
        savedGame = false;
        savedDate = null;
        savedLang = E_Language.ENGLISH;


        ISavedGameClient saveClient = PlayGamesPlatform.Instance.SavedGame;
        object           n          = new object();

        lock (n)
        {
            saveClient.OpenWithAutomaticConflictResolution(Constant.saveFileNameInGPGSCloud, DataSource.ReadCacheOrNetwork, ConflictResolutionStrategy.UseMostRecentlySaved, (status, metaData) =>
            {
                if (status == SavedGameRequestStatus.Success)
                {
                    Debug.Log("세이브매니저 이닛 - 게임 오픈 성공");
                    saveClient.ReadBinaryData(metaData, (readStatus, savedByteArr) =>
                    {
                        if (readStatus == SavedGameRequestStatus.Success)
                        {
                            Debug.Log("세이브매니저 이닛 - 게임 읽어오기 성공");
                            if (savedByteArr.Length == 0)
                            {
                                Debug.Log("세이브매니저 이닛 - 게임 읽어오기 성공 - 바이트 데이타 길이가 0 이라서 빠져나감.");
                                savedGame = false;
                                savedDate = null;
                                savedLang = E_Language.ENGLISH;
                                GameManager.GetInstance().SendMessage("saveInitDone");
                                return;
                            }
                            BinaryFormatter bt = new BinaryFormatter();
                            MemoryStream ms    = new MemoryStream(savedByteArr);
                            st = bt.Deserialize(ms) as SaveStructure;
                            if (st != null)
                            {
                                savedGame = true;
                                savedDate = InGameTime.DeepCopy(st.savedDate);
                                savedLang = st.lang;
                                Debug.Log("세이브매니저 이닛 - 게임 읽어오기 저장한 애 읽어오기 까지 성공 저장날짜=" + savedDate + "저장 언어" + savedLang);
                                GameManager.GetInstance().SendMessage("saveInitDone");
                            }
                            else
                            {
                                Debug.Log("세이브매니저 이닛 - 게임 읽어오기 저장한 애 읽어오기에서 실패");
                                savedGame = false;
                                savedDate = null;
                                savedLang = E_Language.ENGLISH;
                                GameManager.GetInstance().SendMessage("saveInitDone");
                            }
                            ms.Dispose();
                            ms.Close();
                        }
                        else
                        {
                            savedGame = false;
                            savedDate = null;
                            savedLang = E_Language.ENGLISH;
                            Debug.Log("세이브매니저 이닛 - 게임 읽어오기자체가 실패");
                            GameManager.GetInstance().SendMessage("saveInitDone");
                        }
                    });
                }
            });
        }
    }
Ejemplo n.º 26
0
    public void SaveGame()
    {
        SaveStructure saveST = new SaveStructure();

        saveST.SavePrepare();
#if UNITY_ANDROID
        if (false == PlayGamesPlatform.Instance.localUser.authenticated)
        {
            PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().EnableSavedGames().Build();
            PlayGamesPlatform.InitializeInstance(config);
            PlayGamesPlatform.DebugLogEnabled = true;
            PlayGamesPlatform.Activate();
            Social.localUser.Authenticate((bool success, string msg) =>
            {
                if (false == success)
                {
                    Debug.Log("저장 실패 - 로그인 불가");
                    return;
                }
            });
        }
        Debug.Log("로그인 돼있음");
        BinaryFormatter bt = new BinaryFormatter();
        MemoryStream    ms = new MemoryStream();
        bt.Serialize(ms, saveST);
        byte[] savingData = ms.ToArray();
        Debug.Log("시리얼라이즈 - 현재 세이빙 데이타 랭쓰" + savingData.Length);
        ms.Dispose();
        ms.Close();
        Debug.Log("시리얼라이즈 완료 , 스트림 클로즈 후 " + savingData.Length);
        ISavedGameClient saveClient = PlayGamesPlatform.Instance.SavedGame;


        saveClient.OpenWithAutomaticConflictResolution(Constant.saveFileNameInGPGSCloud, DataSource.ReadCacheOrNetwork, ConflictResolutionStrategy.UseMostRecentlySaved, (status, metaData) =>
        {
            if (status != SavedGameRequestStatus.Success)
            {
                Debug.Log("저장 실패 - 메타데이타 오픈 불가");
                return;
            }
            Debug.Log("메타데이타 오픈.");

            SavedGameMetadataUpdate updatedMetaData = new SavedGameMetadataUpdate.Builder().WithUpdatedDescription(DateTime.Now + "at saved").Build();
            Debug.Log("저장 준비- 현재 세이빙데이타 렝쓰 " + savingData.Length);
            saveClient.CommitUpdate(metaData, updatedMetaData, savingData, (saveStatus, newMetaData) =>
            {
                if (status != SavedGameRequestStatus.Success)
                {
                    Debug.Log("저장 실패 - 저장이 불가");
                    //    return;
                }
                else
                {
                    st        = saveST;
                    savedLang = saveST.lang;
                    savedGame = true;
                    savedDate = InGameTime.DeepCopy(saveST.savedDate);
                    Debug.Log("저장 성공");
                }
            });
        });
#else
        BinaryFormatter bt   = new BinaryFormatter();
        FileStream      file = File.Create(Constant.saveDataAllPath);
        bt.Serialize(file, saveST);
        file.Close();
#endif
    }
Ejemplo n.º 27
0
 public void SetHuntTakeOnDay(InGameTime huntTake)
 {
     questTakeOnDay = huntTake;
 }
Ejemplo n.º 28
0
 public static InGameTime DeepCopy(InGameTime sub)
 {
     return(new InGameTime(sub.Year, sub.Month, sub.Day, sub.hour, sub.minute));
 }
Ejemplo n.º 29
0
    public void SetOrderDateAtNowTime()
    {
        InGameTime orTemp = InGameTimeManager.GetInstance().GetNowTime();

        orderDate = orTemp;
    }
Ejemplo n.º 30
0
        public static void Server(string text, Player source, ServerUDP server)
        {
            string parameter = string.Empty;
            string command   = text.Substring(1);

            if (command.Contains(" "))
            {
                int spaceIndex = command.IndexOf(" ");
                parameter = command.Substring(spaceIndex + 1);
                command   = command.Substring(0, spaceIndex);
            }

            switch (command.ToLower())
            {
            case "spawn":
                var entityUpdate = new EntityUpdate()
                {
                    guid     = source.entityData.guid,
                    position = new Resources.Utilities.LongVector()
                    {
                        x = 543093329157,
                        y = 546862296355,
                        z = 14423162
                    }
                };
                server.SendUDP(entityUpdate.Data, source);
                break;

            case "load":
                server.worldUpdate.Write(source.writer);
                break;

            case "ban":
                ushort guid = 0;
                if (!source.admin || !ushort.TryParse(parameter, out guid))
                {
                    break;
                }
                break;

            case "time":
                try {
                    int index  = parameter.IndexOf(":");
                    int hour   = Convert.ToInt32(parameter.Substring(0, index));
                    int minute = Convert.ToInt32(parameter.Substring(index + 1));

                    var inGameTime = new InGameTime()
                    {
                        Time = (hour * 60 + minute) * 60000
                    };
                    server.SendUDP(inGameTime.data, source);
                } catch (Exception) {
                    //invalid syntax
                }
                break;

            case "set":
                break;

            default:
                break;
            }
        }