public Unit(HexPoint point, AbstractPlayerData player, UnitData data) { _point = point; _player = player; _data = data; Strength = 10; _unitAI = _data.DefaultUnitAI; UpdateSpotting(); InitTransitions(); InitFormation(); _entity = new UnitEntity(player, this, _data.ModelName); _entity.Point = point; _entity.Scale = new Vector3(_data.ModelScale); _unitActionBillboard = new BillboardSystem<UnitAction>(MainApplication.Instance.GraphicsDevice, MainApplication.Instance.Content); _unitActionBillboard.AddEntity(UnitAction.Idle, Provider.GetAtlas("UnitActionAtlas").GetTexture("Idle"), new Vector2(2, 2)); _unitActionBillboard.AddEntity(UnitAction.Move, Provider.GetAtlas("UnitActionAtlas").GetTexture("Move"), new Vector2(2, 2)); _unitActionBillboard.AddEntity(UnitAction.BuildFarm, Provider.GetAtlas("UnitActionAtlas").GetTexture("BuildFarm"), new Vector2(2, 2)); _unitActionBillboard.AddEntity(UnitAction.BuildRoad, Provider.GetAtlas("UnitActionAtlas").GetTexture("BuildRoad"), new Vector2(2, 2)); _unitActionBillboard.AddEntity(UnitAction.Found, Provider.GetAtlas("UnitActionAtlas").GetTexture("Found"), new Vector2(2, 2)); UpdateUnitAction(); // path mesh _pathMesh = new Mesh(MainApplication.Instance.GraphicsDevice, "paths"); if( TextureManager.Instance.Device == null ) TextureManager.Instance.Device = MainApplication.Instance.GraphicsDevice; TextureManager.Instance.Add("paths", MainApplication.Instance.Content.Load<Texture2D>("Content/Textures/Ground/paths")); _pathMesh.LoadContent(MainApplication.Instance.Content); }