本文整理汇总了C#中GameObjects.Architecture.RemovePerson方法的典型用法代码示例。如果您正苦于以下问题:C# Architecture.RemovePerson方法的具体用法?C# Architecture.RemovePerson怎么用?C# Architecture.RemovePerson使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObjects.Architecture
的用法示例。
在下文中一共展示了Architecture.RemovePerson方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Create
public static Troop Create(Architecture from, GameObjectList persons, Person leader, Military military, int food, Point position)
{
Troop troop = new Troop();
troop.Scenario = from.Scenario;
troop.destination = position;
troop.realDestination = position;
troop.StartingArchitecture = from;
troop.ID = troop.Scenario.Troops.GetFreeGameObjectID();
foreach (Person person in persons.GetList())
{
troop.AddPerson(person);
from.RemovePerson(person);
}
troop.SetLeader(leader);
if (from.BelongedFaction != null)
{
from.BelongedFaction.AddTroop(troop);
troop.TechnologyIncrement = from.Technology / 50;
if (military.ShelledMilitary == null)
{
from.RemoveMilitary(military);
}
else
{
from.RemoveMilitary(military.ShelledMilitary);
from.Scenario.Militaries.AddMilitary(military);
}
}
troop.Army = military;
if (food < 0)
{
if (from.Food > (6 * military.FoodMax))
{
troop.Food = military.FoodMax;
}
else if (from.Food > (3 * military.FoodMax))
{
troop.Food = military.FoodCostPerDay * ((int) Math.Ceiling((double) (((float) military.RationDays) / 2f)));
}
else if (from.Food > military.FoodMax)
{
troop.Food = military.FoodCostPerDay * (1 + (military.RationDays / 4));
}
else if (from.Food > (military.FoodCostPerDay * (1 + (military.RationDays / 6))))
{
troop.Food = military.FoodCostPerDay * (1 + (military.RationDays / 6));
}
else if (from.Food > military.FoodCostPerDay)
{
troop.Food = military.FoodCostPerDay;
}
else
{
troop.Food = 0;
}
}
else
{
troop.Food = food;
}
if (troop.Food > 0)
{
from.DecreaseFood(troop.Food);
}
troop.InitializePosition(position);
troop.Scenario.Troops.AddTroopWithEvent(troop);
if (troop.OnTroopCreate != null)
{
troop.OnTroopCreate(troop);
}
return troop;
}
示例2: CheckCaptiveOnOccupy
private void CheckCaptiveOnOccupy(Architecture a)
{
if ((this.BelongedFaction != null) && (a.BelongedFaction != null))
{
PersonList personlist = new PersonList();
foreach (Person person in a.Persons)
{
if (!(person.ImmunityOfCaptive || (GameObject.Random(this.CaptiveAblility) <= GameObject.Random(person.CaptiveAbility + 200))))
{
personlist.Add(person);
}
}
if (personlist.Count > 0)
{
foreach (Person person in personlist)
{
a.RemovePerson(person);
Captive captive = Captive.Create(base.Scenario, person, this.BelongedFaction);
if (captive != null)
{
this.AddCaptive(captive);
}
}
if (this.OnGetNewCaptive != null)
{
this.OnGetNewCaptive(this, personlist);
}
}
}
}