예제 #1
0
    public override bool Initialize(params object[] p)
    {
        if (base.Initialize(p))
        {
            currentTaskInfo = p[0] as SealPetTaskInfo;
            RefreshTaskDetail();
            startTrain.onClick.AddListener(OnStartTrain);
            oneKeyDispatch.onClick.AddListener(OnOneKeyDispatch);

            for (var i = 0; i < PetSelectMax; i++)
            {
                SetPet(i, null);
            }

            if (currentTaskInfo == null)
            {
                return(false);
            }
            var ct = ConfigManager.Get <ConfigText>((int)TextForMatType.PetTrainText);
            var a  = currentTaskInfo.Task.costTime;
            var t  = new TimeSpan(a * TimeSpan.TicksPerMinute);
            Util.SetText(timeremaining_txt, Util.Format(ct[6], Util.Format("{0:00}:{1:00}:{2:00}", (int)t.TotalHours, t.Minutes, t.Seconds)));
        }
        return(true);
    }
예제 #2
0
    private void OnSetData(RectTransform node, SealPetTaskInfo data)
    {
        var item = node.GetComponentDefault <PetTaskItem>();

        item.SetData(data);
        item.OnCancel    = OnCancelRequest;
        item.OnGotAward  = OnGotAward;
        item.OnStartTask = OnStartTask;
        item.OnSpeedUp   = OnSpeedUp;
    }
예제 #3
0
 public void SetData(SealPetTaskInfo rTask)
 {
     BindWidget();
     Task = rTask;
     Refresh();
     if (Task != null)
     {
         BaseRestrain.SetRestrainData(gameObject, Task.ID);
     }
 }
예제 #4
0
    public SealPetTaskInfo AssertTask(int taskId)
    {
        var task = GetTask(taskId);

        if (null == task)
        {
            task = new SealPetTaskInfo(taskId);
            TaskList.Add(task);
        }
        return(task);
    }
예제 #5
0
    private static int TaskCompare(SealPetTaskInfo a, SealPetTaskInfo b)
    {
        var aTimesUseUp = a.TimesUseUp && a.State == (int)PetTaskState.None;
        var bTimesUseUp = b.TimesUseUp && b.State == (int)PetTaskState.None;

        if (!aTimesUseUp.Equals(bTimesUseUp))
        {
            return(aTimesUseUp.CompareTo(b.TimesUseUp));
        }
        if (a.State.Equals(b.State))
        {
            return(a.ID.CompareTo(b.ID));
//            if (a.Task.type.Equals(b.Task.type))
//                return a.Task.level.CompareTo(b.Task.level);
//            return -a.Task.type.CompareTo(b.Task.type);
        }
        return(-a.State.CompareTo(b.State));
    }
예제 #6
0
 public override bool Initialize(params object[] p)
 {
     if (base.Initialize(p))
     {
         _petProcessTrain = p[0] as PetProcess_Train;
         if (_petProcessTrain == null)
         {
             return(false);
         }
         _task = _petProcessTrain.currentTaskInfo;
         var rlist = modulePet.PetList;
         rlist.Sort(SortHandle);
         _petSelectModule.Initalize(rlist, _petProcessTrain.ReadlyPets);
         go.onClick.AddListener(Excute);
         closeButton.onClick.AddListener(OnCloseClick);
         Refresh();
         return(true);
     }
     return(false);
 }
예제 #7
0
 public ConditionSourceData(SealPetTaskInfo rTaskInfo, PetInfo[] rPets, bool rUpdateUIData = true)
 {
     taskInfo     = rTaskInfo;
     pets         = rPets;
     UpdateUIData = rUpdateUIData;
 }
예제 #8
0
 public void EnterTask(SealPetTaskInfo info)
 {
     _petProcessTrain.Initialize(info);
     _petProcessTrain.Root.SetActive(true);
 }