1
1
mirror of https://github.com/OpenDiablo2/OpenDiablo2 synced 2024-11-20 03:16:26 -05:00
OpenDiablo2/OpenDiablo2.Common/Interfaces/IGameState.cs
nicholasdechiara be29a0017e Address Patch MPQ Issue (#52)
* Address patch mpq issue

Game can now load patch mpq files and will do so instead of a regular mpq version if a patch version exists.
Updated level details & char stats loading

* deleted screenshots

* merge fixes

* Fix weapon.cs

Code column moved over one in patch mpq

* Fixes: armor/misc/weapon column adjustment and mapgen autofac fix

* Fix SelectHeroClass to work with None herotype
2018-12-15 12:18:32 -05:00

39 lines
1.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Drawing;
using OpenDiablo2.Common.Enums;
using OpenDiablo2.Common.Models;
namespace OpenDiablo2.Common.Interfaces
{
public interface IGameState : IDisposable
{
object ThreadLocker { get; }
int Act { get; }
int Seed { get; }
string MapName { get; }
Palette CurrentPalette { get; }
IEnumerable<PlayerInfo> PlayerInfos { get; }
eDifficulty Difficulty { get; }
ItemInstance SelectedItem { get; }
void SelectItem(ItemInstance item);
int CameraOffset { get; set; }
void Initialize(string characterName, eHero hero, eSessionType sessionType, eDifficulty difficulty);
void Update(long ms);
IEnumerable<MapCellInfo> GetMapCellInfo(int cellX, int cellY, eRenderCellType renderCellType);
void UpdateMapCellInfo(int cellX, int cellY, eRenderCellType renderCellType, IEnumerable<MapCellInfo> mapCellInfo);
IMapInfo InsertMap(eLevelId levelId, IMapInfo parentMap = null);
IMapInfo InsertMap(int levelId, Point origin, IMapInfo parentMap = null);
IMapInfo InsertSubMap(int levelPresetId, int levelTypeId, Point origin, IMapInfo primaryMap, int subTile = -1);
IMapInfo GetSubMapInfo(int levelPresetId, int levelTypeId, IMapInfo primaryMap, Point origin, int subTile = -1);
void AddMap(IMapInfo map);
int HasMap(int cellX, int cellY);
IEnumerable<Size> GetMapSizes(int cellX, int cellY);
void RemoveEverythingAt(int cellX, int cellY);
}
}