public static void engineTestSetup() { Entity pc = new Entity(new Vec3(0, 0, 0), 0); pc.AddComponent(new CameraComponent()); worldManager.addEntity(pc); SolarSystem.SolarSystem solarSystem = new SolarSystem.SolarSystem(800); for (int i = 0; i < solarSystem.numPlanets; i++) { worldManager.addEntity(solarSystem.planets[i].entity); } ChexelEntity pcT = new ChexelEntity(new vector2(60, 228), ConsoleColor.White, '@'); pcT.AddComponent(new CameraCComponent()); tileMapManager.addEntity(pcT); string[] rocket = { " /\\ ", " |==| ", " | | ", " | | ", " | | ", " /____\\ ", " | | ", " | | ", " | | ", " | | ", " /| | |\\ ", " / | | | \\ ", "/__|_|__|__\\ ", " /_\\/_\\ " }; FrameEntity rocketShip = new FrameEntity(new vector2(54, 2), ConsoleColor.White, ' ', Frame.FromStringArray(rocket, ConsoleColor.Black, ConsoleColor.Green)); rocketShip.AddComponent(new CockpitCComponent()); tileMapManager.addFrameEntity(rocketShip); FrameEntity rocketExhaust = new FrameEntity(new vector2(rocketShip.pos.x, rocketShip.pos.y + rocket.Length), ConsoleColor.White, ' ', new Frame(12, 8, 0, 0)); rocketExhaust.AddComponent(new FollowEndCComponent(rocketShip)); rocketExhaust.frame.shader = new FireShader(rocketExhaust.frame); rocketExhaust.frame.hasShader = true; tileMapManager.addFrameEntity(rocketExhaust); }
public void Throw_If_Frame_Cant_Be_Found() { var access = new FrameAccess(); var builder = new ContextFactoryBuilder(); var frame = new FrameEntity { PosHi = 0, PosLo = 0, ThreadId = 1 }; builder.WithFrame(frame); access.ContextFactory = builder.Build(); Action throws = () => access.GetFrame("test", new Position(1, 0), 1); throws.Should().Throw <IndexOutOfRangeException>(); }
public void Get_The_Correct_Frame_If_One_Exists() { var access = new FrameAccess(); var builder = new ContextFactoryBuilder(); var frame = new FrameEntity { PosHi = 0, PosLo = 0, ThreadId = 1 }; builder.WithFrame(frame); access.ContextFactory = builder.Build(); var converter = new FrameDomainEntityConverter(); var domain = converter.ToDomain(frame, access.ContextFactory.GetContext("")); access.GetFrame("anyproject", new Position(0, 0), 1).Should().Be(domain); }
public void Create_The_Correct_Expression_Tree_For_And() { var visitor = new FrameCriterionVisitor(); var criteria1 = new RegisterEqualsCriterion(Register.Rax, ((ulong)0).ToHexString()); var criteria2 = new RegisterEqualsCriterion(Register.Rbx, ((ulong)1).ToHexString()); var and = new AndCriterion(new[] { criteria1, criteria2 }); var f = visitor.Visit(and); var frame = new FrameEntity { Rax = ((ulong)0).ToHexString(), Rbx = ((ulong)1).ToHexString() }; var frame2 = new FrameEntity { Rax = ((ulong)1).ToHexString(), Rbx = ((ulong)1).ToHexString() }; var method = ((FramePredicateExpression)f).Compile(); new[] { frame, frame2 }.Single(x => method(x)).Should().Be(frame); }
public void Create_The_Correct_Expression_Tree_For_Or() { var visitor = new FrameCriterionVisitor(); var criteria1 = new RegisterEqualsCriterion(Register.Rax, ((ulong)0).ToHexString()); var criteria2 = new RegisterEqualsCriterion(Register.Rbx, ((ulong)1).ToHexString()); var and = new OrCriterion(new[] { criteria1, criteria2 }); var f = visitor.Visit(and); var builder = new ContextFactoryBuilder(); var frame = new FrameEntity { Rax = ((ulong)0).ToHexString(), Rbx = ((ulong)1).ToHexString() }; var frame2 = new FrameEntity { Rax = ((ulong)1).ToHexString(), Rbx = ((ulong)1).ToHexString() }; builder.WithFrame(frame).WithFrame(frame2); var method = ((FramePredicateExpression)f).Compile(); new[] { frame, frame2 }.Where(x => method(x)).SequenceEqual(new[] { frame, frame2 }).Should().BeTrue(); }
/// <summary> /// Adds a frame to the collection of frames /// </summary> /// <param name="frame">The frame.</param> /// <returns>ContextFactoryBuilder.</returns> public ContextFactoryBuilder WithFrame(FrameEntity frame) { _context.FrameEntities.Add(frame); return(this); }
public FollowEndCComponent(FrameEntity target) { this.target = target; }
public void start(ChexelEntity e) { entity = (FrameEntity)e; }
/// <summary> /// 更新 /// </summary> /// <param name="entity">更新</param> /// <returns></returns> public int Update(FrameEntity entity) { return(baseRepository.Update(entity)); }
/// <summary> /// 新增 /// </summary> /// <param name="entity">新增实体</param> /// <returns></returns> public int Insert(FrameEntity entity) { return(baseRepository.Insert(entity)); }
/// <summary> /// 删除 /// </summary> /// <param name="entity">删除实体</param> /// <returns></returns> public int Delete(FrameEntity entity) { return(baseRepository.Delete(entity)); }