public void BuildPanel(PanelBuilder panel, string title, Player player = null) { try { //addHeader if (reqs.Count == 0) { return; } panel.AddHeaderLabel(title); //add req foreach (var req in reqs) { BaseReq r = OLib.GetReq(req[0]); if (player == null) { panel.AddLabel(r.Desc(null, req[1])); } else { panel.AddImageLabel(r.Desc(player, req[1]), r.Check(player, req[1])); } } } catch (Exception e) { ExceptionHelper.ShowException(e); } }
// Start is called before the first frame update private static void Init() { self = CreateInstance <OLib>(); self._req = new Dictionary <string, BaseReq>(); AddReq("ap", CreateInstance <ReqAp>()); AddReq("building", CreateInstance <ReqBuilding>()); AddReq("buildingOwn", CreateInstance <ReqBuildingOwn>()); AddReq("daytime", CreateInstance <ReqDayTime>()); AddReq("disabled", CreateInstance <ReqDisabled>()); AddReq("dummy", CreateInstance <ReqDummy>()); AddReq("element", CreateInstance <ReqElement>()); AddReq("elementCount", CreateInstance <ReqElementCount>()); AddReq("empty", CreateInstance <ReqEmpty>()); AddReq("gameOption", CreateInstance <ReqGameOption>()); AddReq("option", CreateInstance <ReqOption>()); AddReq("featureP", CreateInstance <ReqFeaturePlayer>()); AddReq("field", CreateInstance <ReqSameField>()); AddReq("fightElement", CreateInstance <ReqFightElement>()); AddReq("fightMovementType", CreateInstance <ReqFightMovementType>()); AddReq("fightNationEthos", CreateInstance <ReqFightNationEthos>()); AddReq("fightUnitType", CreateInstance <ReqFightUnitType>()); AddReq("fogField", CreateInstance <ReqFogField>()); AddReq("hp", CreateInstance <ReqHp>()); AddReq("game", CreateInstance <ReqGame>()); AddReq("windowOpen", CreateInstance <ReqWindowOpen>()); AddReq("gameActiveElement", CreateInstance <ReqGameActiveElement>()); AddReq("mapLevel", CreateInstance <ReqMapLevelCount>()); AddReq("maxUnitPlayer", CreateInstance <ReqUnitMaxPlayer>()); AddReq("nation", CreateInstance <ReqNation>()); AddReq("notEmpty", CreateInstance <ReqNotEmpty>()); AddReq("platform", CreateInstance <ReqPlatform>()); AddReq("questCount", CreateInstance <ReqQuestCount>()); AddReq("questFinish", CreateInstance <ReqQuestFinish>()); AddReq("res", CreateInstance <ReqRes>()); AddReq("research", CreateInstance <ReqResearch>()); AddReq("round", CreateInstance <ReqRoundCount>()); AddReq("saveFileCount", CreateInstance <ReqSaveFileCount>()); AddReq("season", CreateInstance <ReqSeason>()); AddReq("terrain", CreateInstance <ReqTerrain>()); AddReq("terrainCategory", CreateInstance <ReqTerrainCategory>()); AddReq("terrainNear", CreateInstance <ReqTerrainNear>()); AddReq("terrainRes", CreateInstance <ReqTerrainRes>()); AddReq("townCount", CreateInstance <ReqTownCount>()); AddReq("townLevel", CreateInstance <ReqTownLevel>()); AddReq("townNear", CreateInstance <ReqTownNear>()); AddReq("unit", CreateInstance <ReqUnit>()); AddReq("unitCount", CreateInstance <ReqUnitCount>()); AddReq("unitDest", CreateInstance <ReqUnitDest>()); AddReq("unitOwn", CreateInstance <ReqUnitOwn>()); AddReq("update", CreateInstance <ReqUpdate>()); AddReq("upgrade", CreateInstance <ReqUpgradeCan>()); AddReq("upgradeField", CreateInstance <ReqUpgradeField>()); AddReq("frontier", CreateInstance <ReqFrontier>()); AddReq("stat", CreateInstance <ReqStat>()); AddReq("spellCount", CreateInstance <ReqSpellCount>()); AddReq("buildingCategory", CreateInstance <ReqBuildingCategory>()); AddReq("dayOfYear", CreateInstance <ReqDayOfYear>()); }
/// <summary> /// Check if the req allow it /// </summary> /// <param name="player"></param> /// <param name="reqs"></param> /// <returns>true=can use it, false=not possible</returns> public static bool Check(Player player, Dictionary <string, string> reqs) { foreach (KeyValuePair <string, string> req in reqs) { //can use it? if (!OLib.GetReq(req.Key).Check(player, req.Value)) { return(false); } } return(true); }
/// <summary> /// Check if the req allow it /// </summary> /// <param name="player"></param> /// <param name="reqs"></param> /// <param name="onMap"></param> /// <param name="pos"></param> /// <returns>true=can use it, false=not possible</returns> public static bool Check(Player player, Dictionary <string, string> reqs, MapElementInfo onMap, NVector pos) { foreach (KeyValuePair <string, string> req in reqs) { //can use it? if (!OLib.GetReq(req.Key).Check(player, onMap, req.Value, pos)) { return(false); } } return(true); }
/// <summary> /// Check if the req allow it /// </summary> /// <param name="player"></param> /// <param name="reqs"></param> /// <returns>true=can use it, false=not possible</returns> public static bool CheckOnlyFinal(Player player, Dictionary <string, string> reqs) { foreach (KeyValuePair <string, string> req in reqs) { //can use it? BaseReq r = OLib.GetReq(req.Key); if (!r.Check(player, req.Value) && r.Final(player, req.Value)) { return(false); } } return(true); }
/// <summary> /// Check if the req allow it /// </summary> /// <param name="player"></param> /// <param name="final"></param> /// <returns>true=can use it, false=not possible</returns> public bool Check(Player player, bool final = false) { foreach (var req in reqs) { //can use it? BaseReq r = OLib.GetReq(req[0]); if (!r.Check(player, req[1]) && (r.Final(player, req[1]) || !final)) { return(false); } } return(true); }
/// <summary> /// Check if the req allow it /// </summary> /// <param name="player"></param> /// <param name="onMap"></param> /// <param name="pos"></param> /// <param name="final"></param> /// <returns>true=can use it, false=not possible</returns> public bool Check(Player player, MapElementInfo onMap, NVector pos, bool final = false) { foreach (var req in reqs) { //can use it? BaseReq r = OLib.GetReq(req[0]); if (!r.Check(player, onMap, req[1], pos) && (r.Final(player, onMap, req[1], pos) || !final)) { return(false); } } return(true); }
public void AddReq(string title, Dictionary <string, string> reqs, MapElementInfo onMap, NVector pos) { //addHeader if (reqs.Count > 0) { AddHeaderLabel(title); } //add req foreach (KeyValuePair <string, string> req in reqs) { BaseReq r = OLib.GetReq(req.Key); AddImageLabel(r.Desc(S.ActPlayer(), onMap, req.Value, pos), r.Check(S.ActPlayer(), onMap, req.Value, pos) ? "ui:yes" : "ui:no"); } }
/// <summary> /// Return the description, why the check its not working /// </summary> /// <param name="player"></param> /// <param name="reqs"></param> /// <param name="onMap"></param> /// <param name="x"></param> /// <param name="y"></param> /// <returns>the error message or null</returns> public static string Desc(Player player, Dictionary <string, string> reqs) { foreach (KeyValuePair <string, string> req in reqs) { BaseReq br = OLib.GetReq(req.Key); //can use it? if (!br.Check(player, req.Value)) { return(br.Desc(player, req.Value)); } } return(null); }
/// <summary> /// Return the description, why the check its not working or null /// </summary> /// <param name="player"></param> /// <param name="reqs"></param> /// <param name="onMap"></param> /// <param name="pos"></param> /// <returns>the error message or null</returns> public static string Desc(Player player, Dictionary <string, string> reqs, MapElementInfo onMap, NVector pos) { foreach (KeyValuePair <string, string> req in reqs) { BaseReq br = OLib.GetReq(req.Key); //can use it? if (!br.Check(player, onMap, req.Value, pos)) { return(br.Desc(player, onMap, req.Value, pos)); } } return(null); }
/// <summary> /// Return the description, why the check its not working or null /// </summary> /// <param name="player"></param> /// <param name="reqs"></param> /// <param name="onMap"></param> /// <param name="pos"></param> /// <returns>the error message or null</returns> public string Desc(Player player, MapElementInfo onMap, NVector pos) { foreach (var req in reqs) { BaseReq br = OLib.GetReq(req[0]); //can use it? if (!br.Check(player, onMap, req[1], pos)) { return(br.Desc(player, onMap, req[1], pos)); } } return(null); }
/// <summary> /// Return the description, why the check its not working /// </summary> /// <param name="player"></param> /// <returns>the error message or null</returns> public string Desc(Player player) { foreach (var req in reqs) { BaseReq br = OLib.GetReq(req[0]); //can use it? if (!br.Check(player, req[1])) { return(br.Desc(player, req[1])); } } return(null); }
public void AddReq(string title, Dictionary <string, string> reqs) { //addHeader if (reqs.Count == 0) { return; } AddHeaderLabel(title); //add req foreach (KeyValuePair <string, string> req in reqs) { AddLabel(OLib.GetReq(req.Key).Desc(null, req.Value)); } }
public void AddReqCheck(string title, Dictionary <string, string> reqs) { //addHeader if (reqs.Count == 0) { return; } AddHeaderLabel(title); //add req foreach (KeyValuePair <string, string> req in reqs) { BaseReq r = OLib.GetReq(req.Key); AddImageLabel(r.Desc(null, req.Value), r.Check(S.ActPlayer(), req.Value) ? "ui:yes" : "ui:no"); } }
public void BuildPanel(PanelBuilder panel, string title, MapElementInfo onMap, NVector pos) { try { //addHeader if (reqs.Count == 0) { return; } panel.AddHeaderLabel(title); //add req foreach (var req in reqs) { BaseReq r = OLib.GetReq(req[0]); panel.AddImageLabel(r.Desc(S.ActPlayer(), onMap, req[1], pos), r.Check(S.ActPlayer(), onMap, req[1], pos)); } } catch (Exception e) { ExceptionHelper.ShowException(e); } }