Esempio n. 1
0
        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}.");
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        /// <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();
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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());
        }
Esempio n. 8
0
 /// <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());
    }
Esempio n. 10
0
    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);
    }
Esempio n. 11
0
    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);
    }
Esempio n. 12
0
    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);
    }
Esempio n. 13
0
 public void RegisterCallback(TCondition type, CheckCondition callback)
 {
     checkConditionCallbacks[type] = callback;
 }
Esempio n. 14
0
 public FSMTransition(Star.e_State nextState, CheckCondition callback)
 {
     _toState = nextState;
     Check    = callback;
 }
Esempio n. 15
0
        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());
 }
Esempio n. 17
0
 public IList <CheckFormEntity> Query(CheckCondition condition, PagerInfo pager)
 {
     return(CheckFormRepository.Query(condition, pager));
 }