Ejemplo n.º 1
0
        public void UpdateBed()
        {
            Ownables   soleOwner   = base.sm.masterTarget.Get(base.smi).GetComponent <MinionIdentity>().GetSoleOwner();
            Assignable assignable  = null;
            Assignable assignable2 = soleOwner.GetAssignable(Db.Get().AssignableSlots.MedicalBed);

            if ((Object)assignable2 != (Object)null && assignable2.CanAutoAssignTo(base.sm.masterTarget.Get(base.smi).GetComponent <MinionIdentity>().assignableProxy.Get()))
            {
                assignable = assignable2;
            }
            else
            {
                assignable = soleOwner.GetAssignable(Db.Get().AssignableSlots.Bed);
                if ((Object)assignable == (Object)null)
                {
                    assignable = soleOwner.AutoAssignSlot(Db.Get().AssignableSlots.Bed);
                    if ((Object)assignable != (Object)null)
                    {
                        AssignableReachabilitySensor sensor = GetComponent <Sensors>().GetSensor <AssignableReachabilitySensor>();
                        sensor.Update();
                    }
                }
            }
            base.smi.sm.bed.Set(assignable, base.smi);
        }
Ejemplo n.º 2
0
        public bool IsBedReachable()
        {
            AssignableReachabilitySensor sensor = GetComponent <Sensors>().GetSensor <AssignableReachabilitySensor>();

            return(sensor.IsReachable(Db.Get().AssignableSlots.Bed) || sensor.IsReachable(Db.Get().AssignableSlots.MedicalBed));
        }