本文整理汇总了C#中GameObjects.Faction.AddArchitectureKnownData方法的典型用法代码示例。如果您正苦于以下问题:C# Faction.AddArchitectureKnownData方法的具体用法?C# Faction.AddArchitectureKnownData怎么用?C# Faction.AddArchitectureKnownData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObjects.Faction
的用法示例。
在下文中一共展示了Faction.AddArchitectureKnownData方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: 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);
}
}
示例2: 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 (Military military in this.Militaries)
{
this.BelongedFaction.RemoveMilitary(military);
}
this.PurifyFactionInfluences();
this.BelongedFaction = null;
faction.AddArchitecture(this);
faction.AddArchitectureKnownData(this);
foreach (Captive captive in this.Captives.GetList())
{
if (captive.CaptiveFaction == faction)
{
captive.CaptivePerson.Status = PersonStatus.Normal;
captive.CaptivePerson.BelongedCaptive = null;
}
}
foreach (Military military in this.Militaries)
{
faction.AddMilitary(military);
}
foreach (Routeway routeway in this.Routeways)
{
faction.AddRouteway(routeway);
}
faction.FirstSection.AddArchitecture(this);
this.ApplyFactionInfluences();
}
if (faction != null)
{
//this.jianzhuqizi.qizidezi.Text = faction.ToString().Substring(0, 1);
}
}
示例3: CreateNewFaction
private void CreateNewFaction(Person leader)
{
if (leader.Status != PersonStatus.NoFaction) return;
if (leader.LocationArchitecture.BelongedFaction != null) return;
Faction newFaction = new Faction();
newFaction.Scenario = this;
newFaction.ID = this.Factions.GetFreeGameObjectID();
this.Factions.AddFactionWithEvent(newFaction);
foreach (Faction faction2 in this.Factions)
{
if (faction2 != newFaction)
{
this.DiplomaticRelations.AddDiplomaticRelation(this, newFaction.ID, faction2.ID, 0);
}
}
newFaction.Leader = leader;
leader.Loyalty = 100;
newFaction.Reputation = leader.Reputation;
newFaction.Name = leader.Name;
if (leader.PersonBiography != null)
{
foreach (MilitaryKind kind in leader.PersonBiography.MilitaryKinds.MilitaryKinds.Values)
{
newFaction.BaseMilitaryKinds.AddMilitaryKind(kind);
}
newFaction.ColorIndex = leader.PersonBiography.FactionColor;
}
else
{
newFaction.BaseMilitaryKinds.AddBasicMilitaryKinds(this);
newFaction.ColorIndex = -1;
}
List<int> allUnusedColors = new List<int>();
for (int i = 0; i < this.GameCommonData.AllColors.Count; ++i)
{
allUnusedColors.Add(i);
}
foreach (Faction f in this.Factions)
{
allUnusedColors.Remove(f.ColorIndex);
}
if (allUnusedColors.Count == 0)
{
newFaction.ColorIndex = GameObject.Random(this.GameCommonData.AllColors.Count);
}
else
{
if (!allUnusedColors.Contains(newFaction.ColorIndex))
{
newFaction.ColorIndex = allUnusedColors[GameObject.Random(allUnusedColors.Count)];
}
}
newFaction.FactionColor = this.GameCommonData.AllColors[newFaction.ColorIndex];
Architecture newFactionCapital = leader.LocationArchitecture;
Faction oldFaction = newFactionCapital.BelongedFaction;
newFaction.Capital = newFactionCapital;
if (leader.BelongedFaction == null)
{
leader.Status = PersonStatus.Normal;
}
else
{
this.ChangeDiplomaticRelation(newFaction.ID, newFactionCapital.BelongedFaction.ID, -500);
}
newFaction.PrepareData();
newFactionCapital.ResetFaction(newFaction);
newFaction.AddArchitectureKnownData(newFactionCapital);
newFaction.FirstSection.AddArchitecture(newFactionCapital);
if (oldFaction != null && !GameObject.Chance((int)oldFaction.Leader.PersonalLoyalty * 10))
{
oldFaction.Leader.AddHated(leader);
}
foreach (Person p in this.AvailablePersons)
{
if ((p.BelongedFaction == null || p.BelongedFaction == oldFaction) && !p.IsCaptive && p.Status != PersonStatus.Princess && p != leader)
{
if (p.HasCloseStrainTo(leader) || p.IsVeryCloseTo(leader) || (GameObject.Chance(100 - (Person.GetIdealOffset(leader, p)) * 20)))
{
if (p.BelongedFaction == null || (GameObject.Chance(100 - ((int)p.PersonalLoyalty) * 25) && GameObject.Chance(220 - p.Loyalty * 2)))
{
if (p.BelongedFaction != null)
{
p.ChangeFaction(newFaction);
}
p.InitialLoyalty();
p.MoveToArchitecture(newFactionCapital);
}
}
}
}
ExtensionInterface.call("CreateNewFaction", new Object[]{this, oldFaction, newFaction, newFactionCapital});
//.........这里部分代码省略.........