// Token: 0x0600416A RID: 16746 RVA: 0x00133C3C File Offset: 0x00131E3C
        public TimeSpan GetTaskRemainingTime(int TaskId, int Slot)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_GetTaskRemainingTimeInt32Int32_hotfix != null)
            {
                return((TimeSpan)this.m_GetTaskRemainingTimeInt32Int32_hotfix.call(new object[]
                {
                    this,
                    TaskId2,
                    Slot2
                }));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            int            TaskId         = TaskId2;
            int            Slot           = Slot2;
            HeroAssistants heroAssistants = this.m_heroAssistantsDS.HeroAssistants;

            if (heroAssistants.Tasks.Find((HeroAssistantsTask t) => t.ConfigId == TaskId) == null)
            {
                return(TimeSpan.MaxValue);
            }
            HeroAssistantsTaskAssignment heroAssistantsTaskAssignment = heroAssistants.Assignments.Find((HeroAssistantsTaskAssignment a) => a.Slot == Slot);

            if (heroAssistantsTaskAssignment == null)
            {
                return(TimeSpan.MaxValue);
            }
            return((!(heroAssistantsTaskAssignment.EndTime > this.m_basicInfo.GetCurrentTime())) ? TimeSpan.Zero : (heroAssistantsTaskAssignment.EndTime - this.m_basicInfo.GetCurrentTime()));
        }
        // Token: 0x06004168 RID: 16744 RVA: 0x001339FC File Offset: 0x00131BFC
        public int CanClaimRewards(int TaskId, int Slot)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_CanClaimRewardsInt32Int32_hotfix != null)
            {
                return(Convert.ToInt32(this.m_CanClaimRewardsInt32Int32_hotfix.call(new object[]
                {
                    this,
                    TaskId2,
                    Slot2
                })));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            int            TaskId         = TaskId2;
            int            Slot           = Slot2;
            HeroAssistants heroAssistants = this.m_heroAssistantsDS.HeroAssistants;

            if (heroAssistants.Tasks.Find((HeroAssistantsTask t) => t.ConfigId == TaskId) == null)
            {
                return(-2102);
            }
            HeroAssistantsTaskAssignment heroAssistantsTaskAssignment = heroAssistants.Assignments.Find((HeroAssistantsTaskAssignment a) => a.Slot == Slot);

            if (heroAssistantsTaskAssignment == null || heroAssistantsTaskAssignment.AssignedHeroIds.Count == 0)
            {
                return(-2106);
            }
            if (heroAssistantsTaskAssignment.EndTime > this.m_basicInfo.GetCurrentTime())
            {
                return(-2107);
            }
            return(0);
        }
        // Token: 0x06004165 RID: 16741 RVA: 0x001335FC File Offset: 0x001317FC
        public virtual int AssignHero(List <int> HeroIds, int TaskId, int Slot, int WorkSeconds, bool NoCheck = false)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_AssignHeroList ` 1Int32Int32Int32Boolean_hotfix != null)
            {
                return(Convert.ToInt32(this.m_AssignHeroList ` 1Int32Int32Int32Boolean_hotfix.call(new object[]
                {
                    this,
                    HeroIds,
                    TaskId2,
                    Slot,
                    WorkSeconds,
                    NoCheck
                })));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            int TaskId = TaskId2;

            if (!NoCheck)
            {
                int num = this.CanAssignHero(HeroIds, TaskId, Slot, WorkSeconds);
                if (num != 0)
                {
                    return(num);
                }
            }
            HeroAssistantsTask           heroAssistantsTask           = this.m_heroAssistantsDS.HeroAssistants.Tasks.Find((HeroAssistantsTask t) => t.ConfigId == TaskId);
            HeroAssistantsTaskAssignment heroAssistantsTaskAssignment = new HeroAssistantsTaskAssignment
            {
                Task            = heroAssistantsTask,
                TaskId          = heroAssistantsTask.ConfigId,
                AssignedHeroIds = HeroIds,
                Slot            = Slot,
                StartTime       = this.m_basicInfo.GetCurrentTime()
            };
            int num2 = heroAssistantsTask.RewardWorkSeconds.BinarySearch(WorkSeconds);

            if (num2 < 0)
            {
                num2 = ~num2 - 1;
            }
            if (num2 < 0)
            {
                return(-2110);
            }
            this.m_heroAssistantsDS.HeroAssistants.Assignments.Add(heroAssistantsTaskAssignment);
            heroAssistantsTaskAssignment.EndTime = this.m_basicInfo.GetCurrentTime().AddSeconds((double)heroAssistantsTask.RewardWorkSeconds[num2]);
            if (this.AssignHeroToTaskMissionEvent != null)
            {
                this.AssignHeroToTaskMissionEvent();
            }
            return(0);
        }
        // Token: 0x06004164 RID: 16740 RVA: 0x00133470 File Offset: 0x00131670
        public int CanAssignHero(List <int> HeroIds, int TaskId, int Slot, int WorkSeconds)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_CanAssignHeroList ` 1Int32Int32Int32_hotfix != null)
            {
                return(Convert.ToInt32(this.m_CanAssignHeroList ` 1Int32Int32Int32_hotfix.call(new object[]
                {
                    this,
                    HeroIds,
                    TaskId2,
                    Slot2,
                    WorkSeconds
                })));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            int TaskId = TaskId2;
            int Slot   = Slot2;

            if (HeroIds == null || HeroIds.Count == 0)
            {
                return(-2111);
            }
            HeroAssistants     heroAssistants     = this.m_heroAssistantsDS.HeroAssistants;
            HeroAssistantsTask heroAssistantsTask = heroAssistants.Tasks.Find((HeroAssistantsTask t) => t.ConfigId == TaskId);

            if (heroAssistantsTask == null)
            {
                return(-2102);
            }
            if (heroAssistantsTask.Locked)
            {
                return(-2101);
            }
            if (heroAssistants.Assignments.Count >= this.m_configDataLoader.ConfigableConstId_HeroAssistantTaskSlotCount)
            {
                return(-2112);
            }
            HeroAssistantsTaskAssignment heroAssistantsTaskAssignment = heroAssistants.Assignments.Find((HeroAssistantsTaskAssignment a) => a.Slot == Slot);

            if (heroAssistantsTaskAssignment != null && heroAssistantsTaskAssignment.AssignedHeroIds.Count > 0)
            {
                return(-2105);
            }
            if (HeroIds.Count > this.m_configDataLoader.ConfigableConstId_HeroAssistantTaskHeroAssignMaxCount)
            {
                return(-2109);
            }
            return(0);
        }
Example #5
0
 // Token: 0x06004B98 RID: 19352 RVA: 0x001769D4 File Offset: 0x00174BD4
 public void UpdateInstantiatedData(DSHeroAssistantNtf DS)
 {
     using (List <ProHeroAssistantTask> .Enumerator enumerator = DS.Tasks.GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             ProHeroAssistantTask AT = enumerator.Current;
             HeroAssistantsTask   heroAssistantsTask = this.HeroAssistants.Tasks.Find((HeroAssistantsTask t) => t.ConfigId == AT.ConfigId);
             if (heroAssistantsTask != null)
             {
                 HeroAssistantsTaskAssignment item = new HeroAssistantsTaskAssignment
                 {
                     Task            = heroAssistantsTask,
                     TaskId          = heroAssistantsTask.ConfigId,
                     EndTime         = new DateTime(AT.EndTime),
                     StartTime       = new DateTime(AT.StartTime),
                     Slot            = AT.Slot,
                     AssignedHeroIds = AT.AssignedHeroIds
                 };
                 this.HeroAssistants.Assignments.Add(item);
             }
         }
     }
 }