public void ChangePlayerStat(Stats stat, CheckCondition condition, int value) { if (!changeStatsConditions.Contains(condition)) { throw new System.Exception($"Invalid condition ({condition}) to change stats."); } string changed = string.Empty; switch (condition) { case CheckCondition.Add: Player.IncreaseStat(value, stat); changed = "increased"; break; case CheckCondition.Increase: Player.IncreaseStat(value, stat, true); changed = "raised"; break; case CheckCondition.Subtract: Player.DecreaseStat(value, stat); changed = "decreased"; break; case CheckCondition.Decrease: Player.DecreaseStat(value, stat); changed = "reduced"; break; } displayController.DisplayText($"You stat {stat} {changed} by {value}."); }
public static IList <CheckFormEntity> Query(CheckCondition condition, PagerInfo pager) { pager.ComputePageCount(QueryCount(condition)); var list = new List <CheckFormEntity>(); var orderSql = " ORDER BY "; if (pager.OrderFields.Count > 0) { foreach (var field in pager.OrderFields) { orderSql += field.Field + (field.Desc ? " DESC" : "") + ","; } } else { orderSql += "created_time DESC"; } var sql = string.Format(@"SELECT {0} FROM check_form WHERE {1}", COLUMN_SQL, GetConditionSql(condition)); sql = @"SELECT * FROM ( SELECT ROW_NUMBER() OVER(" + orderSql + @") pid," + COLUMN_SQL + @" FROM (" + sql + @") t ) t1 WHERE t1.pid BETWEEN @p_pageNo * @p_pageSize + 1 AND (@p_pageNo + 1) * @p_pageSize "; var db = DatabaseFactory.CreateDatabase(); var dc = db.GetSqlStringCommand(sql); AddParameter(dc, db, condition); db.AddInParameter(dc, "p_pageNo", DbType.Int32, pager.PageIndex); db.AddInParameter(dc, "p_pageSize", DbType.Int32, pager.PageSize); using (IDataReader reader = db.ExecuteReader(dc)) { while (reader.Read()) { var entity = new CheckFormEntity(); entity.Init(reader); list.Add(entity); } } return(list); }
/// <summary> /// Check if a special condition is met. /// </summary> /// <param name="action">Action to check condition.</param> /// <param name="message">Message to be saved in the log if condition is not met.</param> /// <param name="stepName">Name of the step.</param> /// <param name="stepDetails">Details to be logged.</param> protected void Assert(CheckCondition action, string message, string stepName, string stepDetails) { BeginStep(stepName); if (!string.IsNullOrEmpty(stepDetails)) { LogStepEvent(stepDetails); } bool condition = action(); if (!condition) { _currentStep.Message = message; AssertException ex = new AssertException(message); StepFailed(ex); throw ex; } _currentStep.Message = string.Format("{0} - OK", stepName); StepPassed(); }
private static void AddParameter(DbCommand dc, Database db, CheckCondition condition) { db.AddInParameter(dc, "p_user_id", DbType.String, condition.UserId); db.AddInParameter(dc, "p_hospital_id", DbType.String, condition.HospitalId); if (condition is CheckScanCondition) { db.AddInParameter(dc, "p_checking", DbType.String, CheckFormStatus.Checking); } if (!string.IsNullOrEmpty(condition.StoreroomId)) { db.AddInParameter(dc, "p_storeroom_id", DbType.String, condition.StoreroomId); } if (!string.IsNullOrEmpty(condition.Status)) { db.AddInParameter(dc, "p_status", DbType.String, condition.Status); } }
private static string GetConditionSql(CheckCondition condition) { var conditionSql = " 1=1 and hospital_id=@p_hospital_id and storeroom_id in (select unit_id from user_privilege where user_id = @p_user_id AND unit_root_id=@p_hospital_id and operate=1)"; if (condition is CheckScanCondition) { conditionSql += " and status in (@p_checking)"; } if (!string.IsNullOrEmpty(condition.StoreroomId)) { conditionSql += " and storeroom_id=@p_storeroom_id"; } if (!string.IsNullOrEmpty(condition.Status)) { conditionSql += " and status=@p_status"; } return(conditionSql); }
private static int QueryCount(CheckCondition condition) { var sql = "SELECT COUNT(id) FROM check_form WHERE "; var conditionSql = GetConditionSql(condition); if (!string.IsNullOrEmpty(conditionSql)) { sql += conditionSql; } var db = DatabaseFactory.CreateDatabase(); var dc = db.GetSqlStringCommand(sql); AddParameter(dc, db, condition); using (IDataReader reader = db.ExecuteReader(dc)) { reader.Read(); return(reader[0] == DBNull.Value ? 0 : reader.GetInt32(0)); } }
internal override string ToString(string indent) { var sb = new StringBuilder(); sb.Append(base.ToString(indent)); sb.Append("CHECK "); if (NotForReplication) { sb.Append(" NOT FOR REPLICATION"); } if (CheckCondition.OneLine()) { sb.Append(CheckCondition); } else { sb.Append("\r\n"); sb.AppendFormat(CultureInfo.CurrentCulture, CheckCondition.ToString(indent + " ")); } return(sb.ToString()); }
/// <summary> /// Check if a special condition is met. /// </summary> /// <param name="action">Action to check condition.</param> /// <param name="message">Message to be saved in the log if condition is not met.</param> /// <param name="stepName">Name of the step.</param> protected void Assert(CheckCondition action, string message, string stepName) { Assert(action, message, stepName, string.Empty); }
public static Transform[] AllInRange(this Transform trans, IEnumerable <GameObject> targetGOs, float rangeLimitSquare, CheckCondition condition) { List <Transform> targets = new List <Transform>(); foreach (GameObject targetGO in targetGOs) { Transform target = targetGO.transform; if (condition != null && !condition(target)) { continue; } float distanceSquare = (target.position - trans.position).sqrMagnitude; if (distanceSquare >= rangeLimitSquare) { continue; } targets.Add(target); } return(targets.ToArray()); }
public static Transform InSector(this Transform trans, IEnumerable <GameObject> targetGOs, float rangeLimitSquare, float sectorPivotAngle, float sectorAngleRange, CheckCondition condition) { Transform sectorTarget = null; Vector3 myDir = Quaternion.Euler(0f, sectorPivotAngle, 0f) * Vector3.forward; float nearestAngle = sectorAngleRange * 0.5f; foreach (GameObject targetGO in targetGOs) { Transform target = targetGO.transform; if (condition != null && !condition(target)) { continue; } float distanceSquare = (target.position - trans.position).sqrMagnitude; if (distanceSquare >= rangeLimitSquare) { continue; } float angle = Vector3.Angle(target.position - trans.position, myDir); if (angle < nearestAngle) { sectorTarget = target; nearestAngle = angle; } } return(sectorTarget); }
public static Transform Faced(this Transform trans, IEnumerable <GameObject> targetGOs, float rangeLimitSquare, CheckCondition condition) { float nearestAngle = float.MaxValue; Transform facedTarget = null; Vector3 myDir = trans.TransformDirection(Vector3.forward); foreach (GameObject targetGO in targetGOs) { Transform target = targetGO.transform; if (condition != null && !condition(target)) { continue; } float distanceSquare = (target.position - trans.position).sqrMagnitude; if (distanceSquare >= rangeLimitSquare) { continue; } float angle = Vector3.Angle(target.position - trans.position, myDir); if (angle < nearestAngle) { facedTarget = target; nearestAngle = angle; } } return(facedTarget); }
public static Transform TheNearest(this Transform trans, IEnumerable <GameObject> targetGOs, float rangeLimitSquare, CheckCondition condition) { float nearestDistanceSquare = float.MaxValue; Transform nearestTarget = null; foreach (GameObject targetGO in targetGOs) { Transform target = targetGO.transform; if (condition != null && !condition(target)) { continue; } float distanceSquare = (target.position - trans.position).sqrMagnitude; if (distanceSquare >= rangeLimitSquare) { continue; } if (distanceSquare < nearestDistanceSquare) { nearestTarget = target; nearestDistanceSquare = distanceSquare; } } return(nearestTarget); }
public void RegisterCallback(TCondition type, CheckCondition callback) { checkConditionCallbacks[type] = callback; }
public FSMTransition(Star.e_State nextState, CheckCondition callback) { _toState = nextState; Check = callback; }
public void ParseCheckConditionShouldWork(string attribute, CheckCondition checkExpected) { var result = ParseTool.Tools.ParseEnum <CheckCondition>(attribute); Assert.Equal(result, checkExpected); }
internal override bool OneLine() { return(CheckCondition.OneLine()); }
public IList <CheckFormEntity> Query(CheckCondition condition, PagerInfo pager) { return(CheckFormRepository.Query(condition, pager)); }