public int MaxCapacity(Construction construction, int upgradeYear, int currentYear)
 {
     if (upgradeYear <= currentYear)
     {
         switch (construction)
         {
             case Construction.PopulationVillage:
                 return 2500;
             case Construction.PopulationTown:
                 return 10000;
             case Construction.PopulationCity:
                 return 100000;
             case Construction.PopulationMetropolis:
                 return 1000000;
         }
     }
     else
     {
         switch (construction)
         {
             case Construction.PopulationVillage:
                 return 3000;
             case Construction.PopulationTown:
                 return 15000;
             case Construction.PopulationCity:
                 return 150000;
             case Construction.PopulationMetropolis:
                 return 1500000;
         }
     }
     return 0;
 }
	public override bool Decode(Encoding encoding)
	{
//		List<object> encoded = new List<object>(encodings);
		
		if (!encoding.Validate(	EncodingType.Group,
								EncodingType.Group
								))
		{
			Debug.Log ("Could not decode generator \n"+encoding.DebugString());
			return false;
		}
		Debug.Log ("Decoding Generator: "+encoding.DebugString());
		base.Decode(encoding.SubEncoding(0));
		
		if (toGenerateConstruction != null)
		{
			ObjectPoolManager.DestroyObject(toGenerateConstruction);
			toGenerateConstruction = null;
		}
		if (encoding.Count > 1)
		{
			toGenerateConstruction = Construction.DecodeCreate(encoding.SubEncoding(1));
			toGenerateConstruction.ignoreCollisions = true;
		}
		
		return true;
	}
	protected override void MechanismStart ()
	{
		isSolutionMechanism = false;
		if (toGenerateConstruction == null)
		{
			toGenerateConstruction = Construction.CreateSimpleConstruction(PartType.None);
		}
	}
	public void OnSaveEvent(Construction construction)
	{
		if (saveFunction != null)
		{
			saveFunction(construction);
			SetPreviewedConstructionInternal(construction);
		}
	}
예제 #5
0
 public BuildingEvent(Construction construction, Construction.Target target, BuildingBlock bb, bool bNeedsValidPlacement)
 {
     Builder = Server.GetPlayer(target.player);
     BuildingPart = new BuildingPart(bb);
     Construction = construction;
     Target = target;
     NeedsValidPlacement = bNeedsValidPlacement;
 }
예제 #6
0
 public bool Delete(Construction obj)
 {
     using (SQLite.SQLiteConnection conn = new SQLite.SQLiteConnection(App.DB_PATH))
     {
         conn.CreateTable <Construction>();
         conn.CreateTable <ConstrucionEmployee>();
         return(conn.Delete(obj) > 0);
     }
 }
 public void PrepareConstruction(ConstructionModel model, Construction item)
 {
     //item.Id = model.Id;
     item.Code        = model.Code;
     item.Name        = model.Name;
     item.Description = model.Description;
     item.TypeId      = model.TypeId;
     item.CapitalId   = model.CapitalId;
 }
예제 #8
0
 public override void Calculate()
 {
     mark         = Block.GetPropValue <string>(propMark);
     length       = Block.GetPropValue <int>(propLength);
     width        = Block.GetPropValue <int>(propWidth);
     desc         = Block.GetPropValue <string>(propDesc);
     construction = GetConstruction();
     AddElement(construction);
 }
예제 #9
0
 public override void Apply(LanguageData language, Construction.LRItem owner) {
   //Check that owner is not final - we can imply precedence only in shift context
   var curr = owner.Core.Current;
   if (curr == null) 
     return;
   //mark the state, to make sure we do stuff in Term_Shifting event handler only in appropriate states
   owner.State.CustomFlags |= ImpliedPrecedenceCustomFlag; 
   curr.Shifting += Term_Shifting;
 }
예제 #10
0
 private IEnumerator Build(Construction construction)
 {
     yield return StartCoroutine(MoveTo(new Vector3[1] { construction.transform.position }));
     while (!construction.IsDone)
     {
         construction.Build(properties.unitsBuildedPerSecond);
         yield return new WaitForSeconds(1);
     }
 }
예제 #11
0
 // Start is called before the first frame update
 void Awake()
 {
     //_grid = new BuildindGizmos[GridSize.x, GridSize.y];
     _camera = Camera.main;
     if (_construction == null)
     {
         _construction = GetComponent <Construction>();
     }
 }
예제 #12
0
 private static BuildingProximity.ProximityInfo GetProximity(
     Construction construction1,
     Vector3 position1,
     Quaternion rotation1,
     Construction construction2,
     Vector3 position2,
     Quaternion rotation2)
 {
     BuildingProximity.ProximityInfo proximityInfo = new BuildingProximity.ProximityInfo();
     proximityInfo.hit        = false;
     proximityInfo.connection = false;
     proximityInfo.line       = (Line)null;
     proximityInfo.sqrDist    = float.MaxValue;
     for (int index1 = 0; index1 < construction1.allSockets.Length; ++index1)
     {
         ConstructionSocket allSocket1 = construction1.allSockets[index1] as ConstructionSocket;
         if (!((PrefabAttribute)allSocket1 == (PrefabAttribute)null))
         {
             for (int index2 = 0; index2 < construction2.allSockets.Length; ++index2)
             {
                 Socket_Base allSocket2 = construction2.allSockets[index2];
                 if (allSocket1.CanConnect(position1, rotation1, allSocket2, position2, rotation2))
                 {
                     proximityInfo.connection = true;
                     return(proximityInfo);
                 }
             }
         }
     }
     if (!proximityInfo.connection && construction1.allProximities.Length != 0)
     {
         for (int index1 = 0; index1 < construction1.allSockets.Length; ++index1)
         {
             ConstructionSocket allSocket = construction1.allSockets[index1] as ConstructionSocket;
             if (!((PrefabAttribute)allSocket == (PrefabAttribute)null) && allSocket.socketType == ConstructionSocket.Type.Wall)
             {
                 Vector3 selectPivot1 = allSocket.GetSelectPivot(position1, rotation1);
                 for (int index2 = 0; index2 < construction2.allProximities.Length; ++index2)
                 {
                     Vector3 selectPivot2 = construction2.allProximities[index2].GetSelectPivot(position2, rotation2);
                     Line    line;
                     ((Line) ref line).\u002Ector(selectPivot1, selectPivot2);
                     Vector3 vector3      = Vector3.op_Subtraction((Vector3)line.point1, (Vector3)line.point0);
                     float   sqrMagnitude = ((Vector3) ref vector3).get_sqrMagnitude();
                     if ((double)sqrMagnitude < (double)proximityInfo.sqrDist)
                     {
                         proximityInfo.hit     = true;
                         proximityInfo.line    = line;
                         proximityInfo.sqrDist = sqrMagnitude;
                     }
                 }
             }
         }
     }
     return(proximityInfo);
 }
예제 #13
0
 public bool UpdateWithChildren(Construction obj)
 {
     using (SQLite.SQLiteConnection conn = new SQLite.SQLiteConnection(App.DB_PATH))
     {
         conn.CreateTable <Construction>();
         conn.CreateTable <ConstrucionEmployee>();
         conn.UpdateWithChildren(obj);
         return(true);
     }
 }
예제 #14
0
 public int Create(Construction obj)
 {
     using (SQLite.SQLiteConnection conn = new SQLite.SQLiteConnection(App.DB_PATH))
     {
         conn.CreateTable <Construction>();
         conn.CreateTable <ConstrucionEmployee>();
         conn.Insert(obj);
         return(conn.ExecuteScalar <int>("SELECT MAX(Id) FROM Construction"));
     }
 }
예제 #15
0
		public CityList( PlayerList player, int city )
		{
			this.player = player;
			this.city = city;

			construction = new Construction();
			slaves = new citySlavery( player, city );
			nonLabor = new peopleNonLabor( player, city );
			hatrLastCalcul = -1;
		}
예제 #16
0
 public void initLine(RectTransform line)
 {
     activeConstruct = pManager.pDataManager.pConstructions.Find(construct => construct.getLineName() == line.parent.name);
     if (null != activeConstruct && !activeConstruct.isEmpty())
     {
         line.Find("lineButton").gameObject.SetActive(false);
         line.Find("forgeLine").gameObject.SetActive(true);
         updateStageButtons(line);
     }
 }
예제 #17
0
    public void Construct(Node node)
    {
        if (!_construction.Build(node))
        {
            return;
        }

        _construction = null;
        SelectContruction(constructionIndex);
    }
예제 #18
0
 public ActionResult Edit([Bind(Include = "ConstructionId,ConstructionType,Remarks")] Construction construction)
 {
     if (ModelState.IsValid)
     {
         db.Entry(construction).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(construction));
 }
예제 #19
0
        public static Construction AddMaterials(this Construction construction, List <IMaterial> materials)
        {
            if (construction.Materials == null)
            {
                construction.Materials = new List <IMaterial>();
            }

            construction.Materials.AddRange(materials);
            return(construction);
        }
예제 #20
0
        private void ConstructBuilding(BuildMenu buildMenu, BuildingDescription buildingDescription)
        {
            if (World.StructureManager[buildMenu.TargetNode] != null)
            {
                throw new InvalidOperationException("Spot has to be empty");
            }
            var construction = new Construction(buildMenu.TargetNode, buildingDescription, World);

            World.StructureManager.CreateStrucuture(construction);
        }
	public void Enable(Construction construct)
	{
		Enable();
		thisConstruction = construct;
		infoPage.SetActive(thisConstruction.isConstructed);
		constructionPage.SetActive(!thisConstruction.isConstructed);
		panelNameLabel.text = thisConstruction.construction.Name.ToString();
		UpdateMaterialsCounters();
		UpdateTopDonor();
	}
예제 #22
0
파일: Panel.cs 프로젝트: BHoM/BHoM_Engine
        public static Panel Panel(PlanarSurface surface, Construction construction = null, FrameEdgeProperty frameEdgeProperty = null, PanelType panelType = PanelType.Undefined, IConstruction openingConstruction = null, FrameEdgeProperty openingFrameEdgeProperty = null, string name = "")
        {
            if (surface == null)
            {
                BH.Engine.Reflection.Compute.RecordError("Cannot create a panel from a null surface.");
                return(null);
            }

            return(Panel(surface.ExternalBoundary, surface.InternalBoundaries.ToList(), construction, frameEdgeProperty, panelType, openingConstruction, openingFrameEdgeProperty, name));
        }
예제 #23
0
    public void ApplyCorrectWallSprite(Construction wall, bool recursive = true)
    {
        bool[] borders = new bool[4];
        FindNeighbourConstructions(wall, borders, recursive);

        SpriteRenderer sr = wall.gameObject.GetComponent <SpriteRenderer>();

        sr.sprite = GetSpriteBasedOnNeighbours(borders);;
        sr.color  = wallColorFilter;
    }
예제 #24
0
        public static double Absorptance(this Construction construction)
        {
            double absorptance = 0.0;

            foreach (Layer l in construction.Layers)
            {
                absorptance += l.Absorptance();
            }

            return(absorptance);
        }
예제 #25
0
        public static double Thickness(this Construction construction)
        {
            double thickness = 0;

            foreach (Layer l in construction.Layers)
            {
                thickness += l.Thickness;
            }

            return(thickness);
        }
예제 #26
0
 private static void UpdateMissionListAndWinCheck(Construction con)
 {
     if (MissionList.Contains(con))
     {
         MissionList.Remove(con);
         if (MissionList.Count == 0)
         {
             youWin = true;
         }
     }
 }
 public void OnDestroyConstruction(Construction construction)
 {
     if (construction.IsFirecamp())
     {
         return;
     }
     foreach (FirecampGroup firecampGroup in this.m_FirecampGroups)
     {
         firecampGroup.TryRemoveConstruction(construction);
     }
 }
 public MilleniumGoalsSet BuildingMilleniumGoalSet(Construction building, int year)
 {
     if (year < (int)HistoricalPeriod.HP2_FirstYear)
     {
         return(BuildingMilleniumGoalSet_HP1(building));
     }
     else
     {
         return(BuildingMilleniumGoalSet_HP2(building));
     }
 }
예제 #29
0
        public static string UniqueConstructionName(this Construction construction)
        {
            string name = "construction-";

            foreach (Material m in construction.Materials)
            {
                name += m.Name + "-";
            }

            return(name);
        }
 void SetPreviewedConstructionInternal(Construction construction)
 {
     if (construction == null)
     {
         PreviewedConstruction = null;
     }
     else
     {
         PreviewedConstruction = Construction.DecodeCopy(construction);
     }
 }
예제 #31
0
        private ConstructHostel Construct()
        {
            var construction = new Construction(new HostelDetail("Baafog", "Onikolobo Abeokuta, Ogun, Nigeria"))
                               .WithFloor("Ground-Floor", "", 20, "", 2, "T", 2, "B", "K")
                               .WithFloor("First-Floor", "1", 22, "1", 3, "T1", 2, "B", "K")
                               .WithFloor("Second-Floor", "1", 23, "1", 3, "T1", 2, "B", "K")
                               .WithSepticTank("Septic", 10, 7)
                               .WithReservoir("Reservoir", 20, 15);

            return(new ConstructHostel(construction));
        }
예제 #32
0
        object CanBuild(Planner plan, Construction prefab)
        {
            var player = plan.GetOwnerPlayer();

            if (!prefab.hierachyName.StartsWith("sign.") || player.HasPlayerFlag(BasePlayer.PlayerFlags.HasBuildingPrivilege))
            {
                return(null);
            }
            Player.Reply(player, lang.GetMessage("NotAllowed", this, player.UserIDString));
            return(false);
        }
 public int GetGrabbersHoldingCount(Construction construction)
 {
     if (LevelManager.instance.gameState == LevelManager.State.Simulation)
     {
         if (grabbedBy.ContainsKey(construction))
         {
             return(grabbedBy[construction].Count);
         }
     }
     return(0);
 }
예제 #34
0
        public ActionResult Create([Bind(Include = "ConstructionId,ConstructionType,Remarks")] Construction construction)
        {
            if (ModelState.IsValid)
            {
                db.constructions.Add(construction);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(construction));
        }
예제 #35
0
    /// <summary>
    /// Will remove
    /// </summary>
    /// <param name="construction"></param>
    void HandleList(Construction construction)
    {
        _constructions.Remove(construction);
        Structure st = Brain.GetStructureFromKey(construction.Key);

        //is the main BuildersManager
        if (_building == null)
        {
            AddBuildingToClosestBuildingOffice(st, construction);
        }
    }
예제 #36
0
        public void ApplyToConfiguration()
        {
            var c = Utility.Configuration.Config;

            Expedition.ApplyToConfiguration(c.NotifierExpedition);
            Construction.ApplyToConfiguration(c.NotifierConstruction);
            Repair.ApplyToConfiguration(c.NotifierRepair);
            Condition.ApplyToConfiguration(c.NotifierCondition);
            Damage.ApplyToConfiguration(c.NotifierDamage);
            AnchorageRepair.ApplyToConfiguration(c.NotifierAnchorageRepair);
        }
예제 #37
0
        void OnRightClickItemRoom(Framework.States.StateObject state)
        {
            BurntimeClassic classic = app as BurntimeClassic;
            Item            item    = state as Item;
            IItemCollection right   = (classic.InventoryRoom == null) ? (IItemCollection)classic.PickItems : classic.InventoryRoom.Items;

            // eat
            if (item.FoodValue != 0)
            {
                int left = group.Eat(leader, item.FoodValue);

                // remove item only if somebody actually ate
                if (left < item.FoodValue)
                {
                    if (item.Type.Empty != null)
                    {
                        item.MakeEmpty();
                        grid.Update(item);
                    }
                    else
                    {
                        right.Remove(item);
                        grid.Remove(item);
                    }
                }
            }
            // drink
            else if (item.WaterValue != 0)
            {
                int left = group.Drink(leader, item.WaterValue);

                // remove item only if somebody actually drank
                if (left < item.WaterValue)
                {
                    if (item.Type.Empty != null)
                    {
                        item.MakeEmpty();
                        grid.Update(item);
                    }
                    else
                    {
                        right.Remove(item);
                        grid.Remove(item);
                    }
                }
            }
            else //if (inventory.ActiveCharacter.Class == CharClass.Technician)
            {
                construction = classic.Game.Constructions.GetConstruction(inventory.ActiveCharacter, right, item);
                this.item    = item;
                dialog.SetCharacter(inventory.ActiveCharacter, construction.Dialog);
                dialog.Show();
            }
        }
예제 #38
0
    /// <summary>
    /// Will remove
    /// </summary>
    /// <param name="construction"></param>
    private void HandleList(Construction construction)
    {
        construction.WasGreenlit = true;
        Structure st = Brain.GetStructureFromKey(construction.Key);

        //is the main BuildersManager
        if (_building == null)
        {
            AddBuildingToClosestBuildingOffice(st, construction);
        }
    }
예제 #39
0
    private void ReturnMaterials(Construction current)
    {
        if (!current.WasGreenlit)
        {
            return;
        }

        var st = Brain.GetStructureFromKey(current.Key);

        st.ReturnMaterialsCostNoQuestion();
    }
예제 #40
0
        public Reservation(int year, int d, Construction constructionName) {
            startingYear = year;
            duration = d;
            construction = constructionName;

            upgradeYear = 0;
            isUpgraded = false;
            isPopulationUpgraded = false;
            isDestroyed = false;

            buildingProperties = new BuildingsBaseProperties();

            constructionStatus = ConstructionStatus.None;
        }
예제 #41
0
 public override void Apply(LanguageData language, Construction.LRItem owner) {
   //Create custom action and put it into state.Actions table
   var state = owner.State;
   var action = new CustomParserAction(language, state, _executeMethod);
   if (_previewMethod != null)
     _previewMethod(action);
   if (!state.BuilderData.IsInadequate) // adequate state, with a single possible action which is DefaultAction
     state.DefaultAction = action;
   else if (owner.Core.Current != null) //shift action
     state.Actions[owner.Core.Current] = action;
   else foreach (var lkh in owner.Lookaheads)
       state.Actions[lkh] = action;
   //We consider all conflicts handled by the action
   state.BuilderData.Conflicts.Clear(); 
 }//method
        //public BuildingProperties this[Construction building]
        //{
        //    //!! Destruction Period always = 1
        //    //lifetime, constructing period, destruction period, cost
        //    get { return new BuildingProperties(50, 4, 1, 1000); }
        //    set { }
        //}

        public BuildingProperties BuildingBaseProperties(Construction building, int ConstructionYear, int UpgradeYear, int YearOrInterest)
        {
            if ((ConstructionYear < (int)HistoricalPeriod.HP2_FirstYear) &&//is constructed in HP1
                (YearOrInterest < (int)HistoricalPeriod.HP2_FirstYear)) //year of interest in HP1
            {
                return BuildingBaseProperties(building, 1);
            }
            if ((ConstructionYear < (int)HistoricalPeriod.HP2_FirstYear) &&//is constructed in HP1
                (YearOrInterest >= (int)HistoricalPeriod.HP2_FirstYear)) //year of interest in HP2
            {
                if (UpgradeYear >= (int)HistoricalPeriod.HP2_FirstYear) //is upgraded
                    return BuildingBaseProperties(building, 2);
                else  //not upgraded
                    return BuildingBaseProperties(building, 1);
            }
            if ((ConstructionYear >= (int)HistoricalPeriod.HP2_FirstYear) &&//is constructed in HP2
                (YearOrInterest >= (int)HistoricalPeriod.HP2_FirstYear)) //year of interest in HP2
            {
                return BuildingBaseProperties(building, 2);
            }
            return null;
        }
예제 #43
0
    public override void Apply(LanguageData language, Construction.LRItem owner) {
      var state = owner.State;
      if (!state.BuilderData.IsInadequate) return; //the state is adequate, we don't need to do anything
      var conflicts = state.BuilderData.Conflicts;
      // Note that we remove lookaheads from the state conflicts set at the end of this method - to let parser builder know
      // that this conflict is taken care of. 
      // On the other hand we may call this method multiple times for different LRItems if we have multiple hints in the same state. 
      // Since we remove lookahead from conflicts on the first call, on the consequitive calls it will not be a conflict -
      // but we still need to add a new conditional entry to a conditional parser action for this lookahead. 
      // Thus we process the lookahead anyway, even if it is not a conflict. 
      // if (conflicts.Count == 0) return; -- this is a wrong thing to do
      switch (_actionType) {
        case PreferredActionType.Reduce:
          if (!owner.Core.IsFinal) return; 
          //it is reduce action; find lookaheads in conflict
          var lkhs = owner.Lookaheads;
          if (lkhs.Count == 0) return; //if no conflicts then nothing to do
          var reduceAction = new ReduceParserAction(owner.Core.Production);
          var reduceCondEntry = new ConditionalEntry(CheckCondition, reduceAction, _description);
          foreach (var lkh in lkhs) {
            AddConditionalEntry(state, lkh, reduceCondEntry);
            if (conflicts.Contains(lkh))
              conflicts.Remove(lkh);
          }
          break; 
        case PreferredActionType.Shift:
          var curr = owner.Core.Current as Terminal;
          if (curr == null) return; //it is either reduce item, or curr is a NonTerminal - we cannot shift it
          var shiftAction = new ShiftParserAction(owner);
          var shiftCondEntry = new ConditionalEntry(CheckCondition, shiftAction, _description);
          AddConditionalEntry(state, curr, shiftCondEntry);
          if (conflicts.Contains(curr))
            conflicts.Remove(curr);
          break; 
      }

      
    }//method
예제 #44
0
 public void MakeReservation(int year, int duration, Construction building) {
     Reservation newRes = new Reservation(year, duration, building);
     
     for (int i = 0; i < reservationList.Count; i++) {
         if (newRes.OverlapsReservation(reservationList[i])) {
             reservationList.Remove(reservationList[i]);
             i--;
         }
     }
     reservationList.Add(newRes);
 }
예제 #45
0
        public void CreateBuilding(Slot slot, Construction building, int year)
        {
            BuildingsBaseProperties properties = new BuildingsBaseProperties();

            BaseConstruction newBuilding;
            if (slot.ConstructionType != ConstructionType.Population)
                newBuilding = new BaseConstruction(this.Game, slot.XSlotCenter, slot.YSlotCenter, false, false);
            else
                newBuilding = new BaseConstruction(this.Game, slot.XSlotCenter, slot.YSlotCenter, true, false);

            newBuilding.ConstructionName = building;
            newBuilding.ConstructionYear = year;
            newBuilding.ConstructionType = slot.ConstructionType;
            newBuilding.ConstructionLifetime = properties.BuildingBaseProperties(building, year, 0, year).Lifetime;
            newBuilding.ConstructingPeriod = properties.BuildingBaseProperties(building, year, 0, year).ConstructingPeriod;
            newBuilding.DegradationPeriod = properties.BuildingBaseProperties(building, year, 0, year).DestructionPeriod;
            newBuilding.StackOrder = stackOrder_slots + 1;
            newBuilding.ChangeGraphics();
            newBuilding.Slot = slot;

            AddChild(newBuilding);

            slot.CurrentConstruction = newBuilding;
            slot.MakeReservation(year, newBuilding.ConstructionLifetime, building);

            changesMade = true;

            GUI.ClearSelectedBuildingIcon();

            newBuilding.OnSelected += new EventHandler(Building_OnSelected);
            RemoveConstructionPanel();
        }
 private BuildingProperties BuildingBaseProperties(Construction building, int HP)
 {
     BuildingProperties bp = new BuildingProperties();
     switch (HP)
     {
         case 1: //HP1
            
             switch (building)
             {
                 case Construction.EnergySolar:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.EnergySolid:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(0, 0, 0, 0);//al 3-lea param = 1 (distruction period)
                     break;
                 case Construction.EnergyWind:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.EnergyGeo:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.EnergyNuclear:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.FoodCropFarm:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(40, 4, 1, 850);
                     break;
                 case Construction.FoodAnimalFarm:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(40, 4, 1, 900);
                     break;
                 case Construction.FoodOrchard:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(30, 4, 1, 600);
                     break;
                 case Construction.FoodFarmedFisherie:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(30, 4, 1, 800);
                     break;
                 case Construction.FoodWildFisherie:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.HealthClinic:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(30, 4, 1, 700);
                     break;
                 case Construction.HealthHospital:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(45, 6, 1, 1200);
                     break;
                 case Construction.HealthLaboratory:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.EnvironmentNursery:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.EnvironmentWaterPurification:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.EnvironmentRecycling:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.EducationSchool:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(30, 4, 1, 650);
                     break;
                 case Construction.EducationHighSchool:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(45, 4, 1, 1200);
                     break;
                 case Construction.EducationUniversity:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(65, 6, 1, 2500);
                     break;
                 case Construction.EducationResearch:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.EconomyMine:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(45, 6, 1, 1650);
                     break;
                 case Construction.EconomyFactory:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(70, 6, 1, 1400);
                     break;
                 case Construction.EconomyOilWell:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.EconomySawMill:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(30, 4, 1, 900);
                     break;
                 case Construction.PopulationVillage:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(500, 6, 1, 3000);
                     break;
                 case Construction.PopulationTown:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(500, 8, 1, 15000);
                     break;
                 case Construction.PopulationCity:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(500, 10, 1, 150000);
                     break;
                 case Construction.PopulationMetropolis:
                     //LifeTime, ConstructionPeriod, DestructionPeriod, Price
                     bp = new BuildingProperties(500, 14, 1, 1000000);
                     break;
                 default:
                     bp = new BuildingProperties(0,0,0,0);
                     break;
             }
             break;
         case 2: //HP2
             switch (building)
             {
                 case Construction.EnergySolar:
                     bp = new BuildingProperties(50, 2, 1, 1800);
                     break;
                 case Construction.EnergySolid:
                     bp = new BuildingProperties(60, 4, 1, 2000);//al 3-lea param = 1 (distruction period)
                     break;
                 case Construction.EnergyWind:
                     bp = new BuildingProperties(50, 2, 1, 1600);
                     break;
                 case Construction.EnergyGeo:
                     bp = new BuildingProperties(60, 4, 1, 3000);
                     break;
                 case Construction.EnergyNuclear:
                     bp = new BuildingProperties(70, 6, 1, 5000);
                     break;
                 case Construction.FoodCropFarm:
                     bp = new BuildingProperties(50, 2, 1, 900);
                     break;
                 case Construction.FoodAnimalFarm:
                     bp = new BuildingProperties(50, 2, 1, 1000);
                     break;
                 case Construction.FoodOrchard:
                     bp = new BuildingProperties(50, 2, 1, 700);
                     break;
                 case Construction.FoodFarmedFisherie:
                     bp = new BuildingProperties(50, 2, 1, 950);
                     break;
                 case Construction.FoodWildFisherie:
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.HealthClinic:
                     bp = new BuildingProperties(50, 2, 1, 700);
                     break;
                 case Construction.HealthHospital:
                     bp = new BuildingProperties(70, 4, 1, 1200);
                     break;
                 case Construction.HealthLaboratory:
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.EnvironmentNursery:
                     bp = new BuildingProperties(50, 2, 1, 600);
                     break;
                 case Construction.EnvironmentWaterPurification:
                     bp = new BuildingProperties(50, 4, 1, 1200);
                     break;
                 case Construction.EnvironmentRecycling:
                     bp = new BuildingProperties(50, 4, 1, 1200);
                     break;
                 case Construction.EducationSchool:
                     bp = new BuildingProperties(50, 2, 1, 900);
                     break;
                 case Construction.EducationHighSchool:
                     bp = new BuildingProperties(60, 2, 1, 1400);
                     break;
                 case Construction.EducationUniversity:
                     bp = new BuildingProperties(75, 4, 1, 3000);
                     break;
                 case Construction.EducationResearch:
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
                 case Construction.EconomyMine:
                     bp = new BuildingProperties(50, 4, 1, 2000);
                     break;
                 case Construction.EconomyFactory:
                     bp = new BuildingProperties(80, 4, 1, 1700);
                     break;
                 case Construction.EconomyOilWell:
                     bp = new BuildingProperties(70, 2, 1, 2500);
                     break;
                 case Construction.EconomySawMill:
                     bp = new BuildingProperties(40, 2, 1, 1000);
                     break;
                 case Construction.PopulationVillage:
                     bp = new BuildingProperties(500, 4, 1, 3500);
                     break;
                 case Construction.PopulationTown:
                     bp = new BuildingProperties(500, 6, 1, 20000);
                     break;
                 case Construction.PopulationCity:
                     bp = new BuildingProperties(500, 8, 1, 200000);
                     break;
                 case Construction.PopulationMetropolis:
                     bp = new BuildingProperties(500, 12, 1, 1500000);
                     break;
                 default:
                     bp = new BuildingProperties(0, 0, 0, 0);
                     break;
             }
             break;
     }
     return bp;
 }
예제 #47
0
        private void SetGraphics(Construction value)
        {
            switch (value)
            {
                case Construction.EnergySolar:
                    Set_HP2_ConstructionSprite("Energy_SolarPowerPlant_Construction_P2");
                    Set_HP2_AspectSprite("Energy_SolarPowerPlant_Aspect_P2");
                    Set_HP2_DegradationSprite("Energy_SolarPowerPlant_Degradation_P2");
                    break;
                case Construction.EnergySolid:
                    Set_HP2_ConstructionSprite("Energy_SolidFuelPowerPlant_Construction_P2");
                    Set_HP2_AspectSprite("Energy_SolidFuelPowerPlant_Aspect_P2");
                    HP2_Aspect_ExtraAnimationSpeed = 8;
                    Set_HP2_AspectExtraAnimationSprite("Energy_SolidFuelPowerPlant_AspectExtraAnimation_P2");
                    Set_HP2_DegradationSprite("Energy_SolidFuelPowerPlant_Degradation_P2");
                    break;
                case Construction.EnergyWind:
                    Set_HP2_ConstructionSprite("Energy_WindPowerPlant_Construction_P2");
                    HP2_Aspect_AnimationSpeed = 25; //in this order! (before setting the sprite)
                    Set_HP2_AspectSprite("Energy_WindPowerPlant_Aspect_P2");
                    Set_HP2_DegradationSprite("Energy_WindPowerPlant_Degradation_P2");
                    break;
                case Construction.EnergyGeo:
                    Set_HP2_ConstructionSprite("Energy_GeothermalPowerPlant_Construction_P2");
                    Set_HP2_AspectSprite("Energy_GeothermalPowerPlant_Aspect_P2");
                    Set_HP2_DegradationSprite("Energy_GeothermalPowerPlant_Degradation_P2");
                    break;
                case Construction.EnergyNuclear:
                    Set_HP2_ConstructionSprite("Energy_NuclearPowerPlant_Construction_P2");
                    Set_HP2_AspectSprite("Energy_NuclearPowerPlant_Aspect_P2");
                    HP2_Aspect_ExtraAnimationSpeed = 8;
                    Set_HP2_AspectExtraAnimationSprite("Energy_NuclearPowerPlant_AspectExtraAnimation_P2");
                    Set_HP2_DegradationSprite("Energy_NuclearPowerPlant_Degradation_P2");
                    break;
                case Construction.FoodCropFarm:
                    Set_HP1_ConstructionSprite("Food_CropFarm_Construction_P1");
                    Set_HP1_AspectSprite("Food_CropFarm_Aspect_P1");
                    Set_HP1_DegradationSprite("Food_CropFarm_Degradation_P1");

                    Set_HP2_ConstructionSprite("Food_CropFarm_Construction_P2");
                    HP2_Aspect_AnimationSpeed = 5;
                    Set_HP2_AspectSprite("Food_CropFarm_Aspect_P2");
                    Set_HP2_DegradationSprite("Food_CropFarm_Degradation_P2");
                    break;
                case Construction.FoodAnimalFarm:
                    Set_HP1_ConstructionSprite("Food_AnimalFarm_Construction_P1");
                    Set_HP1_AspectSprite("Food_AnimalFarm_Aspect_P1");
                    Set_HP1_DegradationSprite("Food_AnimalFarm_Degradation_P1");

                    Set_HP2_ConstructionSprite("Food_AnimalFarm_Construction_P2");
                    Set_HP2_AspectSprite("Food_AnimalFarm_Aspect_P2");
                    Set_HP2_DegradationSprite("Food_AnimalFarm_Degradation_P2");
                    break;
                case Construction.FoodOrchard:
                    Set_HP1_ConstructionSprite("Food_Orchard_Construction_P1");
                    Set_HP1_AspectSprite("Food_Orchard_Aspect_P1");
                    Set_HP1_DegradationSprite("Food_Orchard_Degradation_P1");

                    Set_HP2_ConstructionSprite("Food_Orchard_Construction_P2");
                    Set_HP2_AspectSprite("Food_Orchard_Aspect_P2");
                    Set_HP2_DegradationSprite("Food_Orchard_Degradation_P2");
                    break;
                case Construction.FoodFarmedFisherie:
                    Set_HP1_ConstructionSprite("Food_FarmedFisherie_Construction_P1");
                    Set_HP1_AspectSprite("Food_FarmedFisherie_Aspect_P1");
                    Set_HP1_DegradationSprite("Food_FarmedFisherie_Degradation_P1");

                    Set_HP2_ConstructionSprite("Food_FarmedFisherie_Construction_P2");
                    Set_HP2_AspectSprite("Food_FarmedFisherie_Aspect_P2");
                    Set_HP2_DegradationSprite("Food_FarmedFisherie_Degradation_P2");
                    break;
                case Construction.FoodWildFisherie:
                    Set_HP1_ConstructionSprite("Food_WildFisherie_Construction_P1");
                    Set_HP1_AspectSprite("Food_WildFisherie_Aspect_P1");
                    Set_HP1_DegradationSprite("Food_WildFisherie_Degradation_P1");

                    Set_HP2_ConstructionSprite("Food_WildFisherie_Construction_P2");
                    Set_HP2_AspectSprite("Food_WildFisherie_Aspect_P2");
                    Set_HP2_DegradationSprite("Food_WildFisherie_Degradation_P2");
                    break;
                case Construction.HealthClinic:
                    Set_HP1_ConstructionSprite("Health_Clinic_Construction_P1");
                    Set_HP1_AspectSprite("Health_Clinic_Aspect_P1");
                    Set_HP1_DegradationSprite("Health_Clinic_Degradation_P1");

                    Set_HP2_ConstructionSprite("Health_Clinic_Construction_P2");
                    Set_HP2_AspectSprite("Health_Clinic_Aspect_P2");
                    Set_HP2_DegradationSprite("Health_Clinic_Degradation_P2");
                    break;
                case Construction.HealthHospital:
                    Set_HP1_ConstructionSprite("Health_Hospital_Construction_P1");
                    Set_HP1_AspectSprite("Health_Hospital_Aspect_P1");
                    Set_HP1_DegradationSprite("Health_Hospital_Degradation_P1");

                    Set_HP2_ConstructionSprite("Health_Hospital_Construction_P2");
                    Set_HP2_AspectSprite("Health_Hospital_Aspect_P2");
                    HP2_Aspect_ExtraAnimationSpeed = 36;//in this order! (before setting the sprite)
                    Set_HP2_AspectExtraAnimationSprite("Health_Hospital_AspectExtraAnimation_P2");
                    Set_HP2_DegradationSprite("Health_Hospital_Degradation_P2");
                    break;
                case Construction.HealthLaboratory:
                    break;
                case Construction.EnvironmentNursery:
                    Set_HP2_ConstructionSprite("Environment_Nursery_Construction_P2");
                    Set_HP2_AspectSprite("Environment_Nursery_Aspect_P2");
                    Set_HP2_DegradationSprite("Environment_Nursery_Degradation_P2");
                    break;
                case Construction.EnvironmentWaterPurification:
                    Set_HP2_ConstructionSprite("Environment_WaterPurificationCenter_Construction_P2");
                    Set_HP2_AspectSprite("Environment_WaterPurificationCenter_Aspect_P2");
                    Set_HP2_DegradationSprite("Environment_WaterPurificationCenter_Degradation_P2");
                    break;
                case Construction.EnvironmentRecycling:
                    Set_HP2_ConstructionSprite("Environment_RecyclingCenter_Construction_P2");
                    HP2_Aspect_AnimationSpeed = 9; //in this order! (before setting the sprite)
                    Set_HP2_AspectSprite("Environment_RecyclingCenter_Aspect_P2");
                    Set_HP2_DegradationSprite("Environment_RecyclingCenter_Degradation_P2");
                    break;
                case Construction.EducationSchool:
                    Set_HP1_ConstructionSprite("Education_School_Construction_P1");
                    Set_HP1_AspectSprite("Education_School_Aspect_P1");
                    Set_HP1_DegradationSprite("Education_School_Degradation_P1");

                    Set_HP2_ConstructionSprite("Education_School_Construction_P2");
                    Set_HP2_AspectSprite("Education_School_Aspect_P2");
                    Set_HP2_DegradationSprite("Education_School_Degradation_P2");
                    break;
                case Construction.EducationHighSchool:
                    Set_HP1_ConstructionSprite("Education_HighSchool_Construction_P1");
                    Set_HP1_AspectSprite("Education_HighSchool_Aspect_P1");
                    Set_HP1_DegradationSprite("Education_HighSchool_Degradation_P1");

                    Set_HP2_ConstructionSprite("Education_HighSchool_Construction_P2");
                    Set_HP2_AspectSprite("Education_HighSchool_Aspect_P2");
                    Set_HP2_DegradationSprite("Education_HighSchool_Degradation_P2");
                    break;
                case Construction.EducationUniversity:
                    Set_HP1_ConstructionSprite("Education_University_Construction_P1");
                    Set_HP1_AspectSprite("Education_University_Aspect_P1");
                    Set_HP1_DegradationSprite("Education_University_Degradation_P1");

                    Set_HP2_ConstructionSprite("Education_University_Construction_P2");
                    Set_HP2_AspectSprite("Education_University_Aspect_P2");
                    Set_HP2_DegradationSprite("Education_University_Degradation_P2");
                    break;
                case Construction.EducationResearch:
                    break;
                case Construction.EconomyFactory:
                    Set_HP1_ConstructionSprite("Economy_Factory_Construction_P1");
                    Set_HP1_AspectSprite("Economy_Factory_Aspect_P1");
                    Set_HP1_DegradationSprite("Economy_Factory_Degradation_P1");

                    Set_HP2_ConstructionSprite("Economy_Factory_Construction_P2");
                    Set_HP2_AspectSprite("Economy_Factory_Aspect_P2");
                    Set_HP2_DegradationSprite("Economy_Factory_Degradation_P2");
                    break;
                case Construction.EconomyMine:
                    Set_HP1_ConstructionSprite("Economy_Mine_Construction_P1");
                    HP1_Aspect_AnimationSpeed = 10; //in this order! (before setting the sprite)
                    Set_HP1_AspectSprite("Economy_Mine_Aspect_P1");
                    Set_HP1_DegradationSprite("Economy_Mine_Degradation_P1");

                    Set_HP2_ConstructionSprite("Economy_Mine_Construction_P2");
                    Set_HP2_AspectSprite("Economy_Mine_Aspect_P2");
                    HP2_Aspect_ExtraAnimationSpeed = 25; //in this order! (before setting the sprite)
                    Set_HP2_AspectExtraAnimationSprite("Economy_Mine_AspectExtraAnimation_P2");
                    Set_HP2_DegradationSprite("Economy_Mine_Degradation_P2");
                    break;
                case Construction.EconomyOilWell:
                    Set_HP2_ConstructionSprite("Economy_OilProbe_Construction_P2");
                    HP2_Aspect_AnimationSpeed = 15; //in this order! (before setting the sprite)
                    Set_HP2_AspectSprite("Economy_OilProbe_Aspect_P2");
                    Set_HP2_DegradationSprite("Economy_OilProbe_Degradation_P2");
                    break;
                case Construction.EconomySawMill:
                    Set_HP1_ConstructionSprite("Economy_SawMill_Construction_P1");
                    HP1_Aspect_AnimationSpeed = 25; //in this order! (before setting the sprite)
                    Set_HP1_AspectSprite("Economy_SawMill_Aspect_P1");
                    Set_HP1_DegradationSprite("Economy_SawMill_Degradation_P1");

                    Set_HP2_ConstructionSprite("Economy_SawMill_Construction_P2");
                    HP2_Aspect_AnimationSpeed = 25; //in this order! (before setting the sprite)
                    Set_HP2_AspectSprite("Economy_SawMill_Aspect_P2");
                    Set_HP2_DegradationSprite("Economy_SawMill_Degradation_P2");
                    break;
                case Construction.PopulationVillage:
                    Set_HP1_ConstructionSprite("Population_Village_Construction_P1");
                    Set_HP1_AspectSprite("Population_Village_Aspect_P1");

                    Set_HP2_ConstructionSprite("Population_Village_Construction_P2");
                    Set_HP2_AspectSprite("Population_Village_Aspect_P2");
                    break;
                case Construction.PopulationTown:
                    Set_HP1_ConstructionSprite("Population_Town_Construction_P1");
                    Set_HP1_AspectSprite("Population_Town_Aspect_P1");

                    Set_HP2_ConstructionSprite("Population_Town_Construction_P2");
                    Set_HP2_AspectSprite("Population_Town_Aspect_P2");
                    break;
                case Construction.PopulationCity:
                    Set_HP1_ConstructionSprite("Population_City_Construction_P1");
                    Set_HP1_AspectSprite("Population_City_Aspect_P1");

                    Set_HP2_ConstructionSprite("Population_City_Construction_P2");
                    Set_HP2_AspectSprite("Population_City_Aspect_P2");
                    break;
                case Construction.PopulationMetropolis:
                    Set_HP1_ConstructionSprite("Population_Metropolis_Construction_P1");
                    Set_HP1_AspectSprite("Population_Metropolis_Aspect_P1");

                    Set_HP2_ConstructionSprite("Population_Metropolis_Construction_P2");
                    Set_HP2_AspectSprite("Population_Metropolis_Aspect_P2");
                    break;
                default:
                    break;
            }
        }
예제 #48
0
        public BuildingIcon(Game game, ConstructionType category, Construction building)
            : base(game)
        {
            this.building = building;
            this.category = category;

            #region Choose Graphics
            switch (building)
            {
                case Construction.EnergySolar:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-energy-solar"));
                    AddChild(visual);
                    break;
                case Construction.EnergySolid:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-energy-oil"));
                    AddChild(visual);
                    break;
                case Construction.EnergyWind:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-energy-wind"));
                    AddChild(visual);
                    break;
                case Construction.EnergyGeo:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-energy-geo"));
                    AddChild(visual);
                    break;
                case Construction.EnergyNuclear:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-energy-nuclear"));
                    AddChild(visual);
                    break;
                case Construction.EducationSchool:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-education-school"));
                    AddChild(visual);
                    break;
                case Construction.EducationHighSchool:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-education-highschool"));
                    AddChild(visual);
                    break;
                case Construction.EducationUniversity:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-education-university"));
                    AddChild(visual);
                    break;
                case Construction.FoodAnimalFarm:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-food-animalFarm"));
                    AddChild(visual);
                    break;
                case Construction.FoodCropFarm:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-food-cropFarm"));
                    AddChild(visual);
                    break;
                case Construction.FoodOrchard:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-food-orchard"));
                    AddChild(visual);
                    break;
                case Construction.FoodFarmedFisherie:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-food-farmedFisherie"));
                    AddChild(visual);
                    break;
                case Construction.PopulationVillage:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-population-village"));
                    AddChild(visual);
                    break;
                case Construction.PopulationTown:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-population-town"));
                    AddChild(visual);
                    break;
                case Construction.PopulationCity:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-population-city"));
                    AddChild(visual);
                    break;
                case Construction.PopulationMetropolis:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-population-metropolis"));
                    AddChild(visual);
                    break;
                case Construction.HealthHospital:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-health-hospital"));
                    AddChild(visual);
                    break;
                case Construction.HealthClinic:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-health-clinic"));
                    AddChild(visual);
                    break;
                case Construction.EconomyFactory:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-economy-factory"));
                    AddChild(visual);
                    break;
                case Construction.EconomyOilWell:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-economy-oilWell"));
                    AddChild(visual);
                    break;
                case Construction.EconomyMine:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-economy-mine"));
                    AddChild(visual);
                    break;
                case Construction.EconomySawMill:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-economy-sawMill"));
                    AddChild(visual);
                    break;
                case Construction.EnvironmentNursery:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-environment-nursery"));
                    AddChild(visual);
                    break;
                case Construction.EnvironmentRecycling:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-environment-recycling"));
                    AddChild(visual);
                    break;
                case Construction.EnvironmentWaterPurification:
                    visual = new Sprite(game, GraphicsCollection.GetPack("icon-environment-waterPurification"));
                    AddChild(visual);
                    break;
                default:
                    break;
            }
            #endregion
            
            RefreshTooltip();
        }
예제 #49
0
        /// <summary>
        /// Create a new building.
        /// </summary>
        /// <param name="slot">The slot on which to create the building.</param>
        /// <param name="building">The building type.</param>

        public void CreateBuilding(Slot slot, Construction building)
        {
            CreateBuilding(slot, building, GameManager.CurrentYear);
            RemoveConstructionPanel();
        }
예제 #50
0
 public ShiftParserAction(Construction.LRItem item) : this(item.Core.Current, item.ShiftedItem.State) {  }
	void SetPreviewedConstructionInternal(Construction construction)
	{
		if (construction == null)
		{
			PreviewedConstruction = null;
		}
		else 
		{
			
			PreviewedConstruction = Construction.DecodeCopy(construction);
		}
	}
	public void SetPreviewedConstruction(Construction construction, ConstructionSavedDelegate saveDelegate)
	{
		SetPreviewedConstructionInternal(construction);
		
		saveFunction = PreviewedConstruction == null ? null : saveDelegate;
	}
예제 #53
0
파일: Hooks.cs 프로젝트: Notulp/Pluton.Rust
        /// <summary>
        /// Called from <c>Construction.CreateConstruction(Construction.Target, bool)</c> .
        /// </summary>
        public static BaseEntity On_Placement(Construction construction, Construction.Target target, bool needsValidPlacement)
        {
            try {
                GameObject gameObject = GameManager.server.CreatePrefab(construction.fullName,
                                                                        default(Vector3),
                                                                        default(Quaternion),
                                                                        true);
                BuildingBlock component = gameObject.GetComponent<BuildingBlock>();
                bool flag = construction.UpdatePlacement(gameObject.transform, construction, target);

                if (needsValidPlacement && !flag) {
                    UnityEngine.Object.Destroy(gameObject);
                    return null;
                }

                BuildingEvent be = null;

                if (component != null) {
                    be = new BuildingEvent(construction, target, component, needsValidPlacement);

                    OnNext("On_Placement", be);
                }

                if (be != null && be.DoDestroy) {
                    be.Builder.Message(be.DestroyReason);
                    UnityEngine.Object.Destroy(gameObject);
                    return null;
                }

                return gameObject.GetComponent<BaseEntity>();
            } catch (Exception ex) {
                Logger.LogException(ex);
                return null;
            }
        }
예제 #54
0
	public void DisplayConstruction(Construction construction)
	{
		constructionGUI.Enable(construction);
		EnterGUIState(UIState.construction);
	}
예제 #55
0
 /// <summary>
 /// Initializes private variables.
 /// </summary>
 /// <param name="construction">Construction</param>
 public ConstructionWrapper(Construction construction)
 {
     m_construction = construction;
 }
예제 #56
0
      Stream(ArrayList data, Construction construct)
      {
         data.Add(new Snoop.Data.ClassSeparator(typeof(Construction)));

         data.Add(new Snoop.Data.String("Id", construct.Id));
         data.Add(new Snoop.Data.String("Name", construct.Name));
      }
예제 #57
0
		/*= new Rectangle( 
			lbPossibilities.Right - 70 - 10 + 5, 
			0, 
			70 - 5, 
			50 - 10 
			);*/
	
		public frmBuild(byte owner1, int city1, int cityProd1)
	/*	{
			frmBuild( owner1, city1, cityProd1 );
		}
		public frmBuild( CityList city, int cityProd1 )*/
		{
			//
			// Required for Windows Form Designer support
			//
			InitializeComponent();
			//
			// TODO: Add any constructor code after InitializeComponent call
			//
			this.pictureBox2.Size = new System.Drawing.Size(240, 296);
			this.ControlBox = false;

			owner = owner1;
		//	this.city= city;
			city = city1;
			cityProd = cityProd1;

			r = new Rectangle( 
				lbPossibilities.Right - 70 - 10, 
				2, 
				70, 
				50 - 8 
				); 

			construction = new Construction();
			construction.list = new Stat.Construction[ Form1.game.playerList[ owner ].cityList[ city ].construction.list.Length ];
			for ( int i = 0; i < construction.list.Length; i ++ )
				construction.list[ i ] = Form1.game.playerList[ owner ].cityList[ city ].construction.list[ i ];

			construction.points = Form1.game.playerList[ owner ].cityList[ city ].construction.points;

			background = new Bitmap( this.Width, this.Height );
			g = Graphics.FromImage( background );

			Color transparentColor = Statistics.terrains[0].bmp.GetPixel(0,0);
		//	ia.SetColorKey(transparentColor, transparentColor);

			int pos = 0;

			list = ai.whatCanBeBuilt( owner, city );

			for ( int i = 0; i < list.Length; i ++ )
				lbPossibilities.Items.Add( list[ i ].name ); 

				/*new structures.constructionList[ Statistics.units.Length + Statistics.buildings.Length + 1 ];

			for ( byte i = 0; i < Statistics.units.Length ; i ++ ) //units
				if ( 
					Form1.game.playerList[ 0 ].technos[ Statistics.units[i ].disponibility ].researched && 
					( 
					Statistics.units[ i ].obselete == 0 || 
					!Form1.game.playerList[ 0 ].technos[ Statistics.units[ Statistics.units[ i ].obselete ].disponibility ].researched 
					) &&
					( 
					Statistics.units[ i ].terrain == 1 || 
					Statistics.units[ i ].terrain == 2 || 
					Statistics.units[ i ].terrain == 3 || 
					Form1.game.radius.isNextToWater( Form1.game.playerList[ owner ].cityList[ city ].X, Form1.game.playerList[ owner ].cityList[ city ].Y ) 
					)
					)
				{
					list[ pos ].type = 1; 
					list[ pos ].ind = i; 
					lbPossibilities.Items.Add( Statistics.units[i ].name ); 

					if ( 
						Form1.game.playerList[ owner1 ].cityList[ city1 ].construction.list[ 0 ].type == (byte)enums.constructionType.unit &&
						Form1.game.playerList[ owner1 ].cityList[ city1 ].construction.list[ 0 ].ind == i
						)
						lbPossibilities.SelectedIndex = pos;

					pos ++;
				}

			if ( !Form1.game.playerList[ 0 ].technos[ 0 ].researched )
			{
				list[ pos ].type = 1;
				list[ pos ].ind = 0;
				lbPossibilities.Items.Add( Statistics.units[ 0 ].name );

				if ( 
					Form1.game.playerList[ owner1 ].cityList[ city1 ].construction.list[ 0 ].type == (byte)enums.constructionType.unit &&
					Form1.game.playerList[ owner1 ].cityList[ city1 ].construction.list[ 0 ].ind == 0
					)
					lbPossibilities.SelectedIndex = pos;

				pos ++;
			}

			for ( byte i = 0; i < Statistics.buildings.Length; i ++ ) //buildings
				if ( Statistics.buildings[i ].disponibility == 0 && Form1.game.playerList[ owner ].cityList[ city ].buildingList[ i ] != true)
				{
					list[ pos ].type = 2;
					list[ pos ].ind = i;
					lbPossibilities.Items.Add( Statistics.buildings[i ].name );

					if ( 
						Form1.game.playerList[ owner1 ].cityList[ city1 ].construction.list[ 0 ].type == (byte)enums.constructionType.building &&
						Form1.game.playerList[ owner1 ].cityList[ city1 ].construction.list[ 0 ].ind == i
						)
						lbPossibilities.SelectedIndex = pos;

					pos ++;
				}
			
			list[ pos ].type = 3;
			list[ pos ].ind = 0;
			lbPossibilities.Items.Add( "Wealth" );*/
		//	byte aaa = (byte)enums.constructionType.wealth;

	//		if ( Form1.game.playerList[ owner1 ].cityList[ city1 ].construction.list[ 0 ].type == (byte)enums.constructionType.wealth ) 
			if ( Form1.game.playerList[ owner1 ].cityList[ city1 ].construction.list[ 0 ] is Stat.Wealth ) 
				lbPossibilities.SelectedIndex = pos; 
			else if ( lbPossibilities.Items.Count > 0 )
				lbPossibilities.SelectedIndex = 0; 

			platformSpec.resolution.set( this.Controls );

			platformSpec.manageWindows.setDialogSize( this );
			populateLBlist();
			enableButtons();
		//	pos ++;
		}
예제 #58
0
        /// <summary>
        /// Sets the Status, a text indicating what is currently loading
        /// </summary>
        private string GetDescription(Construction construction)
        {
            string text = "";
            FieldInfo fi = construction.GetType().GetField(construction.ToString());
            DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
            if (attributes.Length > 0)
                text = attributes[0].Description;

            return text;
        }
예제 #59
0
 public virtual void ActionCallback(Construction target)
 {
 }
예제 #60
0
 public void UpgradePopulationConstruction(Slot slot, Construction populationConstruction)
 {
     Reservation reservation = new Reservation(GameManager.CurrentYear, 500, populationConstruction);
     reservation.IsPopulationUpgraded = true;
     slot.MakeReservation(reservation);
 }