public override bool CanCoexistWith(ScenPart other)
        {
            if (this.gameCondition == null)
            {
                return(true);
            }
            ScenPart_PermaGameCondition scenPart_PermaGameCondition = other as ScenPart_PermaGameCondition;

            return(scenPart_PermaGameCondition == null || this.gameCondition.CanCoexistWith(scenPart_PermaGameCondition.gameCondition));
        }
 public override void DoEditInterface(Listing_ScenEdit listing)
 {
     if (Widgets.ButtonText(listing.GetScenPartRect(this, ScenPart.RowHeight), gameCondition.LabelCap))
     {
         FloatMenuUtility.MakeMenu(AllowedGameConditions(), (GameConditionDef d) => d.LabelCap, delegate(GameConditionDef d)
         {
             ScenPart_PermaGameCondition scenPart_PermaGameCondition = this;
             return(delegate
             {
                 scenPart_PermaGameCondition.gameCondition = d;
             });
         });
     }
 }
        public override bool CanCoexistWith(ScenPart other)
        {
            if (gameCondition == null)
            {
                return(true);
            }
            ScenPart_PermaGameCondition scenPart_PermaGameCondition = other as ScenPart_PermaGameCondition;

            if (scenPart_PermaGameCondition != null && !gameCondition.CanCoexistWith(scenPart_PermaGameCondition.gameCondition))
            {
                return(false);
            }
            return(true);
        }
        public override bool CanCoexistWith(ScenPart other)
        {
            bool result;

            if (this.gameCondition == null)
            {
                result = true;
            }
            else
            {
                ScenPart_PermaGameCondition scenPart_PermaGameCondition = other as ScenPart_PermaGameCondition;
                if (scenPart_PermaGameCondition != null)
                {
                    if (!this.gameCondition.CanCoexistWith(scenPart_PermaGameCondition.gameCondition))
                    {
                        return(false);
                    }
                }
                result = true;
            }
            return(result);
        }