示例#1
0
文件: Cursor.cs 项目: Natman64/JamLib
        void onTab(Cursor cursor)
        {
            if (!Enabled)
                return;

            Entity e = layer.Entities.EntityAt(cursor.Location);
            if (e != null && layer.Entities.CurrentGroup == Group && e.Group == Group)
            {
                e.EndPhase();
                if (e == selectedEntity)
                    squarePoints.Clear();
            }
        }
示例#2
0
文件: Cursor.cs 项目: Natman64/JamLib
        void onSelect(Cursor cursor)
        {
            if (layer.Entities.CurrentGroup != Group || !Enabled)
                return;

            Entity e = layer.Entities.EntityAt(cursor.Location);

            if (cursor.SelectedEntity != null)
            {

                switch (cursor.SelectedEntity.Phase)
                {
                    case Phase.Move:
                        if (!cursor.SelectedEntity.Moving && cursor.SelectedEntity.CanMoveTo(cursor.Location))
                        {
                            cursor.SelectedEntity.MoveTo(cursor.Location);
                            cursor.SelectedEntity.EndPhase();
                            squarePoints.Clear();
                        }
                        break;

                    case Phase.Attack:
                        if (cursor.SelectedEntity.CanAttack(cursor.Location))
                        {
                            cursor.SelectedEntity.Attack(layer.Entities.EntityAt(cursor.Location));
                            cursor.SelectedEntity.EndPhase();
                            squarePoints.Clear();
                        }
                        break;

                    case Phase.Finished:
                        break;
                }

                cursor.SelectedEntity = null;
            }
            else if (e != null && e.Group == Group && e.Phase != Phase.Finished)
            {
                cursor.SelectedEntity = e;
                squarePoints.Clear();
            }
        }
示例#3
0
文件: Cursor.cs 项目: Natman64/JamLib
 void onExit(Cursor cursor)
 {
     if (Enabled)
     {
         cursor.SelectedEntity = null;
         squarePoints.Clear();
     }
 }
示例#4
0
文件: Cursor.cs 项目: Natman64/JamLib
        void onOpen(Cursor cursor)
        {
            if (Enabled && selectedEntity == null)
            {
                Entity e = layer.Entities.EntityAt(cursor.Location);

                if (e != null && e.Group == Group && e.Phase != Phase.Finished)
                {
                    if (e.Moving || e.Attacking)
                        return;

                    Enabled = false;
                    e.InvMode = true;
                    selectedEntity = e;
                }
            }
        }
示例#5
0
文件: Game1.cs 项目: Natman64/JamLib
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            ScreenHelper.Initialize(GraphicsDevice, graphics);
            ScreenHelper.Camera = new Camera(new Vector2(ScreenHelper.Viewport.Width, ScreenHelper.Viewport.Height), null);
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            // TODO: use this.Content to load your game content here
            layer = TileLayer.FromFile(Content, "layer.txt");

            layer.Entities.BloodTexture = Content.Load<Texture2D>("Sprites/Blood");
            layer.Entities.HealingTexture = Content.Load<Texture2D>("Sprites/Healing");

            Texture2D cursorTexture = Content.Load<Texture2D>("UI/Cursor_1");
            Texture2D arrowTexture = Content.Load<Texture2D>("UI/Arrows");
            Texture2D overlayTexture = Content.Load<Texture2D>("UI/Tile Overlays");

            Texture2D rogue = Content.Load<Texture2D>("Sprites/Rogue");
            Texture2D knight = Content.Load<Texture2D>("Sprites/Knight");
            Texture2D priest = Content.Load<Texture2D>("Sprites/Priest");

            Texture2D iconTexture = Content.Load<Texture2D>("UI/Phase Icons");
            Texture2D healthbarTexture = Content.Load<Texture2D>("UI/Health Bar");

            SpriteFont font = Content.Load<SpriteFont>("Fonts/Font1");
            ScreenHelper.Font = font;

            cursor = new Cursor(layer, cursorTexture, arrowTexture, overlayTexture, TimeSpan.FromSeconds(0.1), new Point(20, 20), "Player");

            entity = new Entity("", "Enemy", "Healer", 20, 5, 1, layer, new Point(15, 17), priest, iconTexture, healthbarTexture);
            Weapon w = new Weapon("Healing", "Enemy", 3.0, 1, 1, true);
            entity.Items.Add(w);
            entity.EquippedWeapon = w;
            layer.Entities.Add(entity);
            entity = new Entity("", "Enemy", "Default", 20, 5, 3, layer, new Point(22, 20), knight, iconTexture, healthbarTexture);
            entity.EquippedWeapon = Item.FromFile("Sword.txt", "Enemy") as Weapon;
            layer.Entities.Add(entity);
            entity = new Entity("", "Enemy", "Default", 20, 5, 3, layer, new Point(15, 16), knight, iconTexture, healthbarTexture);
            entity.EquippedWeapon = new Weapon("Sword", "Enemy", 2.0, 1, 1);
            layer.Entities.Add(entity);

            layer.Pathfind = new Pathfinder(layer);
        }