Beispiel #1
0
 public TurnMe(FFACETools.FFACE fface)
 {
     this.fface = fface;
 }
Beispiel #2
0
 /// <summary>
 /// ヴァナ時間のTicksを取得
 /// </summary>
 /// <param name="iVanaDate">ヴァナ日付</param>
 /// <returns>Ticks</returns>
 private static long getVanaTicks(FFACETools.FFACE.TimerTools.VanaTime iVanaDate)
 {
     long baseTicks = (886L * 360L * 24L * 60L * 60L) + (30L * 24L * 60L * 60L) + (24L * 60L * 60L);
     long vanaTicks = (iVanaDate.Year * 12L * 30L * 24L * 60L * 60L) +
                     (iVanaDate.Month * 30L * 24L * 60L * 60L) +
                     (iVanaDate.Day * 24L * 60L * 60L) +
                     (iVanaDate.Hour * 60L * 60L) +
                     (iVanaDate.Minute * 60L) +
                     (long)iVanaDate.Second;
     return vanaTicks - baseTicks;
 }
Beispiel #3
0
 public Patrole(FFACETools.FFACE fface)
 {
     this.turnMe = new TurnMe(fface);
     this.fface = fface;
 }
Beispiel #4
0
 /// <summary>
 /// ヴァナ時間より月齢を取得
 /// </summary>
 /// <param name="iVanaDate">ヴァナ日付</param>
 /// <returns>月齢</returns>
 public static MoonPhase GetMoonPhaseFromVanaTime(FFACETools.FFACE.TimerTools.VanaTime iVanaDate)
 {
     long vanaTicks = getVanaTicks(iVanaDate);
     double moonPhase = (byte)((vanaTicks % (12D * 7D * 24D * 60D * 60D)) / (7D * 24D * 60D * 60D));
     return (MoonPhase)moonPhase;
 }
Beispiel #5
0
 /// <summary>
 /// ヴァナ日付より曜日を取得
 /// </summary>
 /// <param name="iVanaDate"></param>
 /// <returns></returns>
 public static Weekday GetWeekdayFromVanaTime(FFACETools.FFACE.TimerTools.VanaTime iVanaDate)
 {
     long vanaTicks = getVanaTicks(iVanaDate);
     double dayType = (byte)((vanaTicks % (8D * 24D * 60D * 60D)) / (24D * 60D * 60D));
     return (Weekday)dayType;
 }
Beispiel #6
0
 /// <summary>
 /// ヴァナ日付より地球日付を取得
 /// </summary>
 /// <param name="iVanaDate"></param>
 /// <returns></returns>
 public static DateTime GetEarthTimeFromVanaTime(FFACETools.FFACE.TimerTools.VanaTime iVanaDate)
 {
     //地球時間 2002/01/01 00:00:00 = 天晶暦 0886/01/01 00:00:00
     //一年=360日 一ヶ月=30日 一日=24時間 一時間=60分 一分=60秒
     long baseTicks = (886L * 360L * 24L * 60L * 60L) + (30L * 24L * 60L * 60L) + (24L * 60L * 60L);
     long vanaTicks = (iVanaDate.Year * 12L * 30L * 24L * 60L * 60L) +
                     (iVanaDate.Month * 30L * 24L * 60L * 60L) +
                     (iVanaDate.Day * 24L * 60L * 60L) +
                     (iVanaDate.Hour * 60L * 60L) +
                     (iVanaDate.Minute * 60L) +
                     (long)iVanaDate.Second;
     long addseconds = (((vanaTicks - baseTicks) / 25L));
     DateTime ret = new DateTime(2002, 1, 1, 0, 0, 0);
     ret = ret.AddSeconds(addseconds);
     return ret;
 }
Beispiel #7
0
 /// <summary>
 /// プレイヤーステータスが指定したステータスになるまで待つ
 /// </summary>
 /// <param name="iPlayerStatus">待機を解除するプレイヤーステータス</param>
 private void waitChangePlayerStatus(FFACETools.Status iPlayerStatus)
 {
     while (this.PlayerStatus != iPlayerStatus)
     {
         Thread.Sleep(settings.Global.WaitBase);
     }
 }
Beispiel #8
0
 /// <summary>
 /// アイテムを鞄から指定した場所へ移動する
 /// </summary>
 /// <param name="iItemName">アイテム名</param>
 /// <param name="iInventoryType">移動先</param>
 /// <returns>成功した場合Truwを返す</returns>
 private bool putItem(string iItemName, FFACETools.InventoryType iInventoryType)
 {
     if (control.GetInventoryCountByType(iInventoryType) >= control.GetInventoryMaxByType(iInventoryType)) return false;
     if (control.IsExistItem(iItemName, FFACETools.InventoryType.Inventory))
     {
         control.PutItem(iItemName, iInventoryType);
         setMessage(string.Format("{0}を{1}に移動しました", iItemName, iInventoryType.ToString()));
         Thread.Sleep(1000);
         return true;
     }
     return false;
 }
Beispiel #9
0
 /// <summary>
 /// 指定した場所へ魚を移動する
 /// </summary>
 /// <param name="iInventoryType"></param>
 /// <returns></returns>
 private bool putFish(FFACETools.InventoryType iInventoryType)
 {
     //short lastCnt = control.GetInventoryCountByType(InventoryType.Inventory);
     if (control.GetInventoryCountByType(iInventoryType) >= control.GetInventoryMaxByType(iInventoryType)) return false;
     List<FishDBFishModel> fishes = FishDB.SelectFishList(this.RodName, string.Empty, string.Empty);
     foreach (FishDBFishModel fish in fishes)
     {
         if (control.IsExistItem(fish.FishName, FFACETools.InventoryType.Inventory))
         {
             control.PutItem(fish.FishName, iInventoryType);
             setMessage(string.Format("{0}を{1}に移動しました", fish.FishName, iInventoryType.ToString()));
             Thread.Sleep(1000);
             return true;
         }
     }
     return false;
 }
Beispiel #10
0
 /// <summary>
 /// 時間が範囲内にあるかチェック
 /// </summary>
 /// <param name="iTarget">ヴァナ日時</param>
 /// <param name="iFrom">時間From</param>
 /// <param name="iTo">時間To</param>
 /// <returns></returns>
 private bool isHourInRange(FFACETools.FFACE.TimerTools.VanaTime iTarget, int iFrom, int iTo)
 {
     if (iFrom <= iTo)
     {
         if (iTarget.Hour >= iFrom && iTarget.Hour <= iTo)
         {
             return true;
         }
     }
     else if (iFrom > iTo)
     {
         if ((iTarget.Hour >= iFrom && iTarget.Hour <= 23) ||
             (iTarget.Hour >= 0 && iTarget.Hour <= iTo))
         {
             return true;
         }
     }
     return false;
 }