コード例 #1
0
        protected override bool CanFireNowSub(IncidentParms parms)
        {
            GameConditionManager gameConditionManager = parms.target.GameConditionManager;
            bool result;

            if (gameConditionManager == null)
            {
                Log.ErrorOnce(string.Format("Couldn't find condition manager for incident target {0}", parms.target), 70849667, false);
                result = false;
            }
            else if (gameConditionManager.ConditionIsActive(this.def.gameCondition))
            {
                result = false;
            }
            else
            {
                List <GameCondition> activeConditions = gameConditionManager.ActiveConditions;
                for (int i = 0; i < activeConditions.Count; i++)
                {
                    if (!this.def.gameCondition.CanCoexistWith(activeConditions[i].def))
                    {
                        return(false);
                    }
                }
                result = true;
            }
            return(result);
        }
コード例 #2
0
        // Token: 0x06000E1B RID: 3611 RVA: 0x00069AE0 File Offset: 0x00067EE0
        protected override bool CanFireNowSub(IncidentParms parms)
        {
            GameConditionManager gameConditionManager = parms.target.GameConditionManager;

            if (gameConditionManager == null)
            {
                Log.ErrorOnce(string.Format("Couldn't find condition manager for incident target {0}", parms.target), 70849667, false);
                return(false);
            }
            if (gameConditionManager.ConditionIsActive(this.def.gameCondition))
            {
                return(false);
            }
            List <GameCondition> activeConditions = gameConditionManager.ActiveConditions;

            for (int i = 0; i < activeConditions.Count; i++)
            {
                if (!this.def.gameCondition.CanCoexistWith(activeConditions[i].def))
                {
                    return(false);
                }
            }
            Map     map = (Map)parms.target;
            IntVec3 intVec;
            Faction faction = Find.FactionManager.FirstFactionOfDef(XenomorphDefOf.RRY_Xenomorph);

            return(this.TryFindSpawnSpot(map, out intVec) && faction != null);

            return(true);
        }
コード例 #3
0
        protected override bool CanFireNowSub(IncidentParms parms)
        {
            GameConditionManager gameConditionManager = parms.target.GameConditionManager;

            if (gameConditionManager == null)
            {
                Log.ErrorOnce($"Couldn't find condition manager for incident target {parms.target}", 70849667);
                return(false);
            }
            if (gameConditionManager.ConditionIsActive(def.gameCondition))
            {
                return(false);
            }
            List <GameCondition> activeConditions = gameConditionManager.ActiveConditions;

            for (int i = 0; i < activeConditions.Count; i++)
            {
                if (!def.gameCondition.CanCoexistWith(activeConditions[i].def))
                {
                    return(false);
                }
            }
            return(true);
        }
コード例 #4
0
        protected override bool CanFireNowSub(IIncidentTarget target)
        {
            GameConditionManager gameConditionManager = target.GameConditionManager;

            if (gameConditionManager == null)
            {
                Log.ErrorOnce(string.Format("Couldn't find condition manager for incident target {0}", target), 70849667);
                return(false);
            }
            if (gameConditionManager.ConditionIsActive(this.def.gameCondition))
            {
                return(false);
            }
            List <GameCondition> activeConditions = gameConditionManager.ActiveConditions;

            for (int i = 0; i < activeConditions.Count; i++)
            {
                if (!this.def.gameCondition.CanCoexistWith(activeConditions[i].def))
                {
                    return(false);
                }
            }
            return(true);
        }