本文整理汇总了C#中GameObjects.Faction.AddTroop方法的典型用法代码示例。如果您正苦于以下问题:C# Faction.AddTroop方法的具体用法?C# Faction.AddTroop怎么用?C# Faction.AddTroop使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObjects.Faction
的用法示例。
在下文中一共展示了Faction.AddTroop方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ChangeFaction
public void ChangeFaction(Faction faction)
{
if ((faction != null) && (this.BelongedFaction != null))
{
if (this.BelongedLegion.BelongedFaction != faction)
{
this.BelongedLegion.BelongedFaction.RemoveLegion(this.BelongedLegion);
faction.AddLegion(this.BelongedLegion);
if ((this.BelongedLegion.Kind == LegionKind.Offensive) && (this.BelongedLegion.WillArchitecture.BelongedFaction == faction))
{
this.BelongedLegion.Kind = LegionKind.Defensive;
}
}
this.BelongedFaction.Troops.Remove(this);
this.BelongedFaction.RemoveTroopKnownAreaData(this);
foreach (Person person in this.Persons)
{
this.BelongedFaction.RemovePerson(person);
}
foreach (Captive captive in this.Captives)
{
this.BelongedFaction.RemoveCaptive(captive);
}
this.BelongedFaction.RemoveMilitary(this.Army);
this.BelongedFaction = null;
faction.AddTroop(this);
faction.AddTroopKnownAreaData(this);
foreach (Person person in this.Persons)
{
faction.AddPerson(person);
}
foreach (Captive captive in this.Captives.GetList())
{
if (captive.CaptiveFaction == faction)
{
captive.CaptivePerson.MoveToArchitecture(captive.CaptiveFaction.Capital);
captive.CaptivePerson.BelongedCaptive = null;
this.RemoveCaptive(captive);
captive.CaptiveFaction.RemoveSelfCaptive(captive);
base.Scenario.Captives.Remove(captive);
}
else
{
faction.AddCaptive(captive);
}
}
faction.AddMilitary(this.Army);
this.RefreshWithPersonList(this.Persons.GetList());
}
}