示例#1
0
        //GLocation StuckLocation = null;

        public StuckDetecter(PPather pather, int stuckSensitivity, int abortSensitivity)
        {
            this.Me               = GContext.Main.Me;
            this.Context          = GContext.Main;
            this.stuckSensitivity = stuckSensitivity;
            this.abortSensitivity = abortSensitivity;
            this.mover            = PPather.mover;
            firstStuckCheck       = true;
        }
示例#2
0
 public MoveAlonger(PPather pather, Path path)
 {
     this.Context = GContext.Main;
     this.Me      = Context.Me;
     this.path    = path;
     this.world   = PPather.world;
     mover        = PPather.mover;
     sd           = new StuckDetecter(pather, 1, 2);
     prev         = null;
     current      = path.GetFirst();
     next         = path.GetSecond();
 }
示例#3
0
 public EasyMover(PPather pather, Location target, bool GiveUpIfStuck,
                  bool GiveUpIfUnsafe)
 {
     this.target         = target;
     this.Me             = GContext.Main.Me;
     this.Context        = GContext.Main;
     this.world          = PPather.world;
     mover               = PPather.mover;
     this.GiveUpIfStuck  = GiveUpIfStuck;
     this.GiveUpIfUnsafe = GiveUpIfUnsafe;
     this.pather         = pather;
 }
示例#4
0
        public ChapterRepository(GContext db)
        {
            this._db = db;

            _db.Configuration.ProxyCreationEnabled = false;
        }
示例#5
0
 public UserRepository(GContext db)
 {
     this._db = db;
 }
示例#6
0
			public Mover(GContext Context)
			{
				this.Context = Context;
			}
示例#7
0
			public StuckDetecter(GPlayerSelf Me, GContext Context,
			int stuckSensitivity, int abortSensitivity)
			{
				this.Me = Me;
				this.Context = Context;
				this.stuckSensitivity = stuckSensitivity;
				this.abortSensitivity = abortSensitivity;
			}
示例#8
0
 public StudentRepository(GContext db)
 {
     this._db = db;
 }
示例#9
0
 public RoleRepository(GContext db)
 {
     this._db = db;
 }
示例#10
0
 public GradeRepository(GContext db)
 {
     this._db = db;
 }
示例#11
0
        public async Task <RestResult> ProcessRequest(string path, string method, RestRequest req)
        {
            DBUser user       = null;
            var    proxyToken = req.Headers.GetValues("proxyToken");

            if (proxyToken != null && proxyToken.Length > 0)
            {
                var token = proxyToken[0];
                if (TokenManager.CheckToken(token))
                {
                    var username = TokenManager.GetTokenUsername(token);
                    user = UserManager.GetUser(username);
                }
                else
                {
                    return(new RestResult(new ErrorObject {
                        ErrorCode = ErrorCodes.InvalidLoginInformation,
                        Message = "The specified token is either invalid or expired.",
                        ErrorField = "proxyToken"
                    }.ToGraphQLJsonError(), MimeTypeMap.JSON, HttpStatusCode.Forbidden));
                }
            }

            var context = new GContext {
                Path   = path,
                Method = method,
                User   = user,
            };

            var body    = JsonConvert.DeserializeObject <GraphQLBody>(req.BodyData);
            var execute = await executer.ExecuteAsync(_ => {
                _.Schema        = schema;
                _.Query         = body.query;
                _.Root          = null;
                _.Inputs        = body.VariableToInputs();
                _.UserContext   = context;
                _.OperationName = body.operationName;
            });

            var result = new Dictionary <string, object> {
                { "data", execute.Data }
            };

            var gqlErrors = execute.Errors;

            if (gqlErrors?.Count > 0)
            {
                var errors = new List <ErrorObjectQ>();
                foreach (var err in gqlErrors)
                {
                    if (err.GetBaseException().GetType() == typeof(ErrorObjectException))
                    {
                        var baseErr = (ErrorObjectException)err.GetBaseException();
                        errors.Add(baseErr.ToQ());
                    }
                    else
                    {
                        errors.Add(new ErrorObject {
                            ErrorCode  = ErrorCodes.GraphQLError,
                            Message    = err.Message,
                            Locations  = err.Locations,
                            ErrorField = "graphql",
                        }.ToQ());
                    }
                }
                result.Add("errors", errors);
            }

            return(new RestResult(result));
        }
示例#12
0
 public BookRepository(GContext db)
 {
     this._db = db;
 }
示例#13
0
 public Mover(GContext Context)
 {
     this.Context = Context;
 }