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); }
public void LoadContent() { // big water surface to make the world a gigantic ocean TextureManager.Instance.Add("ground", _manager.Content.Load<Texture2D>("Content/Textures/Ground/ground")); _baseMesh.LoadContent(_manager.Content); _baseMesh.AddObject(new MeshedRectangle(new Vector3(0, -0.1f, 0), new Vector3(1000))); // cursor TextureManager.Instance.Add("cursors", _manager.Content.Load<Texture2D>("Content/Textures/Ground/cursors")); _cursorsMesh.LoadContent(_manager.Content); _cursorsMesh.AddObject(new HexagonMeshItem8X8(MapData.GetWorldPosition(20, 20), 63)); _borderMesh.LoadContent(_manager.Content); // roads TextureManager.Instance.Add("roads", _manager.Content.Load<Texture2D>("Content/Textures/Ground/roads")); _roadMesh.LoadContent(_manager.Content); // farms TextureManager.Instance.Add("farms", _manager.Content.Load<Texture2D>("Content/Textures/Ground/farms")); _farmMesh.LoadContent(_manager.Content); // rivers TextureManager.Instance.Add("rivers", _manager.Content.Load<Texture2D>("Content/Textures/Ground/rivers")); _riverMesh.LoadContent(_manager.Content); // resources _resourceBillboards = new BillboardSystem<string>(_manager.GraphicsDevice, _manager.Content); Texture2D resourceBackground = _manager.Content.Load<Texture2D>("Content//Textures//UI//MainView//resourcesback64"); foreach (Ressource r in Provider.Instance.Ressources.Values) { if (r.Image != null) _resourceBillboards.AddEntity(r.Name, TextureUtils.Combine(_manager.GraphicsDevice, resourceBackground, r.Image), new Vector2(2, 2)); else throw new Exception("No image for " + r.Name + " found"); } //_terrainBillboards = new BillboardSystem<EBillBoard>(_manager.GraphicsDevice, _manager.Content); //_terrainBillboards.AddEntity(EBillBoard.Wood1, "Content/Textures/Billboards/wood1", new Vector2(3, 3)); //_terrainBillboards.AddEntity(EBillBoard.Wood2, "Content/Textures/Billboards/wood2", new Vector2(3, 3)); //_terrainBillboards.AddEntity(EBillBoard.Wood3, "Content/Textures/Billboards/wood3", new Vector2(3, 3)); //_terrainBillboards.AddEntity(EBillBoard.Pine1, "Content/Textures/Billboards/pine1", new Vector2(3, 3)); //_terrainBillboards.AddEntity(EBillBoard.Pine2, "Content/Textures/Billboards/pine2", new Vector2(3, 3)); hMesh.LoadContent(_manager.Content); //_billboards.AddEntity(EBillBoard.Jungle1, "Content/Textures/forest/wood1", new Vector2(3, 3)); //_billboards.AddEntity(EBillBoard.Jungle2, "Content/Textures/forest/wood3", new Vector2(3, 3)); //_billboards.AddEntity(EBillBoard.Jungle3, "Content/Textures/forest/wood5", new Vector2(3, 3)); }