当前位置: 首页>>代码示例>>C#>>正文


C# Troop.SetLeader方法代码示例

本文整理汇总了C#中GameObjects.Troop.SetLeader方法的典型用法代码示例。如果您正苦于以下问题:C# Troop.SetLeader方法的具体用法?C# Troop.SetLeader怎么用?C# Troop.SetLeader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GameObjects.Troop的用法示例。


在下文中一共展示了Troop.SetLeader方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreateSimulateTroop

 public static Troop CreateSimulateTroop(Architecture architecture, GameObjectList persons, Person Leader, Military military, int rationdays, Point startPosition)
 {
     Troop troop = new Troop();
     troop.Scenario = architecture.Scenario;
     troop.BelongedFaction = architecture.BelongedFaction;
     troop.Simulating = true;
     troop.TechnologyIncrement = architecture.Technology / 50;
     troop.StartingArchitecture = architecture;
     if (persons != null)
     {
         foreach (Person person in persons)
         {
             troop.AddPerson(person);
         }
         troop.SetLeader(Leader);
     }
     if (military != null)
     {
         troop.BackupArmyLeaderID = (military.Leader != null) ? military.Leader.ID : -1;
         troop.BackupArmyLeaderExperience = military.LeaderExperience;
         troop.BackupArmyLeader = military.Leader;
         troop.Army = military;
         troop.Food = military.FoodCostPerDay * rationdays;
     }
     if (persons != null)
     {
         troop.SimulateInitializePosition(startPosition);
         foreach (Person person in persons)
         {
             person.LocationTroop = null;
         }
     }
     troop.Simulating = false;
     if (military != null)
     {
         military.Leader = troop.BackupArmyLeader;
         military.LeaderExperience = troop.BackupArmyLeaderExperience;
         military.LeaderID = troop.BackupArmyLeaderID;
     }
     return troop;
 }
开发者ID:skicean,项目名称:ZhongHuaSanGuoZhi,代码行数:41,代码来源:Troop.cs

示例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 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;
 }
开发者ID:skicean,项目名称:ZhongHuaSanGuoZhi,代码行数:72,代码来源:Troop.cs

示例3: 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;
 }
开发者ID:skicean,项目名称:ZhongHuaSanGuoZhi,代码行数:83,代码来源:Troop.cs


注:本文中的GameObjects.Troop.SetLeader方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。