コード例 #1
0
        public void Notify_CaravanArrived(Caravan caravan)
        {
            Pawn pawn = BestCaravanPawnUtility.FindBestDiplomat(caravan: caravan);

            if (pawn == null)
            {
                Messages.Message(text: "MessagePeaceTalksNoDiplomat".Translate(), lookTargets: caravan, def: MessageTypeDefOf.NegativeEvent, historical: false);
            }
            else
            {
                CameraJumper.TryJumpAndSelect(target: caravan);
                var dialogue = new FactionWarDialogue(pawn: pawn, factionOne: this.factionOne, factionInstigator: this.factionInstigator, incidentTarget: caravan);
                var nodeRoot = dialogue.FactionWarPeaceTalks();
                Find.WindowStack.Add(window: new Dialogue_FactionWarNegotiation(factionOne: this.factionOne, factionInstigator: this.factionInstigator, nodeRoot: nodeRoot));
                this.canRemoveWithoutPostRemove = true;
                Find.WorldObjects.Remove(this);
            }
        }
コード例 #2
0
        public void Notify_CaravanArrived(Caravan caravan)
        {
            var pawn = BestCaravanPawnUtility.FindBestDiplomat(caravan);

            if (pawn == null)
            {
                Messages.Message("MessagePeaceTalksNoDiplomat".Translate(), caravan, MessageTypeDefOf.NegativeEvent,
                                 false);
            }
            else
            {
                CameraJumper.TryJumpAndSelect(caravan);
                var dialogue = new FactionWarDialogue(pawn, factionOne, factionInstigator, caravan);
                var nodeRoot = dialogue.FactionWarPeaceTalks();
                Find.WindowStack.Add(new Dialogue_FactionWarNegotiation(factionOne, factionInstigator, nodeRoot));
                canRemoveWithoutPostRemove = true;
                Find.WorldObjects.Remove(this);
            }
        }