AddItem() публичный Метод

public AddItem ( SitRepItem sitRepItem ) : void
sitRepItem Beyond_Beyaan.Data_Modules.SitRepItem
Результат void
Пример #1
0
 public void EstablishContact(Empire empireContacted, SitRepManager sitRepManager)
 {
     foreach (Contact contact in contacts)
     {
         if (contact.EmpireInContact == empireContacted && !contact.Contacted)
         {
             //Need to add some fudge factor
             contact.RelationshipStatus = (int)(thisEmpire.EmpireRace.CharismaMultipler * empireContacted.EmpireRace.CharismaMultipler * 500);
             contact.Contacted          = true;
             contact.OutgoingMessage    = MessageType.NONE;
             contact.IncomingMessage    = MessageType.NONE;
             sitRepManager.AddItem(new SitRepItem(Screen.Diplomacy, null, null, new Point(-1, -1), "You have established contact with " + empireContacted.EmpireName + " empire."));
             return;
         }
     }
 }
Пример #2
0
 public void EstablishContact(Empire empireContacted, SitRepManager sitRepManager)
 {
     foreach (Contact contact in contacts)
     {
         if (contact.EmpireInContact == empireContacted && !contact.Contacted)
         {
             //Need to add some fudge factor
             contact.RelationshipStatus = (int)(thisEmpire.EmpireRace.CharismaMultipler * empireContacted.EmpireRace.CharismaMultipler * 500);
             contact.Contacted = true;
             contact.OutgoingMessage = MessageType.NONE;
             contact.IncomingMessage = MessageType.NONE;
             sitRepManager.AddItem(new SitRepItem(Screen.Diplomacy, null, null, new Point(-1, -1), "You have established contact with " + empireContacted.EmpireName + " empire."));
             return;
         }
     }
 }
Пример #3
0
        public void UpdateContacts(SitRepManager sitRepManager)
        {
            //Handle messages

            foreach (Contact contact in contacts)
            {
                if (!contact.Contacted)
                {
                    continue;
                }
                Empire whichEmpireInRequest;
                contact.IncomingMessage       = contact.EmpireInContact.ContactManager.GetMessage(thisEmpire, out whichEmpireInRequest);
                contact.IncomingEmpireRequest = whichEmpireInRequest;
                if (contact.IncomingMessage != MessageType.NONE)
                {
                    sitRepManager.AddItem(new SitRepItem(Screen.Diplomacy, null, null, new Point(), "You have received a message from the " + contact.EmpireInContact.EmpireName + " Empire."));
                    HandleMessage(contact, contact.IncomingMessage, contact.IncomingEmpireRequest);
                }
            }

            //Handle relationship changes
        }
Пример #4
0
        public void UpdateContacts(SitRepManager sitRepManager)
        {
            //Handle messages

            foreach (Contact contact in contacts)
            {
                if (!contact.Contacted)
                {
                    continue;
                }
                Empire whichEmpireInRequest;
                contact.IncomingMessage = contact.EmpireInContact.ContactManager.GetMessage(thisEmpire, out whichEmpireInRequest);
                contact.IncomingEmpireRequest = whichEmpireInRequest;
                if (contact.IncomingMessage != MessageType.NONE)
                {
                    sitRepManager.AddItem(new SitRepItem(Screen.Diplomacy, null, null, new Point(), "You have received a message from the " + contact.EmpireInContact.EmpireName + " Empire."));
                    HandleMessage(contact, contact.IncomingMessage, contact.IncomingEmpireRequest);
                }
            }

            //Handle relationship changes
        }
Пример #5
0
        public List<TechField> RollForDiscoveries(Random r, SitRepManager sitRepManager)
        {
            List<TechField> fieldsNeedingNewItems = new List<TechField>();
            //Only items being currently researched have a chance of being discovered, otherwise they degrade (handled in AccureResearch function)
            if (ComputerPercentage > 0)
            {
                if (WhichComputerBeingResearched == null && UnresearchedComputerTechs.Count > 0 && ComputerResearchAmount > 0)
                {
                    fieldsNeedingNewItems.Add(TechField.COMPUTER);
                }
                else if (WhichComputerBeingResearched != null)
                {
                    //See if it is discovered this turn
                    int chance = GetChanceForDiscovery(TechField.COMPUTER);
                    if (chance > 0 && (r.Next(100) + 1) < chance) //Eureka!  We've discovered the tech!  +1 is to change from 0-99 to 1-100
                    {
                        sitRepManager.AddItem(new SitRepItem(Screen.Research, null, null, new Point(), WhichComputerBeingResearched.TechName + " has been discovered."));
                        ResearchedComputerTechs.Add(WhichComputerBeingResearched);
                        UnresearchedComputerTechs.Remove(WhichComputerBeingResearched);
                        ComputerResearchAmount = 0;
                        fieldsNeedingNewItems.Add(TechField.COMPUTER);
                    }
                }
            }

            if (ConstructionPercentage > 0)
            {
                if (WhichConstructionBeingResearched == null && UnresearchedConstructionTechs.Count > 0 && ConstructionResearchAmount > 0)
                {
                    fieldsNeedingNewItems.Add(TechField.CONSTRUCTION);
                }
                else if (WhichConstructionBeingResearched != null)
                {
                    //See if it is discovered this turn
                    int chance = GetChanceForDiscovery(TechField.CONSTRUCTION);
                    if (chance > 0 && (r.Next(100) + 1) < chance) //Eureka!  We've discovered the tech!  +1 is to change from 0-99 to 1-100
                    {
                        sitRepManager.AddItem(new SitRepItem(Screen.Research, null, null, new Point(), WhichConstructionBeingResearched.TechName + " has been discovered."));
                        ResearchedConstructionTechs.Add(WhichConstructionBeingResearched);
                        UnresearchedConstructionTechs.Remove(WhichConstructionBeingResearched);
                        ConstructionResearchAmount = 0;
                        fieldsNeedingNewItems.Add(TechField.CONSTRUCTION);
                    }
                }
            }

            if (ForceFieldPercentage > 0)
            {
                if (WhichForceFieldBeingResearched == null && UnresearchedForceFieldTechs.Count > 0 && ForceFieldResearchAmount > 0)
                {
                    fieldsNeedingNewItems.Add(TechField.FORCE_FIELD);
                }
                else if (WhichForceFieldBeingResearched != null)
                {
                    //See if it is discovered this turn
                    int chance = GetChanceForDiscovery(TechField.FORCE_FIELD);
                    if (chance > 0 && (r.Next(100) + 1) < chance) //Eureka!  We've discovered the tech!  +1 is to change from 0-99 to 1-100
                    {
                        sitRepManager.AddItem(new SitRepItem(Screen.Research, null, null, new Point(), WhichForceFieldBeingResearched.TechName + " has been discovered."));
                        ResearchedForceFieldTechs.Add(WhichForceFieldBeingResearched);
                        UnresearchedForceFieldTechs.Remove(WhichForceFieldBeingResearched);
                        ForceFieldResearchAmount = 0;
                        fieldsNeedingNewItems.Add(TechField.FORCE_FIELD);
                    }
                }
            }

            if (PlanetologyPercentage > 0)
            {
                if (WhichPlanetologyBeingResearched == null && UnresearchedPlanetologyTechs.Count > 0 && PlanetologyResearchAmount > 0)
                {
                    fieldsNeedingNewItems.Add(TechField.PLANETOLOGY);
                }
                else if (WhichPlanetologyBeingResearched != null)
                {
                    //See if it is discovered this turn
                    int chance = GetChanceForDiscovery(TechField.PLANETOLOGY);
                    if (chance > 0 && (r.Next(100) + 1) < chance) //Eureka!  We've discovered the tech!  +1 is to change from 0-99 to 1-100
                    {
                        sitRepManager.AddItem(new SitRepItem(Screen.Research, null, null, new Point(), WhichPlanetologyBeingResearched.TechName + " has been discovered."));
                        ResearchedPlanetologyTechs.Add(WhichPlanetologyBeingResearched);
                        UnresearchedPlanetologyTechs.Remove(WhichPlanetologyBeingResearched);
                        PlanetologyResearchAmount = 0;
                        fieldsNeedingNewItems.Add(TechField.PLANETOLOGY);
                    }
                }
            }

            if (PropulsionPercentage > 0)
            {
                if (WhichPropulsionBeingResearched == null && UnresearchedPropulsionTechs.Count > 0 && PropulsionResearchAmount > 0)
                {
                    fieldsNeedingNewItems.Add(TechField.PROPULSION);
                }
                else if (WhichPropulsionBeingResearched != null)
                {
                    //See if it is discovered this turn
                    int chance = GetChanceForDiscovery(TechField.PROPULSION);
                    if (chance > 0 && (r.Next(100) + 1) < chance) //Eureka!  We've discovered the tech!  +1 is to change from 0-99 to 1-100
                    {
                        sitRepManager.AddItem(new SitRepItem(Screen.Research, null, null, new Point(), WhichPropulsionBeingResearched.TechName + " has been discovered."));
                        ResearchedPropulsionTechs.Add(WhichPropulsionBeingResearched);
                        UnresearchedPropulsionTechs.Remove(WhichPropulsionBeingResearched);
                        PropulsionResearchAmount = 0;
                        fieldsNeedingNewItems.Add(TechField.PROPULSION);
                    }
                }
            }

            if (WeaponPercentage > 0)
            {
                if (WhichWeaponBeingResearched == null && UnresearchedWeaponTechs.Count > 0 && WeaponResearchAmount > 0)
                {
                    fieldsNeedingNewItems.Add(TechField.WEAPON);
                }
                else if (WhichWeaponBeingResearched != null)
                {
                    //See if it is discovered this turn
                    int chance = GetChanceForDiscovery(TechField.WEAPON);
                    if (chance > 0 && (r.Next(100) + 1) < chance) //Eureka!  We've discovered the tech!  +1 is to change from 0-99 to 1-100
                    {
                        sitRepManager.AddItem(new SitRepItem(Screen.Research, null, null, new Point(), WhichWeaponBeingResearched.TechName + " has been discovered."));
                        ResearchedWeaponTechs.Add(WhichWeaponBeingResearched);
                        UnresearchedWeaponTechs.Remove(WhichWeaponBeingResearched);
                        WeaponResearchAmount = 0;
                        fieldsNeedingNewItems.Add(TechField.WEAPON);
                    }
                }
            }

            UpdateValues();

            return fieldsNeedingNewItems;
        }