public void BuidFarm(FarmType farmType) { Farm farm = new Farm(farmType, currentGameState.GetFarmCount(farmType)); Command buildFarm = new Command(Command.CommandType.BuildFarm, farm); buildFarm.ApplyCommand(currentGameState, Time.deltaTime); processedCommand.Add(buildFarm); gameStateChanged.Invoke(currentGameState); Sender.SendOnServer(server, buildFarm); }
protected override void Awake() { if (singleton) { Debug.LogError("Multiple of this type"); } singleton = this; resourceTypeIn = new ResourceTypes[] { }; resourceTypeOut = new ResourceTypes[] { ResourceTypes.Food }; name = "Farm"; base.Awake(); }
public Farm(FarmType type, int farmCount) { this.type = type; for (int workerNum = 0; workerNum < workersCount; workerNum++) { Worker worker = new Worker(); workers.Add(worker); } price = type.GetPrice(farmCount); cookiePerSecond = type.GetCookiePerSecond(); }
public int GetFarmCount(FarmType farmType) { int typeFarmsCount = 0; foreach (Farm f in farms) { if (f.type == farmType) { typeFarmsCount++; } } return(typeFarmsCount); }
/// <summary> /// Builds the farm. /// </summary> /// <returns>创建成功返回true,否则返回false</returns> /// <param name="farmType">Farm type.</param> public bool BuildFarm(FarmType farmType) { switch (farmType) { case FarmType.CattleFarm: Debug.Log("生成一个养牛场"); BuildingInfo cattleInfo = BuildingConfig.Instance.Container.farmList["CattleFarm"]; if (DBHandler.Instance.Coins < cattleInfo.Cost) { return(false); } CattleFarm cattleFarmPrefab = Resources.Load <CattleFarm>("Prefabs/CattleFarm"); CattleFarm cattleFarm = Instantiate(cattleFarmPrefab); cattleFarm.farmType = FarmType.CattleFarm; InitFarmContent(cattleFarm, cattleInfo); break; case FarmType.Hennery: Debug.Log("生成一个养鸡场"); BuildingInfo henneryInfo = BuildingConfig.Instance.Container.farmList["Hennery"]; if (DBHandler.Instance.Coins < henneryInfo.Cost) { return(false); } HenneryFarm henneryPrefab = Resources.Load <HenneryFarm>("Prefabs/Hennery"); HenneryFarm henneryFarm = Instantiate(henneryPrefab); henneryFarm.farmType = FarmType.Hennery; InitFarmContent(henneryFarm, henneryInfo); break; case FarmType.SheepFarm: Debug.Log("生成一个养羊场"); BuildingInfo sheepInfo = BuildingConfig.Instance.Container.farmList["SheepFarm"]; if (DBHandler.Instance.Coins < sheepInfo.Cost) { return(false); } SheepFarm sheepFarmPrefab = Resources.Load <SheepFarm>("Prefabs/SheepFarm"); SheepFarm sheepFarm = Instantiate(sheepFarmPrefab); sheepFarm.farmType = FarmType.SheepFarm; InitFarmContent(sheepFarm, sheepInfo); break; default: return(false); } return(true); }
/**** ** Methods ****/ /// <summary>Apply the map overrides.</summary> private void ApplyMapOverrides() { // get farm data Farm farm = Game1.getFarm(); FarmType farmType = (FarmType)Game1.whichFarm; // get layouts if (!this.LayoutConfig.Layouts.ContainsKey(farmType)) { this.Monitor.Log($"The {farmType} farm isn't supported by the mod.", LogLevel.Warn); return; } LayoutConfig[] layouts = this.LayoutConfig .Layouts[farmType] .Where(p => p.ConfigFlag == null || this.GetConfigFlag(p.ConfigFlag)) .ToArray(); // resize tilesheet TileSheet tileSheet = farm.map.GetTileSheet(FarmTilesheet.Outdoors); tileSheet.SheetSize = new Size(tileSheet.SheetSize.Width, tileSheet.SheetSize.Height + 44); // apply layouts foreach (LayoutConfig layout in layouts) { // override tiles if (layout.Tiles != null) { this.Apply(farm, layout.Tiles.SelectMany(p => p.GetOverrides(this.LayoutConfig.Tilesheets, this.DefaultTilesheet))); } // tile properties if (layout.TileProperties != null) { foreach (TileProperty property in layout.TileProperties.SelectMany(p => p.GetProperties(this.LayoutConfig.Tilesheets, this.DefaultTilesheet))) { farm.setTileProperty(property.X, property.Y, property.Layer.ToString(), property.Key, property.Value); } } // tilesheet properties if (layout.TileIndexProperties != null) { foreach (TileIndexProperty property in layout.TileIndexProperties.SelectMany(p => p.GetProperties(this.LayoutConfig.Tilesheets, this.DefaultTilesheet))) { farm.map.GetTileSheet(property.Tilesheet).Properties.Add(property.Key, new PropertyValue(property.Value)); } } } }
public async Task <int> CreateAsync(FarmTypeModifyRequest farmType) { var newFarmType = new FarmType() { Name = farmType.Name, Description = farmType.Description, CreatedById = farmType.CreatedById, UpdatedById = farmType.UpdatedById, StatusId = FarmTypeStatus.Actived.GetCode() }; newFarmType.UpdatedDate = DateTimeOffset.UtcNow; newFarmType.CreatedDate = DateTimeOffset.UtcNow; var id = await _farmTypeRepository.AddWithInt32EntityAsync(newFarmType); return(id); }