source: 2015/26/MikkoL/JRPG/JRPG/JRPG/Overworld/Entities/Player.cs @ 6416

Revision 6416, 2.4 KB checked in by mijoliim, 5 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using Jypeli;
6
7public class Player : LivingEntity
8{
9    public static Vector PositionInTiles { get; set; }
10    public static Tile UnderTile { get; set; }
11
12    public Player(Vector size)
13        : base(size)
14    {
15        this.Type = (int)LivingEntityType.Player;
16    }
17
18    public void Move(Vector Target, double Speed)
19    {
20        Move(Target, Speed, delegate { });
21    }
22    public void Move(Vector Target, double Speed, Action Action)
23    {
24        if (!Movement.IsMoving)
25        {
26            MoveTo(Position + Target, Speed, delegate
27                {
28                    Movement.IsMoving = false;
29                    JRPG.Game.SetAnimations();
30                    Player.PositionInTiles += Target.Normalize();
31                    UnderTile = (Tile)OverworldView.CurrentCollisionMap.CollisionMapArray.GetValue((int)PositionInTiles.X, (int)PositionInTiles.Y);
32                    if (UnderTile.Type == TileType.Exit)
33                    {
34                        JRPG.Game.FadeOut();
35                        Timer.SingleShot(1, delegate
36                        {
37                            JRPG.Game.FadeIn();
38                            Exit Exit = OverworldView.CurrentMapData.Exits[UnderTile.ExitNum];
39
40                            if (Exit.MapToGo == "01")
41                            {
42                                JRPG.Game.FadeMusicIn("Music//WildArms");
43                            }
44
45                            JRPG.Game.Player.Destroy();
46                            OverworldView.Destroy();
47                            OverworldView.LoadOverworldView(Exit.MapToGo);
48                            JRPG.Game.Level.Size = OverworldView.CurrentMap.Size;
49                            JRPG.Game.LoadOWPlayer(Exit.PositionToGoInTiles);
50
51                            JRPG.Game.CheckWhereCanMove();
52
53                            JRPG.Game.Camera.StayInLevel = true;
54                            JRPG.Game.Camera.Position = JRPG.Game.Player.Position;
55                            JRPG.Game.Camera.Follow(JRPG.Game.Player);
56
57                        });
58                    }
59                    RandomEncounter.Step(UnderTile);
60                    JRPG.Game.CheckWhereCanMove();
61
62                });
63            Movement.IsMoving = true;
64        }
65    }
66}
Note: See TracBrowser for help on using the repository browser.