Пример #1
0
        public void EndAgreement(AllianceAgreementComp allianceAgreementComp, AgreementEndReason agreementEndReason)
        {
            if (AllianceAgreements.Contains(allianceAgreementComp))
            {
                allianceAgreementComp.End(agreementEndReason);

                AllianceAgreements.Remove(allianceAgreementComp);
            }
        }
Пример #2
0
        public bool AddAgreement(AllianceAgreementDef allianceAgreementDef, FactionInteraction signedFaction, int endTicks)
        {
            if (!CanSignAgreement(allianceAgreementDef, out string reason))
            {
                Messages.Message("Alliance_AddAgreement_False".Translate(reason), MessageTypeDefOf.NeutralEvent);
                return(false);
            }

            AllianceAgreementComp allianceAgreementComp = (AllianceAgreementComp)Activator.CreateInstance(allianceAgreementDef.Comp.compClass);

            allianceAgreementComp.AllianceAgreementDef = allianceAgreementDef;
            allianceAgreementComp.SignedFaction        = signedFaction;
            allianceAgreementComp.OwnerFaction         = QuestsManager.Communications.FactionManager.GetInteraction(FactionOwner);
            allianceAgreementComp.EndTicks             = Find.TickManager.TicksGame + endTicks;
            allianceAgreementComp.SignTicks            = Find.TickManager.TicksGame;
            allianceAgreementComp.Alliance             = this;

            AllianceAgreements.Add(allianceAgreementComp);

            return(true);
        }
Пример #3
0
 public AllianceAgreementComp GetAgreement(AllianceAgreementDef allianceAgreementDef)
 {
     return(AllianceAgreements.FirstOrDefault(x => x.AllianceAgreementDef == allianceAgreementDef));
 }
Пример #4
0
 public bool AgreementActive(AllianceAgreementDef allianceAgreementDef)
 {
     return(AllianceAgreements.Any(x => x.AllianceAgreementDef == allianceAgreementDef));
 }
Пример #5
0
        public bool AddAgreement(AllianceAgreementComp allianceAgreementComp)
        {
            AllianceAgreements.Add(allianceAgreementComp);

            return(true);
        }