本文整理汇总了C#中GameObjects.Architecture.DecreaseFood方法的典型用法代码示例。如果您正苦于以下问题:C# Architecture.DecreaseFood方法的具体用法?C# Architecture.DecreaseFood怎么用?C# Architecture.DecreaseFood使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObjects.Architecture
的用法示例。
在下文中一共展示了Architecture.DecreaseFood方法的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: 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 p in persons.GetList())
{
troop.persons.Add(p);
p.LocationTroop = troop;
if (p.LocationArchitecture != null)
{
p.LocationArchitecture = null;
p.OldWorkKind = p.WorkKind;
p.WorkKind = ArchitectureWorkKind.无;
}
}
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.SetMapTileTroop(troop);
troop.Scenario.Troops.AddTroopWithEvent(troop);
if (troop.OnTroopCreate != null)
{
troop.OnTroopCreate(troop);
}
troop.Scenario.ClearPersonStatusCache();
//troop.Persons.ApplyInfluences();
troop.RefreshAllData();
ExtensionInterface.call("CreateTroop", new Object[] { troop.Scenario, troop });
return troop;
}