public void SendBuilderBuild(int builderNO, int builderLevel, IObstacleInfo targetInfo, IMapData mapData) { GameObject builder = null; if (this.m_Builders.ContainsKey(builderNO)) { builder = this.m_Builders[builderNO]; builder.SetActive(true); } else { builder = this.GenerateBuilder(builderNO, builderLevel); this.m_Builders.Add(builderNO, builder); } TilePosition buildPoint = BorderPointHelper.FindValidInflateOneBorderPoint(targetInfo); builder.transform.position = PositionConvertor.GetWorldPositionFromActorTileIndex(buildPoint); BuilderAI builderAI = builder.GetComponent <BuilderAI>(); builderAI.MapData = mapData; builderAI.BuilderNO = builderNO; builderAI.Build(targetInfo, buildPoint); }
public void SendRunAway() { List <IBuildingInfo> builderHuts = this.m_BattleSceneHelper.GetBuildings(BuildingType.BuilderHut); BuildingType[] disappearBuildings = ActorPrefabConfig.Instance.GetComponent <ActorConfig>().VillagerDisappearBuildingTypes; HashSet <BuildingType> buildings = new HashSet <BuildingType>(); foreach (BuildingType building in disappearBuildings) { buildings.Add(building); } foreach (KeyValuePair <int, GameObject> builder in this.m_Builders) { BuilderAI builderAI = builder.Value.GetComponent <BuilderAI>(); builderAI.RunAway(builderHuts); } foreach (GameObject villager in this.m_Villagers) { VillagerAI villagerAI = villager.GetComponent <VillagerAI>(); villagerAI.RunAway(buildings); } }
public void SendBuilderToBuild(int builderNO, int builderLevel, TilePosition builderHutPosition, IObstacleInfo targetInfo, IMapData mapData) { GameObject builder = null; if (this.m_Builders.ContainsKey(builderNO)) { builder = this.m_Builders[builderNO]; builder.SetActive(true); } else { builder = this.GenerateBuilder(builderNO, builderLevel); this.m_Builders.Add(builderNO, builder); builder.transform.position = PositionConvertor.GetWorldPositionFromBuildingTileIndex(builderHutPosition); } BuilderAI builderAI = builder.GetComponent <BuilderAI>(); builderAI.MapData = mapData; builderAI.BuilderNO = builderNO; builderAI.Build(targetInfo); }
public void SendBuilderReturn(int builderNO) { BuilderAI builder = this.m_Builders[builderNO].GetComponent <BuilderAI>(); builder.FinishBuild(); }