Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
    // 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>());
    }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 5
0
        /// <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);
        }
Ejemplo n.º 6
0
        /// <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);
        }
Ejemplo n.º 7
0
        /// <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);
        }
Ejemplo n.º 8
0
        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");
            }
        }
Ejemplo n.º 9
0
        /// <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);
        }
Ejemplo n.º 10
0
        /// <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);
        }
Ejemplo n.º 11
0
        /// <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);
        }
Ejemplo n.º 12
0
        /// <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);
        }
Ejemplo n.º 13
0
        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));
            }
        }
Ejemplo n.º 14
0
        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");
            }
        }
Ejemplo n.º 15
0
        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);
            }
        }