本文整理汇总了C#中GameObjects.Faction.AddCaptive方法的典型用法代码示例。如果您正苦于以下问题:C# Faction.AddCaptive方法的具体用法?C# Faction.AddCaptive怎么用?C# Faction.AddCaptive使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObjects.Faction
的用法示例。
在下文中一共展示了Faction.AddCaptive方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Create
public static Captive Create(GameScenario scenario, Person person, Faction faction)
{
if (person.BelongedFaction == null)
{
return null;
}
if (person.BelongedFaction == faction)
{
return null;
}
Captive captive = new Captive();
captive.Scenario = scenario;
captive.ID = scenario.Captives.GetFreeGameObjectID();
captive.CaptivePerson = person;
person.BelongedCaptive = captive;
captive.CaptiveFaction = person.BelongedFaction;
scenario.Captives.AddCaptiveWithEvent(captive);
captive.CaptiveFaction.AddSelfCaptive(captive);
faction.AddCaptive(captive);
return captive;
}
示例2: 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());
}
}
示例3: ChangeFaction
public void ChangeFaction(Faction faction)
{
this.ResetAuto();
if ((faction != null) && base.Scenario.IsPlayer(faction))
{
this.AutoHiring = true;
this.AutoRewarding = true;
}
if ((faction != null) && (this.BelongedFaction != null))
{
this.BelongedFaction.Architectures.Remove(this);
this.BelongedFaction.RemoveArchitectureKnownData(this);
if (!base.Scenario.IsPlayer(this.BelongedFaction))
{
this.ClearRouteways();
}
else
{
foreach (Routeway routeway in this.Routeways)
{
this.BelongedFaction.RemoveRouteway(routeway);
}
}
foreach (Person person in this.Persons)
{
this.BelongedFaction.RemovePerson(person);
}
foreach (Person person in this.MovingPersons)
{
this.BelongedFaction.RemovePerson(person);
}
foreach (Captive captive in this.Captives)
{
this.BelongedFaction.RemoveCaptive(captive);
}
foreach (Military military in this.Militaries)
{
this.BelongedFaction.RemoveMilitary(military);
}
this.BelongedFaction = null;
faction.AddArchitecture(this);
faction.AddArchitectureKnownData(this);
faction.AddArchitecturePersons(this);
foreach (Person person in this.MovingPersons)
{
faction.AddPerson(person);
}
foreach (Captive captive in this.Captives.GetList())
{
if (captive.CaptiveFaction == faction)
{
captive.CaptivePerson.BelongedCaptive = null;
this.RemoveCaptive(captive);
captive.CaptiveFaction.RemoveSelfCaptive(captive);
base.Scenario.Captives.Remove(captive);
}
else
{
faction.AddCaptive(captive);
}
}
this.InformationCoolDown = 0;
foreach (Military military in this.Militaries)
{
faction.AddMilitary(military);
}
foreach (Routeway routeway in this.Routeways)
{
faction.AddRouteway(routeway);
}
faction.FirstSection.AddArchitecture(this);
}
if (faction != null)
{
this.jianzhuqizi.qizidezi.Text = faction.ToString().Substring(0, 1);
}
}