static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); GameEngine.Engine engine = new GameEngine.Engine(); engine.Initialize(); GridGameObject grid = engine.CreateGameObject <GridGameObject>(newGrid => { newGrid.GridSize = new Vector2(3, 3); Transform localTransform = Transform.Origin; Vector2 offset = new Vector2(50, 50); localTransform.Position = Vector2.Zero + offset; localTransform.Size = engine.GetViewport().Size - offset * 2; newGrid.LocalTransform = localTransform; newGrid.LineWidth = 0.005f; }); engine.Root.AddChild(grid); List <Vector2> positions = new List <Vector2>() { new Vector2(0, 0), new Vector2(1, 1), new Vector2(2, 2), }; for (int i = 0; i < positions.Count; ++i) { UnitGameObject unit = engine.CreateGameObject <UnitGameObject>(newUnit => { if (i % 2 == 0) { newUnit.SpritePath = "Assets/character.png"; } else { newUnit.SpritePath = "Assets/topdown.png"; newUnit.AnimatedSpritePattern = "Assets/Units/Knife/unit_knife_{0}.png"; newUnit.AnimatedSpriteCount = 20; newUnit.AnimatedSpriteTotalTime = TimeSpan.FromSeconds(0.5); } }); grid.AddUnit(unit, positions[i]); } engine.StartSubSystem <CombatInteractionHandler>(newCombatInteractionHandler => { newCombatInteractionHandler.Grid = grid; }); engine.Run(); }
/// <summary> /// Constructor. /// </summary> public GameplayScreen(NetworkSession networkSession) { this.networkSession = networkSession; TransitionOnTime = TimeSpan.FromSeconds(1.5); TransitionOffTime = TimeSpan.FromSeconds(0.5); // setup keyboard configs: List<KeyConfig> keyConfigs = new List<KeyConfig>(); keyConfigs.Add(new KeyConfig(Keys.W, Keys.S, Keys.A, Keys.D, Keys.C, Keys.Space)); keyConfigs.Add(new KeyConfig(Keys.Up, Keys.Down, Keys.Left, Keys.Right, Keys.RightControl, Keys.End)); //keyConfigs.Add(new KeyConfig(Keys.Q, Keys.E, Keys.R, Keys.T, Keys.Y, Keys.U)); gameEngine = (networkSession == null) ? Engine.CreateLocalEngine(NetworkStateManagementGame.MainGame, keyConfigs) : Engine.CreateNetworkedEngine(NetworkStateManagementGame.MainGame, keyConfigs, networkSession); gameEngine.Initialize(); }