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


C# GameObjects.ArchitectureList类代码示例

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


ArchitectureList类属于GameObjects命名空间,在下文中一共展示了ArchitectureList类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: EditArchitectures

 private void EditArchitectures()
 {
     ArchitectureList list = new ArchitectureList();
     for (int i = 0; i < this.dgvArchitectures.SelectedRows.Count; i++)
     {
         list.Add(this.Architectures[this.dgvArchitectures.SelectedRows[i].Index]);
     }
     frmEditArchitecture architecture = new frmEditArchitecture();
     architecture.MainForm = this.MainForm;
     architecture.Architectures = list;
     architecture.ShowDialog();
     this.dgvArchitectures.Invalidate();
 }
开发者ID:skicean,项目名称:ZhongHuaSanGuoZhi,代码行数:13,代码来源:frmArchitectureList.cs

示例2: LoadArchitecturesFromString

 public List<string> LoadArchitecturesFromString(ArchitectureList architectures, string dataString)
 {
     List<string> errorMsg = new List<string>();
     char[] separator = new char[] { ' ', '\n', '\r', '\t' };
     string[] strArray = dataString.Split(separator, StringSplitOptions.RemoveEmptyEntries);
     this.Architectures.Clear();
     try
     {
         foreach (string str in strArray)
         {
             Architecture gameObject = architectures.GetGameObject(int.Parse(str)) as Architecture;
             if (gameObject != null)
             {
                 this.AddArchitecture(gameObject);
             }
             else
             {
                 errorMsg.Add("建筑ID" + str + "不存在");
             }
         }
     }
     catch
     {
         errorMsg.Add("建筑列表应为半型空格分隔的建筑ID");
     }
     if (this.ArchitectureCount == 0)
     {
         errorMsg.Add("没有建筑");
     }
     return errorMsg;
 }
开发者ID:skicean,项目名称:ZhongHuaSanGuoZhi,代码行数:31,代码来源:Section.cs

示例3: ShowOrientationFrame

        private void ShowOrientationFrame()
        {
            GameDelegates.VoidFunction function = null;
            GameDelegates.VoidFunction function2 = null;
            GameDelegates.VoidFunction function3 = null;
            switch (this.EditingSection.AIDetail.OrientationKind)
            {
                case SectionOrientationKind.军区:
                    this.TabListPlugin.InitialValues(this.EditingFaction.GetOtherSections(this.OriginalSection), null, this.screen.MouseState.ScrollWheelValue, "");
                    this.TabListPlugin.SetListKindByName("Section", true, false);
                    this.TabListPlugin.SetSelectedTab("");
                    this.GameFramePlugin.Kind = FrameKind.TerrainDetail;
                    this.GameFramePlugin.Function = FrameFunction.Transport;
                    this.GameFramePlugin.SetFrameContent(this.TabListPlugin.TabList, this.screen.viewportSize);
                    this.GameFramePlugin.OKButtonEnabled = false;
                    this.GameFramePlugin.CancelButtonEnabled = true;
                    if (function == null)
                    {
                        function = delegate {
                            this.EditingSection.OrientationFaction = null;
                            this.EditingSection.OrientationState = null;
                            this.EditingSection.OrientationArchitecture = null;
                            this.EditingSection.OrientationSection = this.TabListPlugin.SelectedItem as Section;
                            this.RefreshOKButton();
                            this.RefreshLabelTextsDisplay();
                        };
                    }
                    this.GameFramePlugin.SetOKFunction(function);
                    break;

                case SectionOrientationKind.势力:
                    this.TabListPlugin.InitialValues(this.EditingFaction.Scenario.DiplomaticRelations.GetDiplomaticRelationDisplayListByFactionID(this.EditingFaction.ID).GetList(), null, this.screen.MouseState.ScrollWheelValue, "");
                    this.TabListPlugin.SetListKindByName("DiplomaticRelation", true, false);
                    this.TabListPlugin.SetSelectedTab("");
                    this.GameFramePlugin.Kind = FrameKind.CastTargetKind;
                    this.GameFramePlugin.Function = FrameFunction.GetSectionToDemolish;
                    this.GameFramePlugin.SetFrameContent(this.TabListPlugin.TabList, this.screen.viewportSize);
                    this.GameFramePlugin.OKButtonEnabled = false;
                    this.GameFramePlugin.CancelButtonEnabled = true;
                    if (function2 == null)
                    {
                        function2 = delegate {
                            this.EditingSection.OrientationSection = null;
                            this.EditingSection.OrientationState = null;
                            this.EditingSection.OrientationArchitecture = null;
                            DiplomaticRelationDisplay selectedItem = this.TabListPlugin.SelectedItem as DiplomaticRelationDisplay;
                            if (selectedItem.LinkedFaction1 == this.EditingFaction)
                            {
                                this.EditingSection.OrientationFaction = selectedItem.LinkedFaction2;
                            }
                            else if (selectedItem.LinkedFaction2 == this.EditingFaction)
                            {
                                this.EditingSection.OrientationFaction = selectedItem.LinkedFaction1;
                            }
                            this.RefreshOKButton();
                            this.RefreshLabelTextsDisplay();
                        };
                    }
                    this.GameFramePlugin.SetOKFunction(function2);
                    break;

                case SectionOrientationKind.州域:
                    this.TabListPlugin.InitialValues(this.EditingFaction.Scenario.States.GetList(), null, this.screen.MouseState.ScrollWheelValue, "");
                    this.TabListPlugin.SetListKindByName("State", true, false);
                    this.TabListPlugin.SetSelectedTab("");
                    this.GameFramePlugin.Kind = FrameKind.SectionAIDetail;
                    this.GameFramePlugin.Function = FrameFunction.GetFaction;
                    this.GameFramePlugin.SetFrameContent(this.TabListPlugin.TabList, this.screen.viewportSize);
                    this.GameFramePlugin.OKButtonEnabled = false;
                    this.GameFramePlugin.CancelButtonEnabled = true;
                    if (function3 == null)
                    {
                        function3 = delegate {
                            this.EditingSection.OrientationFaction = null;
                            this.EditingSection.OrientationSection = null;
                            this.EditingSection.OrientationState = this.TabListPlugin.SelectedItem as State;
                            this.EditingSection.OrientationArchitecture = null;
                            this.RefreshOKButton();
                            this.RefreshLabelTextsDisplay();
                        };
                    }
                    this.GameFramePlugin.SetOKFunction(function3);
                    break;

                case SectionOrientationKind.建筑:
                    ArchitectureList allArch = this.EditingFaction.Scenario.Architectures;
                    ArchitectureList targetArch = new ArchitectureList();
                    foreach (Architecture a in allArch)
                    {
                        if (a.BelongedFaction != this.EditingFaction)
                        {
                            targetArch.Add(a);
                        }
                    }
                    this.TabListPlugin.InitialValues(targetArch, null, this.screen.MouseState.ScrollWheelValue, "");
                    this.TabListPlugin.SetListKindByName("Architecture", true, false);
                    this.TabListPlugin.SetSelectedTab("");
                    this.GameFramePlugin.Kind = FrameKind.Architecture;
                    this.GameFramePlugin.Function = FrameFunction.GetFaction;
                    this.GameFramePlugin.SetFrameContent(this.TabListPlugin.TabList, this.screen.viewportSize);
//.........这里部分代码省略.........
开发者ID:simon217,项目名称:ZhongHuaSanGuoZhi,代码行数:101,代码来源:MarshalSectionDialog.cs

示例4: GetOtherArchitectureList

 public ArchitectureList GetOtherArchitectureList(Architecture architecture)
 {
     ArchitectureList list = new ArchitectureList();
     foreach (Architecture architecture2 in this.Architectures)
     {
         if (architecture2 != architecture)
         {
             list.Add(architecture2);
         }
     }
     return list;
 }
开发者ID:k45399735,项目名称:ZhongHuaSanGuoZhi,代码行数:12,代码来源:Section.cs

示例5: GetClosestArchitectures

 public ArchitectureList GetClosestArchitectures(int count, double maxDistance)
 {
     if (this.ClosestArchitectures == null)
     {
         this.GetClosestArchitectures();
     }
     ArchitectureList list = new ArchitectureList();
     if (count > this.ClosestArchitectures.Count)
     {
         count = this.ClosestArchitectures.Count;
     }
     for (int i = 0; i < count; i++)
     {
         if (base.Scenario.GetDistance(this.ArchitectureArea, (this.ClosestArchitectures[i] as Architecture).ArchitectureArea) <= maxDistance)
         {
             list.Add(this.ClosestArchitectures[i]);
         }
         else
         {
             break;
         }
     }
     if (list.Count == 0)
     {
         list.Add(this.ClosestArchitectures[0]);
     }
     return list;
 }
开发者ID:ptmaster,项目名称:ZhongHuaSanGuoZhi,代码行数:28,代码来源:Architecture.cs

示例6: FindLinks

 public void FindLinks(ArchitectureList allArch)
 {
     pathFinder.OnGetCost += new RoutewayPathFinder.GetCost(RoutewayPathBuilder_OnGetCost);
     pathFinder.OnGetPenalizedCost += new RoutewayPathFinder.GetPenalizedCost(RoutewayPathBuilder_OnGetPenalizedCost);
     FindLandLinks(allArch, 50);
     FindWaterLinks(allArch, 50);
 }
开发者ID:ptmaster,项目名称:ZhongHuaSanGuoZhi,代码行数:7,代码来源:Architecture.cs

示例7: QuickSortSwapArchitectureDistance

 private void QuickSortSwapArchitectureDistance(ArchitectureList List, int i, int j)
 {
     GameObject obj2 = List[i];
     List[i] = List[j];
     List[j] = obj2;
 }
开发者ID:ptmaster,项目名称:ZhongHuaSanGuoZhi,代码行数:6,代码来源:Architecture.cs

示例8: AIPersonTransfer

 private void AIPersonTransfer()
 {
     int num2;
     if ((this.MilitaryCount == 0) && ((this.IsImportant || (this.AreaCount > 1)) || (this.Population > this.RecruitmentPopulationBoundary)))
     {
         this.AIRecruitment(false);
     }
     if ((((this.BelongedFaction.ArchitectureCount > 1) && (this.PersonCount > this.MilitaryCount)) && (this.RecentlyAttacked > 0)) && ((this.Endurance == 0) || ((this.Endurance < 30) && GameObject.Chance(0x21))))
     {
         int num = this.PersonCount - this.MilitaryCount;
         GameObjectList list = new GameObjectList();
         list = this.Persons.GetList();
         if (list.Count > 1)
         {
             list.IsNumber = true;
             list.SmallToBig = true;
             list.PropertyName = "FightingForce";
             list.ReSort();
         }
         Architecture capital = this.BelongedFaction.Capital;
         if (capital == this)
         {
             ArchitectureList otherArchitectureList = this.GetOtherArchitectureList();
             if (otherArchitectureList.Count > 1)
             {
                 otherArchitectureList.IsNumber = true;
                 otherArchitectureList.PropertyName = "ArmyScaleWeighing";
                 otherArchitectureList.ReSort();
             }
             capital = otherArchitectureList[0] as Architecture;
         }
         num2 = 0;
         while (num2 < num)
         {
             (list[num2] as Person).MoveToArchitecture(capital);
             this.RemovePerson(list[num2] as Person);
             if (GameObject.Chance(20))
             {
                 break;
             }
             num2++;
         }
     }
     else if (((this.PersonCount + this.MovingPersons.Count) < this.MilitaryCount) || (this.PlanArchitecture != null))
     {
         if (this.RecentlyAttacked > 0)
         {
             int num3 = (this.MilitaryCount - this.PersonCount) - this.MovingPersons.Count;
             PersonList list3 = new PersonList();
             foreach (Architecture architecture2 in GameObject.Chance(20) ? this.BelongedFaction.Architectures : this.BelongedSection.Architectures)
             {
                 if ((architecture2 != this) && (((architecture2.BelongedSection.AIDetail != null) && architecture2.BelongedSection.AIDetail.AutoRun) && (((architecture2.RecentlyAttacked <= 0) && ((architecture2.PersonCount + architecture2.MovingPersons.Count) >= architecture2.MilitaryCount)) || (((architecture2.Fund < (100 * this.AreaCount)) && (architecture2.Domination >= (architecture2.DominationCeiling * 0.8))) && (architecture2.Endurance >= (architecture2.EnduranceCeiling * 0.2f))))))
                 {
                     foreach (Person person in architecture2.Persons)
                     {
                         if ((!architecture2.HasFollowedLeaderMilitary(person) && (GameObject.Chance(10) || !architecture2.HasExperiencedLeaderMilitary(person))) && (person.Command >= 40))
                         {
                             list3.Add(person);
                         }
                     }
                 }
             }
             if (list3.Count > 0)
             {
                 if (list3.Count > 1)
                 {
                     list3.IsNumber = true;
                     list3.PropertyName = "FightingForce";
                     list3.ReSort();
                 }
                 for (num2 = 0; (num2 < num3) && (num2 < list3.Count); num2++)
                 {
                     Architecture locationArchitecture = (list3[num2] as Person).LocationArchitecture;
                     (list3[num2] as Person).MoveToArchitecture(this);
                     locationArchitecture.RemovePerson(list3[num2] as Person);
                 }
             }
         }
     }
     else if (this.HasPerson() && GameObject.Chance(10))
     {
         PersonList list4 = new PersonList();
         if (this.Kind.HasPopulation && (this.Population < (0x3e8 * this.AreaCount)))
         {
             if (this.IsCapital && (this.Fund >= this.ChangeCapitalCost))
             {
                 Architecture newCapital = this.BelongedFaction.SelectNewCapital();
                 if (newCapital != this)
                 {
                     this.DecreaseFund(this.ChangeCapitalCost);
                     this.BelongedFaction.ChangeCapital(newCapital);
                 }
             }
             foreach (Person person in this.Persons)
             {
                 if (!this.HasFollowedLeaderMilitary(person) && (GameObject.Chance(10) || !this.HasExperiencedLeaderMilitary(person)))
                 {
                     list4.Add(person);
                 }
             }
//.........这里部分代码省略.........
开发者ID:skicean,项目名称:ZhongHuaSanGuoZhi,代码行数:101,代码来源:Architecture_1.cs

示例9: GetViewingArchitecturesByPosition

 public ArchitectureList GetViewingArchitecturesByPosition(Point position)
 {
     ArchitectureList list = new ArchitectureList();
     if (!this.PositionOutOfRange(position))
     {
         if (this.MapTileData[position.X, position.Y].ViewingArchitectures == null)
         {
             return list;
         }
         foreach (Architecture architecture in this.MapTileData[position.X, position.Y].ViewingArchitectures)
         {
             list.Add(architecture);
         }
     }
     return list;
 }
开发者ID:ptmaster,项目名称:ZhongHuaSanGuoZhi,代码行数:16,代码来源:GameScenario.cs

示例10: GetSupplyArchitecturesByPositionAndFaction

 public ArchitectureList GetSupplyArchitecturesByPositionAndFaction(Point position, Faction faction)
 {
     ArchitectureList list = new ArchitectureList();
     if (!this.PositionOutOfRange(position))
     {
         if (this.MapTileData[position.X, position.Y].SupplyingArchitectures == null)
         {
             return list;
         }
         foreach (Architecture architecture in this.MapTileData[position.X, position.Y].SupplyingArchitectures)
         {
             //if (faction.IsFriendly(architecture.BelongedFaction))
             if (faction == architecture.BelongedFaction)
             {
                 list.Add(architecture);
             }
         }
     }
     return list;
 }
开发者ID:ptmaster,项目名称:ZhongHuaSanGuoZhi,代码行数:20,代码来源:GameScenario.cs

示例11: GetRoutewayArchitecturesByPosition

 public ArchitectureList GetRoutewayArchitecturesByPosition(Routeway routeway, Point position)
 {
     ArchitectureList list = new ArchitectureList();
     if (!this.PositionOutOfRange(position))
     {
         foreach (Architecture architecture in routeway.BelongedFaction.Architectures)
         {
             if ((architecture != routeway.StartArchitecture) && architecture.GetRoutewayStartArea().HasPoint(position))
             {
                 list.Add(architecture);
             }
         }
     }
     return list;
 }
开发者ID:ptmaster,项目名称:ZhongHuaSanGuoZhi,代码行数:15,代码来源:GameScenario.cs

示例12: generatePerson

        private void generatePerson()
        {
            this.scen.GameCommonData.PersonGeneratorSetting.bornLo = int.Parse(tbBornYearLo.Text);
            this.scen.GameCommonData.PersonGeneratorSetting.bornHi = int.Parse(tbBornYearHi.Text);
            this.scen.GameCommonData.PersonGeneratorSetting.debutLo = int.Parse(tbDebutAgeLo.Text);
            this.scen.GameCommonData.PersonGeneratorSetting.debutHi = int.Parse(tbDebutAgeHi.Text);
            this.scen.GameCommonData.PersonGeneratorSetting.dieLo = int.Parse(tbAgeLo.Text);
            this.scen.GameCommonData.PersonGeneratorSetting.dieHi = int.Parse(tbAgeHi.Text);
            this.scen.GameCommonData.PersonGeneratorSetting.debutAtLeast = int.Parse(tbDebutAtLeast.Text);

            ((PersonGeneratorType)this.scen.GameCommonData.AllPersonGeneratorTypes.GameObjects[0]).generationChance = int.Parse(tbPersonType0.Text);
            ((PersonGeneratorType)this.scen.GameCommonData.AllPersonGeneratorTypes.GameObjects[1]).generationChance = int.Parse(tbPersonType1.Text);
            ((PersonGeneratorType)this.scen.GameCommonData.AllPersonGeneratorTypes.GameObjects[2]).generationChance = int.Parse(tbPersonType2.Text);
            ((PersonGeneratorType)this.scen.GameCommonData.AllPersonGeneratorTypes.GameObjects[3]).generationChance = int.Parse(tbPersonType3.Text);
            ((PersonGeneratorType)this.scen.GameCommonData.AllPersonGeneratorTypes.GameObjects[4]).generationChance = int.Parse(tbPersonType4.Text);
            ((PersonGeneratorType)this.scen.GameCommonData.AllPersonGeneratorTypes.GameObjects[5]).generationChance = int.Parse(tbPersonType5.Text);
            ((PersonGeneratorType)this.scen.GameCommonData.AllPersonGeneratorTypes.GameObjects[6]).generationChance = int.Parse(tbPersonType6.Text);
            ((PersonGeneratorType)this.scen.GameCommonData.AllPersonGeneratorTypes.GameObjects[7]).generationChance = int.Parse(tbPersonType7.Text);
            ((PersonGeneratorType)this.scen.GameCommonData.AllPersonGeneratorTypes.GameObjects[8]).generationChance = int.Parse(tbPersonType8.Text);
            ((PersonGeneratorType)this.scen.GameCommonData.AllPersonGeneratorTypes.GameObjects[9]).generationChance = int.Parse(tbPersonType9.Text);

            int count = GameObject.Random(int.Parse(tbAddPersonLo.Text), int.Parse(tbAddPersonHi.Text));

            int joinChance = int.Parse(tbJoinedFactionChance.Text);
            for (int i = 0; i < count; ++i)
            {
                bool joined = GameObject.Chance(joinChance);

                Architecture location = null;
                if (joined)
                {
                    ArchitectureList candidates = new ArchitectureList();
                    foreach (Architecture j in scen.Architectures)
                    {
                        if (j.BelongedFaction != null)
                        {
                            candidates.Add(j);
                        }
                    }
                    if (candidates.Count > 0)
                    {
                        location = (Architecture)candidates.GetRandomObject();
                    }
                    else
                    {
                        joined = false;
                    }
                }

                if (!joined)
                {
                    location = (Architecture)scen.Architectures.GetRandomObject();
                }

                Person p = Person.createPerson(scen, location, null, false);
                if (joined && location.BelongedFaction != null)
                {
                    p.ChangeFaction(location.BelongedFaction);
                }
            }
        }
开发者ID:kpxp,项目名称:ZhongHuaSanGuoZhi-New-Code,代码行数:61,代码来源:Form1.cs

示例13: QuickSortArchitecturesDistance

 private void QuickSortArchitecturesDistance(ArchitectureList List, int begin, int end)
 {
     if (begin < end)
     {
         int num = this.QuickSortPartitionArchitecturesDistance(List, begin, end);
         if (begin < (num - 1))
         {
             this.QuickSortArchitecturesDistance(List, begin, num - 1);
         }
         if ((num + 1) < end)
         {
             this.QuickSortArchitecturesDistance(List, num + 1, end);
         }
     }
 }
开发者ID:ptmaster,项目名称:ZhongHuaSanGuoZhi,代码行数:15,代码来源:Architecture.cs

示例14: GetClosestArchitectures

 public ArchitectureList GetClosestArchitectures(int count)
 {
     if (this.ClosestArchitectures == null)
     {
         this.GetClosestArchitectures();
     }
     ArchitectureList list = new ArchitectureList();
     if (count > this.ClosestArchitectures.Count)
     {
         count = this.ClosestArchitectures.Count;
     }
     for (int i = 0; i < count; i++)
     {
         list.Add(this.ClosestArchitectures[i]);
     }
     return list;
 }
开发者ID:skicean,项目名称:ZhongHuaSanGuoZhi,代码行数:17,代码来源:Architecture_1.cs

示例15: QuickSortPartitionArchitecturesDistance

 private int QuickSortPartitionArchitecturesDistance(ArchitectureList List, int begin, int end)
 {
     Architecture architecture = List[begin] as Architecture;
     int simpleDistance = base.Scenario.GetSimpleDistance(architecture.Position, this.Position);
     int num2 = begin;
     while (begin < end)
     {
         int num3 = base.Scenario.GetSimpleDistance((List[end] as Architecture).Position, this.Position);
         while ((begin < end) && (num3 >= simpleDistance))
         {
             end--;
             num3 = base.Scenario.GetSimpleDistance((List[end] as Architecture).Position, this.Position);
         }
         if (begin >= end)
         {
             return begin;
         }
         this.QuickSortSwapArchitectureDistance(List, begin, end);
         begin++;
         for (num3 = base.Scenario.GetSimpleDistance((List[begin] as Architecture).Position, this.Position); (begin < end) && (num3 <= simpleDistance); num3 = base.Scenario.GetSimpleDistance((List[begin] as Architecture).Position, this.Position))
         {
             begin++;
         }
         if (begin >= end)
         {
             return begin;
         }
         this.QuickSortSwapArchitectureDistance(List, begin, end);
         end--;
     }
     return begin;
 }
开发者ID:ptmaster,项目名称:ZhongHuaSanGuoZhi,代码行数:32,代码来源:Architecture.cs


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