예제 #1
0
                public override ObjectPicker.ColumnInfo GetValue(SimDescription item)
                {
                    string type = null;

                    if (SimTypes.InServicePool(item))
                    {
                        type += Common.Localize("Type:Service", item.IsFemale);
                    }

                    if (item.AssignedRole != null)
                    {
                        type += Common.Localize("Type:Role", item.IsFemale);
                    }

                    if (item.LotHome != null)
                    {
                        type += Common.Localize("Type:Resident", item.IsFemale);
                    }
                    else if ((item.Household == null) || (!item.Household.IsServiceNpcHousehold))
                    {
                        type += Common.Localize("Type:Homeless", item.IsFemale);
                    }

                    if (CriteriaItem.HasRealJob(item))
                    {
                        type += Common.Localize("Type:Employed", item.IsFemale);
                    }

                    return(new ObjectPicker.TextColumn(type));
                }
예제 #2
0
            public override object GetValue(string name, IDictionary <string, CriteriaItem> items, CriteriaItem item)
            {
                // Need to make sure that the same list is always returned.

                if (item != null)
                {
                    return(item.Value);
                }

                var value = new List <TValue>();

                items[name] = new CriteriaItem(name, value);
                return(value);
            }
예제 #3
0
        protected SimDescription PrivateRun(IActor actor, Role.RoleType type, GameObjectHit hit)
        {
            Sim actorSim = actor as Sim;

            sFailureConditions = null;

            SimSelection sims = SimSelection.Create(Register.GetRoleName(type), Name, actorSim.SimDescription, type);

            if (sims.IsEmpty)
            {
                if (!string.IsNullOrEmpty(sFailureConditions))
                {
                    Common.DebugNotify(sFailureConditions);

                    Common.DebugWriteLog(sFailureConditions);
                }

                SimpleMessageDialog.Show(Name, Register.Localize("Select:Error"));
                return(null);
            }

            SimDescription sim = sims.SelectSingle();

            if (sim != null)
            {
                if (sim.CreatedByService != null)
                {
                    sim.CreatedByService.EndService(sim);
                }

                if (sim.AssignedRole != null)
                {
                    sim.AssignedRole.RemoveSimFromRole();
                }

                if (CriteriaItem.HasRealJob(sim))
                {
                    if (AcceptCancelDialog.Show(Common.Localize(GetTitlePrefix() + ":EmployedPrompt", sim.IsFemale, new object[] { sim })))
                    {
                        sim.Occupation.RetireNoConfirmation();
                    }
                }
            }

            return(sim);
        }
 public void Process(CriteriaItem criteriaItem, int nestingLevel, int index)
 {
     AppendLogicaloperator(criteriaItem.LogicalOperator);
     expression.Append(GetColumnName(criteriaItem));
     expression.Append(_SPACE);
     expression.Append(strClauses[criteriaItem.Clause]);
     switch (criteriaItem.Clause)
     {
         case Clause.IsNotNull:
             break;
         case Clause.IsNull:
             break;
         default:
             expression.Append(_SPACE);
             expression.Append(GetValue(criteriaItem, nestingLevel, index));
             break;
     }
 }
예제 #5
0
 public override object GetValue(string name, IDictionary <string, CriteriaItem> items, CriteriaItem item)
 {
     return(item != null ? item.Value : _defaultValue);
 }
예제 #6
0
 public abstract object GetValue(string name, IDictionary <string, CriteriaItem> items, CriteriaItem item);
예제 #7
0
 protected internal void SetValue(string name, object value)
 {
     _items[name] = new CriteriaItem(name, value);
 }
 public Criteria Or(string parameter, Clause clause, object value)
 {
     var criteriaItem = new CriteriaItem(LogicalOperator.Or, parameter, clause, value);
     _criteriaList.Add(criteriaItem);
     return this;
 }
 public Criteria(string parameter, Clause clause, object value)
     : this()
 {
     var criteriaItem = new CriteriaItem(LogicalOperator.None, parameter, clause, value);
     _criteriaList.Add(criteriaItem);
 }
 protected virtual string GetValue(CriteriaItem criteriaItem, int nestingLevel, int index)
 {
     return valueToStringConverter.Convert(criteriaItem.Value);
 }
 protected virtual string GetColumnName(CriteriaItem criteriaItem)
 {
     return criteriaItem.Parameter;
 }