Пример #1
0
        /// <summary>
        /// Execute a one shot task or start executing a continuous task
        /// </summary>
        public override void StartExecuting()
        {
            TaskOwner.SetAttackTarget(TaskOwner.GetAITarget());

            if (Field_48395_a)
            {
                List <Entity>        list     = TaskOwner.WorldObj.GetEntitiesWithinAABB(TaskOwner.GetType(), AxisAlignedBB.GetBoundingBoxFromPool(TaskOwner.PosX, TaskOwner.PosY, TaskOwner.PosZ, TaskOwner.PosX + 1, TaskOwner.PosY + 1, TaskOwner.PosZ + 1).Expand(Field_48379_d, 4, Field_48379_d));
                IEnumerator <Entity> iterator = list.GetEnumerator();

                do
                {
                    if (!iterator.MoveNext())
                    {
                        break;
                    }

                    Entity       entity       = iterator.Current;
                    EntityLiving entityliving = (EntityLiving)entity;

                    if (TaskOwner != entityliving && entityliving.GetAttackTarget() == null)
                    {
                        entityliving.SetAttackTarget(TaskOwner.GetAITarget());
                    }
                }while (true);
            }

            base.StartExecuting();
        }
        protected void deleteUnexistingNotificationInSAP(List <String> notificationsId)
        {
            if (notificationsId.Any())
            {
                foreach (String NotificationSAPId in notificationsId)
                {
                    Notification NotificationToBeDeleted = (from p in _context.Notification where p.NotificationSapId == NotificationSAPId select p).FirstOrDefault();
                    if (NotificationToBeDeleted != null)
                    {
                        _context.Notification.Remove(NotificationToBeDeleted);
                    }

                    List <Task> taskTobeDeleted = (from p in _context.Task where p.NotificationId == NotificationToBeDeleted.Id select p).ToList();
                    foreach (Task task in taskTobeDeleted)
                    {
                        _context.Task.Remove(task);
                        TaskOwner taskOwnerToBeDeleted = (from p in _context.TaskOwner where p.TaskId == task.Id select p).FirstOrDefault();
                        _context.TaskOwner.Remove(taskOwnerToBeDeleted);
                    }

                    List <NotificationPartner> partnerTobeDeleted = (from p in _context.NotificationPartner where p.NotificationId == NotificationToBeDeleted.Id select p).ToList();
                    foreach (NotificationPartner partner in partnerTobeDeleted)
                    {
                        _context.NotificationPartner.Remove(partner);
                    }
                }
            }
        }
        protected TaskOwner CreateTaskOwner(string employeeSAPdD, Task task)
        {
            Employe   employee  = _context.Employe.FirstOrDefault(x => x.IdSAP == employeeSAPdD);
            TaskOwner taskOwner = new TaskOwner();

            taskOwner.Task      = task;
            taskOwner.EmployeId = employee.Id;

            return(taskOwner);
        }
Пример #4
0
        /// <summary>
        /// Returns whether the EntityAIBase should begin execution.
        /// </summary>
        public override bool ShouldExecute()
        {
label0:
            {
                if (Field_48386_f > 0 && TaskOwner.GetRNG().Next(Field_48386_f) != 0)
                {
                    return(false);
                }

                if (TargetClass == (typeof(net.minecraft.src.EntityPlayer)))
                {
                    EntityPlayer entityplayer = TaskOwner.WorldObj.GetClosestVulnerablePlayerToEntity(TaskOwner, Field_48379_d);

                    if (Func_48376_a(entityplayer, false))
                    {
                        TargetEntity = entityplayer;
                        return(true);
                    }

                    goto label0;
                }

                List <Entity> list = TaskOwner.WorldObj.GetEntitiesWithinAABB(TargetClass, TaskOwner.BoundingBox.Expand(Field_48379_d, 4, Field_48379_d));
                list.Sort(Field_48387_g);
                IEnumerator <Entity> iterator = list.GetEnumerator();
                EntityLiving         entityliving;

                do
                {
                    if (!iterator.MoveNext())
                    {
                        goto label0;
                    }

                    Entity entity = (Entity)iterator.Current;
                    entityliving = (EntityLiving)entity;
                }while (!Func_48376_a(entityliving, false));

                TargetEntity = entityliving;
                return(true);
            }
            return(false);
        }
        protected void addTaskOwner(string employeeSAPId, Task task)
        {
            if (employeeSAPId == "" || employeeSAPId == null)
            {
                throw new System.ArgumentException("A TaskOnwer needs to be affilated to a valid employeeId", "employeeSAPId :" + employeeSAPId);
            }
            else
            {
                int employeeId = (from p in _context.Employe
                                  where p.IdSAP == TrimZerosFromSAPId(employeeSAPId)
                                  select p.Id).FirstOrDefault();

                if (employeeId == 0)
                {
                    throw new System.ArgumentException("The id needs to belongs to an existing employee in the database", "employeeSAPId :" + employeeSAPId);
                }
                TaskOwner taskOwner = new TaskOwner();
                taskOwner.Task      = task;
                taskOwner.EmployeId = employeeId;
                _context.TaskOwner.Add(taskOwner);
            }
        }
 protected void removeTask(Task task, TaskOwner taskOwner)
 {
     _context.Remove(taskOwner);
     _context.Remove(task);
 }
Пример #7
0
 /// <summary>
 /// Execute a one shot task or start executing a continuous task
 /// </summary>
 public override void StartExecuting()
 {
     TaskOwner.SetAttackTarget(TargetEntity);
     base.StartExecuting();
 }
 /// <summary>
 /// Execute a one shot task or start executing a continuous task
 /// </summary>
 public override void StartExecuting()
 {
     TaskOwner.SetAttackTarget(Field_48393_b);
     base.StartExecuting();
 }
Пример #9
0
 /// <summary>
 /// Returns whether the EntityAIBase should begin execution.
 /// </summary>
 public override bool ShouldExecute()
 {
     return(Func_48376_a(TaskOwner.GetAITarget(), true));
 }