void Start() { initialPosition = transform.position; initialRotation = transform.eulerAngles; cameraRig = transform.parent; buildingPlacement = GetComponent<BuildingPlacement>(); }
private void Start() { place = GetComponent <BuildingPlacement>(); BaseCount = 0; BuilderCount = 0; //Pooling GameObject hold; //base pool for (int i = 0; i < max; i++) { hold = Instantiate(Base); hold.SetActive(false); hold.transform.parent = this.transform; BasePool[i] = hold; } //builder pool for (int i = 0; i < max; i++) { hold = Instantiate(Builder); hold.transform.parent = this.transform; hold.SetActive(false); BuildersPool[i] = hold; } }
/// <summary> /// Sends the Worker to Create a Building of a specific type. /// </summary> /// <param name="buildingType">Type of the Building to be created.</param> /// <param name="position">Position where the Building will be placed. /// Use Position.IsValidPlacement to check if the position can be used.</param> /// <returns>Instance of the building in a progress state.</returns> public IBuilding CreateBuilding(BuildingType buildingType, Position position) { // TODO: // 1. send worker to the position near building, queued event when arrival // 2. start construction object, queued event when finished // 2.5. if interrupted, worker can repeat step 1 and continue on 2 without creating a new object // 3. finished event, return to gather StopGathering(); var player = Player.CurrentPlayer; var actor = Create <Building>( BuildingHelper.DetermineBuildingType(buildingType), BuildingPlacement.PlaceProgressBuilding( BuildingHelper.FindBuildingInFaction(buildingType, UnitController), new List <UnitController> { UnitController }, UnitController.FactionIndex, position, Quaternion.identity, GameManager.Instance.ResourceManagerFaction[UnitController.FactionIndex] ), player ); // TODO: make sure the CurrentPlayer stays the same after the movement Tutorial.Instance.CreateBuilding(); // TODO: asynchronous after the movement GameManager.Instance.FiredEvent(player, GameEventType.BuildingStartedConstruction, new Arguments { MyUnit = this, MyBuilding = actor }); return(actor); }
void Start() { //Singleton buildingManager = this; buildingsIndex = 0; buildingPlacement = GetComponent <BuildingPlacement> (); }
// -- Butonlara Atanan Metot. Tıklanan Butona Ait Prefabı Instantiate Yapıyor -- // public void SetItem(GameObject b) { hasPlaced = false; currentBuilding = ((GameObject)Instantiate(b, parentTransform.GetChild(0))).transform; currentBuilding.name = currentBuilding.name.Replace("(Clone)", ""); buildingPlacement = currentBuilding.GetComponent <BuildingPlacement>(); }
void Update() { string building = string.Empty; if (Input.GetKeyDown(KeyCode.Alpha1)) { building = "BlueObject"; } else if (Input.GetKeyDown(KeyCode.Alpha2)) { building = "RedObject"; } else if (Input.GetKeyDown(KeyCode.F)) { SceneManager.LoadScene("TheFuture"); } if (building != string.Empty) { Vector3 position = transform.position + transform.forward * 3.0f; Quaternion rotation = transform.rotation; BuildingPlacement placement = new BuildingPlacement(building, position, rotation); buildings.Add(placement); PlaceBuilding(placement); } }
void Start() { bpl = GetComponent <BuildingPlacement>(); //house = (GameObject)Resources.Load("Assets/Prefabs/house"); //cube.SetActive(false); //bpl.setItem(house); }
void Start() { buildingPlacement = GetComponent <BuildingPlacement>(); gameState.currentEvent = 0; gameState.tree = 0; informations = new string[] { "The Tree is Green", "The Apple Tree is Red", "The Orange Tree is Orange" }; information.text = informations[0]; }
public void InitialisePlayer(string playerName, int playerNumber, int cash) { this.playerName = playerName; this.playerNumber = playerNumber; playerCash = cash; buildManager = this.gameObject.AddComponent <BuildingManager>(); buildPlacement = this.gameObject.AddComponent <BuildingPlacement>(); }
// Use this for initialization void Start() { buildingPlacement = GetComponent <BuildingPlacement>(); for (int i = 0; i < buildings.Length; i++) { buildingAmount[i] = 0; } }
private void Awake() { place = gameObject.GetComponent <BuildingPlacement>(); select = gameObject.GetComponent <UnitSelection>(); miniMap = GameObject.Find("MiniMap").GetComponent <MiniMap>(); faction = GameObject.Find("Faction Manager") .GetComponent <FactionManager>() .FactionList[select.FactionIndex] .GetComponent <Faction>(); ReconfigureWindows(); }
private void Awake() { start_panel_active = true; buildingDeleteModeOn = false; barDeleteModeOn = false; landmarkModeOn = false; buildingPlacement = GameObject.Find("Terrain").GetComponent <BuildingPlacement>(); barPlacement = GameObject.Find("Terrain").GetComponent <BarPlacement>(); skyExposure = GameObject.Find("Main Camera").GetComponent <SkyExposure>(); heatmap = GameObject.Find("Heatmap").GetComponent <Heatmap>(); create_building_panel.SetActive(false); }
// Use this for initialization void Start () { baumenüActive = true; Baumenübutton = GameObject.Find("BuildMenu"); buildingPlacement = GetComponent<BuildingPlacement>(); Auswählbuttons = GameObject.Find("Auswähl-Buttons"); Auswählbuttons.SetActive(false); BaubuttonsWohnhäuser = GameObject.Find("BaubuttonsWohnhäuser"); BaubuttonsWohnhäuser.SetActive(false); BaubuttonsGewerbe = GameObject.Find("BaubuttonsGewerbe"); BaubuttonsGewerbe.SetActive(false); BaubuttonsIndustrie = GameObject.Find("BaubuttonsIndustrie"); BaubuttonsIndustrie.SetActive(false); }
public void Start() { gridScript = GameObject.Find("UGrid").GetComponent <UGrid>(); FactionM = GameObject.Find("Faction Manager").GetComponent <FactionManager>(); placement = gameObject.GetComponent <BuildingPlacement>(); guiManager = gameObject.GetComponent <GUIManager>(); GameObject obj = GameObject.Find("MiniMap"); if (obj) { map = obj.GetComponent <MiniMap>(); } //test = Camera.main.GetComponent<GUILayer>(); curSelected = new List <GameObject>(); curSelectedS = new List <UnitController>(); curBuildSelected = new List <GameObject>(); curBuildSelectedS = new List <BuildingController>(); }
//TODO Maybe turn this into an event public void MonthlyTick() { // ReSharper disable once ForCanBeConvertedToForeach for (var index = 0; index < _activeUpgradedCultivations.Count; index++) { var upgrade = _activeUpgradedCultivations[index]; var cultivationPrefab = upgrade.MyCultivationPrefab; cultivationPrefab.UpgradeDuration--; if (cultivationPrefab.MyCurrentState == NodeState.CurrentStateEnum.Farm) { ((BuildingPrefab)cultivationPrefab).MyBuilding.UpgradeDuration = cultivationPrefab.UpgradeDuration; } else if (cultivationPrefab.MyCurrentState == NodeState.CurrentStateEnum.Field) { ((PlantPrefab)cultivationPrefab).MyPlant.UpgradeDuration = cultivationPrefab.UpgradeDuration; } if (cultivationPrefab.UpgradeDuration >= 1) { continue; } if (cultivationPrefab.MyCurrentState == NodeState.CurrentStateEnum.Farm) { Debug.Log("Building type = buidling prefab"); BuildingPlacement.UpgradeFarmFinished((BuildingPrefab)cultivationPrefab); MySidePanel.SetPanel(((BuildingPrefab)cultivationPrefab).MyBuilding); RemoveUpgradedCultivation(cultivationPrefab); } else if (cultivationPrefab.MyCurrentState == NodeState.CurrentStateEnum.Field) { BuildingPlacement.UpgradeFieldFinished((PlantPrefab)cultivationPrefab); MySidePanel.SetPanel(((PlantPrefab)cultivationPrefab).MyPlant); RemoveUpgradedCultivation(cultivationPrefab); Debug.Log("Building type = plant prefab"); } else { Debug.LogError("Type not found"); } } }
// Use this for initialization void Start() { buildingPlacement = GetComponent <BuildingPlacement>(); rm = FindObjectOfType <ResourceManager>(); message += "\n"; ObjectOnGrid ong = building.GetComponent <ObjectOnGrid>(); if (ong.costWood != 0) { message += ong.costWood + " wood "; } if (ong.costStone != 0) { message += ong.costStone + " stone "; } if (ong.costStone == 0 && ong.costWood == 0) { message += "FREE"; } }
public void Initialize() { obstaclePlacement = GetComponent <ObstaclePlacement>(); if (obstaclePlacement == null) { Debug.LogWarning("Obstacle placement is lost!"); } objectPlacement = GetComponent <ObjectPlacement>(); if (objectPlacement == null) { Debug.LogWarning("Object placement is lost"); } enemyPlacement = GetComponent <EnemyPlacement>(); if (enemyPlacement == null) { Debug.LogWarning("Enemy placement is lost!"); } board = FindObjectOfType <Board>(); if (board == null) { Debug.LogWarning("Board is lost"); } levelInitializer = GetComponent <LevelInitializer>(); if (levelInitializer == null) { Debug.Log("Level initializer is lost"); } buildingPlacement = GetComponent <BuildingPlacement>(); if (buildingPlacement == null) { Debug.Log("Building placement is lost"); } }
public void Start() { gridScript = GameObject.Find("UGrid").GetComponent <UGrid>(); groupM = GameObject.Find("Faction Manager").GetComponent <GroupManager>(); placement = gameObject.GetComponent <BuildingPlacement>(); if (placement) { placement.SetGroup(group); } GUIManager manager = gameObject.GetComponent <GUIManager>(); if (manager) { manager.group = groupM.groupList[group].GetComponent <Group>(); } guiManager = gameObject.GetComponent <GUIManager>(); GameObject obj = GameObject.Find("MiniMap"); if (obj) { map = obj.GetComponent <MiniMap>(); } test = Camera.main.GetComponent <GUILayer>(); }
// Start is called before the first frame update void Start() { buildings = GameObject.Find("GameController").GetComponent <BuildingList>().buildings; buildingPlacement = GetComponent <BuildingPlacement>(); }
private void Awake() { instance = this; }
// Use this for initialization void Start() { playerResources = GameObject.Find("GameManager").GetComponent<Player_Resources>(); buildingPlacement = Camera.main.GetComponent<BuildingPlacement>(); }
// Start is called before the first frame update void Start() { buildManager = new BuildingManager(); buildPlacement = new BuildingPlacement(); }
// Use this for initialization void Start() { buildingPlacement = GetComponent <BuildingPlacement>(); buildingPlacement.SetManager(this); castle = GameObject.Find("Castle").GetComponent <CastleHealth>(); }
// Use this for initialization void Start() { buildingPlacement = GetComponent<BuildingPlacement>(); buildings = Resources.LoadAll<GameObject>("Prefabs/Structures"); }
//private Transform agentPool; // Initialize shaders void Awake() { highlightShader = Shader.Find("Outlined/Diffuse"); dissolveShader = Shader.Find("Dissolve/Dissolve_WorldCoords"); mat0 = GetComponentInChildren<Renderer>().material; mat1 = new Material(Shader.Find("Legacy Shaders/Transparent/Diffuse")); mat1.color = new Color(0, 1, 0, 0.35F); mat2 = new Material(Shader.Find("Legacy Shaders/Transparent/Diffuse")); mat2.color = new Color(1, 0, 0, 0.35F); buildingPlacement = Camera.main.GetComponent<BuildingPlacement>(); structurePool = GameObject.Find("_StructurePool").transform; //agentPool = GameObject.Find("_AgentPool").transform; newSpawn = Resources.LoadAll<GameObject>("Prefabs/Spawns"); playerResources = GameObject.Find("GameManager").GetComponent<Player_Resources>(); }
void Start() { buildingPlacement = GetComponent <BuildingPlacement>(); }
public void OnKillConfirm() { BuildingPlacement.RemoveTiles(GridManager.Instance.GetSelectedNode()); DestroyPanel.SetActive(false); }
void PlaceBuilding(BuildingPlacement building) { Transform prefab = index[building.name].prefab; Instantiate(prefab, building.position, building.rotation); }
// Use this for initialization void Start() { buildingPlacement = GetComponent <BuildingPlacement>(); rm = FindObjectOfType <ResourceManager>(); }
// Use this for initialization void Start() { buildingPlacement = GetComponent<BuildingPlacement>(); buildingPlacement.SetManager (this); castle = GameObject.Find("Castle").GetComponent<CastleHealth>(); }
private void Start() { buildingPlacement = GameObject.FindGameObjectWithTag("Overseer").GetComponent <BuildingPlacement>(); }
public void Start() { gridScript = GameObject.Find("UGrid").GetComponent<UGrid>(); groupM = GameObject.Find("Faction Manager").GetComponent<GroupManager>(); placement = gameObject.GetComponent<BuildingPlacement>(); if(placement) placement.SetGroup(group); GUIManager manager = gameObject.GetComponent<GUIManager>(); if(manager) manager.group = groupM.groupList[group].GetComponent<Group>(); guiManager = gameObject.GetComponent<GUIManager>(); GameObject obj = GameObject.Find("MiniMap"); if(obj) map = obj.GetComponent<MiniMap>(); test = Camera.main.GetComponent<GUILayer>(); }
void Start() { buildingPlacement = new BuildingPlacement(); mouseInput = GameObject.FindGameObjectWithTag("GameController").GetComponent <MouseInput>(); buildingHolder = GameObject.FindGameObjectWithTag("BuildingHolder"); }
public DefaultSharkyBot(GameConnection gameConnection) { var debug = false; #if DEBUG debug = true; #endif var framesPerSecond = 22.4f; SharkyOptions = new SharkyOptions { Debug = debug, FramesPerSecond = framesPerSecond, TagsEnabled = true }; MacroData = new MacroData(); AttackData = new AttackData { ArmyFoodAttack = 30, ArmyFoodRetreat = 25, Attacking = false, UseAttackDataManager = true, CustomAttackFunction = true, RetreatTrigger = 1f, AttackTrigger = 1.5f }; TargetingData = new TargetingData { HiddenEnemyBase = false }; BaseData = new BaseData(); ActiveChatData = new ActiveChatData(); EnemyData = new EnemyData(); SharkyUnitData = new SharkyUnitData(); UnitDataService = new UnitDataService(SharkyUnitData); Managers = new List <IManager>(); DebugService = new DebugService(SharkyOptions); DebugManager = new DebugManager(gameConnection, SharkyOptions, DebugService); Managers.Add(DebugManager); UpgradeDataService = new UpgradeDataService(); BuildingDataService = new BuildingDataService(); TrainingDataService = new TrainingDataService(); AddOnDataService = new AddOnDataService(); MorphDataService = new MorphDataService(); WallDataService = new WallDataService(); UnitDataManager = new UnitDataManager(UpgradeDataService, BuildingDataService, TrainingDataService, AddOnDataService, MorphDataService, SharkyUnitData); Managers.Add(UnitDataManager); MapData = new MapData(); MapDataService = new MapDataService(MapData); AreaService = new AreaService(MapDataService); TargetPriorityService = new TargetPriorityService(SharkyUnitData); CollisionCalculator = new CollisionCalculator(); ActiveUnitData = new ActiveUnitData(); UnitCountService = new UnitCountService(ActiveUnitData, SharkyUnitData); DamageService = new DamageService(); UnitManager = new UnitManager(ActiveUnitData, SharkyUnitData, SharkyOptions, TargetPriorityService, CollisionCalculator, MapDataService, DebugService, DamageService, UnitDataService); MapManager = new MapManager(MapData, ActiveUnitData, SharkyOptions, SharkyUnitData, DebugService, WallDataService); Managers.Add(MapManager); Managers.Add(UnitManager); EnemyRaceManager = new EnemyRaceManager(ActiveUnitData, SharkyUnitData, EnemyData); Managers.Add(EnemyRaceManager); SharkyPathFinder = new SharkyPathFinder(new Roy_T.AStar.Paths.PathFinder(), MapData, MapDataService, DebugService); SharkySimplePathFinder = new SharkySimplePathFinder(MapDataService); SharkyAdvancedPathFinder = new SharkyAdvancedPathFinder(new Roy_T.AStar.Paths.PathFinder(), MapData, MapDataService, DebugService); NoPathFinder = new SharkyNoPathFinder(); BuildingService = new BuildingService(MapData, ActiveUnitData, TargetingData, BaseData); ChokePointService = new ChokePointService(SharkyPathFinder, MapDataService, BuildingService); ChokePointsService = new ChokePointsService(SharkyPathFinder, ChokePointService); BaseManager = new BaseManager(SharkyUnitData, ActiveUnitData, SharkyPathFinder, UnitCountService, BaseData); Managers.Add(BaseManager); TargetingManager = new TargetingManager(SharkyUnitData, BaseData, MacroData, TargetingData, MapData, ChokePointService, ChokePointsService, DebugService); Managers.Add(TargetingManager); BuildOptions = new BuildOptions { StrictGasCount = false, StrictSupplyCount = false, StrictWorkerCount = false }; MacroSetup = new MacroSetup(); WallOffPlacement = new HardCodedWallOffPlacement(ActiveUnitData, SharkyUnitData, DebugService, MapData, BuildingService, TargetingData, BaseData); //WallOffPlacement = new WallOffPlacement(ActiveUnitData, SharkyUnitData, DebugService, MapData, BuildingService, TargetingData); ProtossBuildingPlacement = new ProtossBuildingPlacement(ActiveUnitData, SharkyUnitData, DebugService, MapDataService, BuildingService, WallOffPlacement); TerranBuildingPlacement = new TerranBuildingPlacement(ActiveUnitData, SharkyUnitData, DebugService, BuildingService); ZergBuildingPlacement = new ZergBuildingPlacement(ActiveUnitData, SharkyUnitData, DebugService, BuildingService); BuildingPlacement = new BuildingPlacement(ProtossBuildingPlacement, TerranBuildingPlacement, ZergBuildingPlacement, BaseData, ActiveUnitData, BuildingService, SharkyUnitData); BuildingBuilder = new BuildingBuilder(ActiveUnitData, TargetingData, BuildingPlacement, SharkyUnitData, BaseData); WarpInPlacement = new WarpInPlacement(ActiveUnitData, DebugService, MapData); Morpher = new Morpher(ActiveUnitData); BuildPylonService = new BuildPylonService(MacroData, BuildingBuilder, SharkyUnitData, ActiveUnitData, BaseData, TargetingData, BuildingService); BuildDefenseService = new BuildDefenseService(MacroData, BuildingBuilder, SharkyUnitData, ActiveUnitData, BaseData, TargetingData, BuildOptions); ChronoData = new ChronoData(); NexusManager = new NexusManager(ActiveUnitData, SharkyUnitData, ChronoData); Managers.Add(NexusManager); ShieldBatteryManager = new ShieldBatteryManager(ActiveUnitData); Managers.Add(ShieldBatteryManager); PhotonCannonManager = new PhotonCannonManager(ActiveUnitData); Managers.Add(PhotonCannonManager); OrbitalManager = new OrbitalManager(ActiveUnitData, BaseData, EnemyData); Managers.Add(OrbitalManager); HttpClient = new HttpClient(); ChatHistory = new ChatHistory(); ChatDataService = new ChatDataService(); EnemyNameService = new EnemyNameService(); EnemyPlayerService = new EnemyPlayerService(EnemyNameService); ChatService = new ChatService(ChatDataService, SharkyOptions, ActiveChatData); ChatManager = new ChatManager(HttpClient, ChatHistory, SharkyOptions, ChatDataService, EnemyPlayerService, EnemyNameService, ChatService, ActiveChatData); Managers.Add((IManager)ChatManager); ProxyLocationService = new ProxyLocationService(BaseData, TargetingData, SharkyPathFinder, MapDataService, AreaService); var individualMicroController = new IndividualMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var adeptMicroController = new AdeptMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var adeptShadeMicroController = new AdeptShadeMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var archonMicroController = new ArchonMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.AttackForward, false); var colossusMicroController = new ColossusMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false, CollisionCalculator); var darkTemplarMicroController = new DarkTemplarMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var disruptorMicroController = new DisruptorMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var disruptorPhasedMicroController = new DisruptorPhasedMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.AttackForward, false); var highTemplarMicroController = new HighTemplarMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var mothershipMicroController = new MothershipMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var oracleMicroController = new OracleMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var observerMicroController = new ObserverMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var phoenixMicroController = new PhoenixMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, true); var sentryMicroController = new SentryMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.StayOutOfRange, true); var stalkerMicroController = new StalkerMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var tempestMicroController = new TempestMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var voidrayMicroController = new VoidRayMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var carrierMicroController = new CarrierMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var warpPrismpMicroController = new WarpPrismMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var zealotMicroController = new ZealotMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.AttackForward, false); var zerglingMicroController = new ZerglingMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.AttackForward, false); var marineMicroController = new MarineMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var reaperMicroController = new ReaperMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var bansheeMicroController = new BansheeMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var workerDefenseMicroController = new IndividualMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false, 3); var workerProxyScoutMicroController = new WorkerScoutMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.AttackForward, false); var oracleHarassMicroController = new OracleMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var reaperHarassMicroController = new ReaperMicroController(MapDataService, SharkyUnitData, ActiveUnitData, DebugService, SharkyAdvancedPathFinder, BaseData, SharkyOptions, DamageService, UnitDataService, TargetingData, MicroPriority.LiveAndAttack, false); var individualMicroControllers = new Dictionary <UnitTypes, IIndividualMicroController> { { UnitTypes.PROTOSS_ADEPT, adeptMicroController }, { UnitTypes.PROTOSS_ADEPTPHASESHIFT, adeptShadeMicroController }, { UnitTypes.PROTOSS_ARCHON, archonMicroController }, { UnitTypes.PROTOSS_COLOSSUS, colossusMicroController }, { UnitTypes.PROTOSS_DARKTEMPLAR, darkTemplarMicroController }, { UnitTypes.PROTOSS_DISRUPTOR, disruptorMicroController }, { UnitTypes.PROTOSS_DISRUPTORPHASED, disruptorPhasedMicroController }, { UnitTypes.PROTOSS_HIGHTEMPLAR, highTemplarMicroController }, { UnitTypes.PROTOSS_MOTHERSHIP, mothershipMicroController }, { UnitTypes.PROTOSS_ORACLE, oracleMicroController }, { UnitTypes.PROTOSS_PHOENIX, phoenixMicroController }, { UnitTypes.PROTOSS_SENTRY, sentryMicroController }, { UnitTypes.PROTOSS_STALKER, stalkerMicroController }, { UnitTypes.PROTOSS_TEMPEST, tempestMicroController }, { UnitTypes.PROTOSS_VOIDRAY, voidrayMicroController }, { UnitTypes.PROTOSS_CARRIER, carrierMicroController }, { UnitTypes.PROTOSS_WARPPRISM, warpPrismpMicroController }, { UnitTypes.PROTOSS_WARPPRISMPHASING, warpPrismpMicroController }, { UnitTypes.PROTOSS_ZEALOT, zealotMicroController }, { UnitTypes.PROTOSS_OBSERVER, observerMicroController }, { UnitTypes.ZERG_ZERGLING, zerglingMicroController }, { UnitTypes.TERRAN_MARINE, marineMicroController }, { UnitTypes.TERRAN_MARAUDER, marineMicroController }, { UnitTypes.TERRAN_REAPER, reaperMicroController }, { UnitTypes.TERRAN_BANSHEE, bansheeMicroController } }; MicroData = new MicroData { IndividualMicroControllers = individualMicroControllers, IndividualMicroController = individualMicroController }; DefenseService = new DefenseService(ActiveUnitData); TargetingService = new TargetingService(ActiveUnitData, MapDataService, BaseData, TargetingData); MicroController = new MicroController(MicroData); MicroTaskData = new MicroTaskData { MicroTasks = new Dictionary <string, IMicroTask>() }; var defenseSquadTask = new DefenseSquadTask(ActiveUnitData, TargetingData, DefenseService, MicroController, new ArmySplitter(AttackData, TargetingData, ActiveUnitData, DefenseService, MicroController), new List <DesiredUnitsClaim>(), 0, false); var workerScoutTask = new WorkerScoutTask(SharkyUnitData, TargetingData, MapDataService, false, 0.5f, workerDefenseMicroController, DebugService, BaseData, AreaService); var workerScoutGasStealTask = new WorkerScoutGasStealTask(SharkyUnitData, TargetingData, MacroData, MapDataService, false, 0.5f, DebugService, BaseData, AreaService, MapData, BuildingService, ActiveUnitData); var findHiddenBaseTask = new FindHiddenBaseTask(BaseData, TargetingData, MapDataService, individualMicroController, 15, false, 0.5f); var proxyScoutTask = new ProxyScoutTask(SharkyUnitData, TargetingData, BaseData, SharkyOptions, false, 0.5f, workerProxyScoutMicroController); var miningDefenseService = new MiningDefenseService(BaseData, ActiveUnitData, workerDefenseMicroController, DebugService); var miningTask = new MiningTask(SharkyUnitData, BaseData, ActiveUnitData, 1, miningDefenseService, MacroData, BuildOptions); var queenInjectTask = new QueenInjectsTask(ActiveUnitData, 1.1f, UnitCountService); var attackTask = new AttackTask(MicroController, TargetingData, ActiveUnitData, DefenseService, MacroData, AttackData, TargetingService, MicroTaskData, new ArmySplitter(AttackData, TargetingData, ActiveUnitData, DefenseService, MicroController), new EnemyCleanupService(MicroController), 2); var adeptWorkerHarassTask = new AdeptWorkerHarassTask(BaseData, TargetingData, adeptMicroController, 2, false); var oracleWorkerHarassTask = new OracleWorkerHarassTask(TargetingData, BaseData, ChatService, MapDataService, MapData, oracleHarassMicroController, 1, false); var lateGameOracleHarassTask = new LateGameOracleHarassTask(BaseData, TargetingData, MapDataService, oracleHarassMicroController, 1, false); var reaperWorkerHarassTask = new ReaperWorkerHarassTask(BaseData, TargetingData, reaperHarassMicroController, 2, false); var hallucinationScoutTask = new HallucinationScoutTask(TargetingData, BaseData, false, .5f); var wallOffTask = new WallOffTask(SharkyUnitData, TargetingData, ActiveUnitData, MacroData, WallOffPlacement, false, .25f); var destroyWallOffTask = new DestroyWallOffTask(ActiveUnitData, false, .25f); MicroTaskData.MicroTasks[defenseSquadTask.GetType().Name] = defenseSquadTask; MicroTaskData.MicroTasks[workerScoutGasStealTask.GetType().Name] = workerScoutGasStealTask; MicroTaskData.MicroTasks[workerScoutTask.GetType().Name] = workerScoutTask; MicroTaskData.MicroTasks[findHiddenBaseTask.GetType().Name] = findHiddenBaseTask; MicroTaskData.MicroTasks[proxyScoutTask.GetType().Name] = proxyScoutTask; MicroTaskData.MicroTasks[miningTask.GetType().Name] = miningTask; MicroTaskData.MicroTasks[queenInjectTask.GetType().Name] = queenInjectTask; MicroTaskData.MicroTasks[attackTask.GetType().Name] = attackTask; MicroTaskData.MicroTasks[adeptWorkerHarassTask.GetType().Name] = adeptWorkerHarassTask; MicroTaskData.MicroTasks[oracleWorkerHarassTask.GetType().Name] = oracleWorkerHarassTask; MicroTaskData.MicroTasks[lateGameOracleHarassTask.GetType().Name] = lateGameOracleHarassTask; MicroTaskData.MicroTasks[reaperWorkerHarassTask.GetType().Name] = reaperWorkerHarassTask; MicroTaskData.MicroTasks[hallucinationScoutTask.GetType().Name] = hallucinationScoutTask; MicroTaskData.MicroTasks[wallOffTask.GetType().Name] = wallOffTask; MicroTaskData.MicroTasks[destroyWallOffTask.GetType().Name] = destroyWallOffTask; MicroManager = new MicroManager(ActiveUnitData, MicroTaskData); Managers.Add(MicroManager); AttackDataManager = new AttackDataManager(AttackData, ActiveUnitData, attackTask, TargetPriorityService, TargetingData, MacroData, BaseData, DebugService); Managers.Add(AttackDataManager); BuildProxyService = new BuildProxyService(MacroData, BuildingBuilder, SharkyUnitData, ActiveUnitData, Morpher, MicroTaskData); BuildingCancelService = new BuildingCancelService(ActiveUnitData, MacroData); MacroManager = new MacroManager(MacroSetup, ActiveUnitData, SharkyUnitData, BuildingBuilder, SharkyOptions, BaseData, TargetingData, AttackData, WarpInPlacement, MacroData, Morpher, BuildOptions, BuildPylonService, BuildDefenseService, BuildProxyService, UnitCountService, BuildingCancelService); Managers.Add(MacroManager); EnemyStrategyHistory = new EnemyStrategyHistory(); EnemyData.EnemyStrategies = new Dictionary <string, IEnemyStrategy> { ["Proxy"] = new EnemyStrategies.Proxy(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, TargetingData, DebugService, UnitCountService), ["WorkerRush"] = new WorkerRush(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, TargetingData, DebugService, UnitCountService), ["InvisibleAttacks"] = new InvisibleAttacks(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, DebugService, UnitCountService), ["AdeptRush"] = new AdeptRush(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, DebugService, UnitCountService), ["CannonRush"] = new CannonRush(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, TargetingData, DebugService, UnitCountService), ["ProtossFastExpand"] = new ProtossFastExpand(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, DebugService, UnitCountService, TargetingData), ["ProxyRobo"] = new ProxyRobo(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, DebugService, UnitCountService, TargetingData), ["ProxyStargate"] = new ProxyStargate(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, DebugService, UnitCountService, TargetingData), ["ZealotRush"] = new ZealotRush(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, DebugService, UnitCountService), ["MarineRush"] = new MarineRush(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, DebugService, UnitCountService), ["BunkerRush"] = new BunkerRush(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, TargetingData, DebugService, UnitCountService), ["MassVikings"] = new MassVikings(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, DebugService, UnitCountService), ["ThreeRax"] = new ThreeRax(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, DebugService, UnitCountService), ["ZerglingRush"] = new ZerglingRush(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, DebugService, UnitCountService), ["RoachRavager"] = new RoachRavager(EnemyStrategyHistory, ChatService, ActiveUnitData, SharkyOptions, DebugService, UnitCountService) }; EnemyStrategyManager = new EnemyStrategyManager(EnemyData); Managers.Add(EnemyStrategyManager); EmptyCounterTransitioner = new EmptyCounterTransitioner(EnemyData, SharkyOptions); var antiMassMarine = new AntiMassMarine(BuildOptions, MacroData, ActiveUnitData, AttackData, ChatService, ChronoData, EmptyCounterTransitioner, UnitCountService, MicroTaskData); var fourGate = new FourGate(BuildOptions, MacroData, ActiveUnitData, AttackData, ChatService, ChronoData, SharkyUnitData, EmptyCounterTransitioner, UnitCountService, MicroTaskData); var nexusFirst = new NexusFirst(BuildOptions, MacroData, ActiveUnitData, AttackData, ChatService, ChronoData, EmptyCounterTransitioner, UnitCountService, MicroTaskData); var robo = new Robo(BuildOptions, MacroData, ActiveUnitData, AttackData, ChatService, ChronoData, EnemyData, MicroTaskData, EmptyCounterTransitioner, UnitCountService); var protossRobo = new ProtossRobo(BuildOptions, MacroData, ActiveUnitData, AttackData, ChatService, ChronoData, SharkyOptions, MicroTaskData, EnemyData, EmptyCounterTransitioner, UnitCountService); var everyProtossUnit = new EveryProtossUnit(BuildOptions, MacroData, ActiveUnitData, AttackData, ChatService, ChronoData, EmptyCounterTransitioner, UnitCountService, MicroTaskData); var protossBuilds = new Dictionary <string, ISharkyBuild> { [everyProtossUnit.Name()] = everyProtossUnit, [nexusFirst.Name()] = nexusFirst, [robo.Name()] = robo, [protossRobo.Name()] = protossRobo, [fourGate.Name()] = fourGate, [antiMassMarine.Name()] = antiMassMarine }; var protossSequences = new List <List <string> > { new List <string> { everyProtossUnit.Name() }, new List <string> { nexusFirst.Name(), robo.Name(), protossRobo.Name() }, new List <string> { antiMassMarine.Name() }, new List <string> { fourGate.Name() } }; var protossBuildSequences = new Dictionary <string, List <List <string> > > { [Race.Terran.ToString()] = protossSequences, [Race.Zerg.ToString()] = protossSequences, [Race.Protoss.ToString()] = protossSequences, [Race.Random.ToString()] = protossSequences, ["Transition"] = protossSequences }; var massMarine = new MassMarines(this); var battleCruisers = new BattleCruisers(BuildOptions, MacroData, ActiveUnitData, AttackData, MicroTaskData, ChatService, UnitCountService); var everyTerranUnit = new EveryTerranUnit(BuildOptions, MacroData, ActiveUnitData, AttackData, ChatService, MicroTaskData, UnitCountService); var terranBuilds = new Dictionary <string, ISharkyBuild> { [massMarine.Name()] = massMarine, [battleCruisers.Name()] = battleCruisers, [everyTerranUnit.Name()] = everyTerranUnit }; var terranSequences = new List <List <string> > { new List <string> { massMarine.Name(), battleCruisers.Name() }, new List <string> { everyTerranUnit.Name() }, new List <string> { battleCruisers.Name() }, }; var terranBuildSequences = new Dictionary <string, List <List <string> > > { [Race.Terran.ToString()] = terranSequences, [Race.Zerg.ToString()] = terranSequences, [Race.Protoss.ToString()] = terranSequences, [Race.Random.ToString()] = terranSequences, ["Transition"] = terranSequences }; var basicZerglingRush = new BasicZerglingRush(BuildOptions, MacroData, ActiveUnitData, AttackData, ChatService, MicroTaskData, UnitCountService); var everyZergUnit = new EveryZergUnit(BuildOptions, MacroData, ActiveUnitData, AttackData, MicroTaskData, ChatService, UnitCountService); var zergBuilds = new Dictionary <string, ISharkyBuild> { [everyZergUnit.Name()] = everyZergUnit, [basicZerglingRush.Name()] = basicZerglingRush }; var zergSequences = new List <List <string> > { new List <string> { everyZergUnit.Name() }, new List <string> { basicZerglingRush.Name(), everyZergUnit.Name() } }; var zergBuildSequences = new Dictionary <string, List <List <string> > > { [Race.Terran.ToString()] = zergSequences, [Race.Zerg.ToString()] = zergSequences, [Race.Protoss.ToString()] = zergSequences, [Race.Random.ToString()] = zergSequences, ["Transition"] = zergSequences }; MacroBalancer = new MacroBalancer(BuildOptions, ActiveUnitData, MacroData, SharkyUnitData, BaseData, UnitCountService); BuildChoices = new Dictionary <Race, BuildChoices> { { Race.Protoss, new BuildChoices { Builds = protossBuilds, BuildSequences = protossBuildSequences } }, { Race.Terran, new BuildChoices { Builds = terranBuilds, BuildSequences = terranBuildSequences } }, { Race.Zerg, new BuildChoices { Builds = zergBuilds, BuildSequences = zergBuildSequences } } }; BuildDecisionService = new BuildDecisionService(ChatService); BuildManager = new BuildManager(BuildChoices, DebugService, MacroBalancer, BuildDecisionService, EnemyPlayerService, ChatHistory, EnemyStrategyHistory); Managers.Add(BuildManager); }
// Use this for initialization void Start () { buildingPlacement = GetComponent<BuildingPlacement>(); }
void Start() { if(place == null){ place = gameObject.GetComponent<BuildingPlacement>(); } if(select == null){ select = gameObject.GetComponent<UnitSelection>(); } if(resourceManager == null){ resourceManager = gameObject.GetComponent<ResourceManager>(); } ReconfigureWindows(); }
// Use this for initialization void Start() { buildingPlacement = GetComponent<BuildingPlacement> (); // Debug.Log ("hi there: "+buildings.Length); }
// Use this for initialization void Start() { Instance = this; StructureConfigs[0] = new StructureConfig(); StructureConfigs[0].Name = "House"; StructureConfigs[0].PrefabLocation = "Structures/BasicHousePrefab"; StructureConfigs[0].RivetCost = 20; StructureConfigs[0].VoltCost = 10; StructureConfigs[0].BaseWidth = 2; StructureConfigs[0].BaseHeight = 2; StructureConfigs[0].HousingModifier = 20; StructureConfigs[0].AttractionModifier = -10; StructureConfigs[0].VoltGeneration = -10; StructureConfigs[0].BuildTime = 20; StructureConfigs[1] = new StructureConfig(); StructureConfigs[1].Name = "Windmill"; StructureConfigs[1].PrefabLocation = "Structures/WindmillPrefab"; StructureConfigs[1].RivetCost = 50; StructureConfigs[1].BaseWidth = 2; StructureConfigs[1].BaseHeight = 2; StructureConfigs[1].AttractionModifier = -20; StructureConfigs[1].WorkersRequired = 5; StructureConfigs[1].VoltGeneration = 10; StructureConfigs[1].BuildTime = 20; StructureConfigs[2] = new StructureConfig(); StructureConfigs[2].Name = "Shop"; StructureConfigs[2].PrefabLocation = "Structures/ShopPrefab"; StructureConfigs[2].RivetCost = 50; StructureConfigs[2].VoltCost = 40; StructureConfigs[2].BaseWidth = 2; StructureConfigs[2].BaseHeight = 2; StructureConfigs[2].AttractionModifier = 10; StructureConfigs[2].WorkersRequired = 4; StructureConfigs[2].RivetMinGeneration = 5; StructureConfigs[2].RivetMaxGeneration = 8; StructureConfigs[2].VoltGeneration = -1; StructureConfigs[2].BuildTime = 20; StructureConfigs[3] = new StructureConfig(); StructureConfigs[3].Name = "TownHall"; StructureConfigs[3].PrefabLocation = "Structures/TownHallPrefab"; StructureConfigs[3].RivetCost = 0; StructureConfigs[3].BaseWidth = 2; StructureConfigs[3].BaseHeight = 2; StructureConfigs[3].AttractionModifier = 10; StructureConfigs[3].WorkersRequired = 0; StructureConfigs[3].RivetMinGeneration = 5; StructureConfigs[3].RivetMaxGeneration = 8; StructureConfigs[3].BuildLimit = 1; StructureConfigs[3].VoltGeneration = 5; StructureConfigs[3].BuildTime = 15; StructureConfigs[4] = new StructureConfig(); StructureConfigs[4].Name = "BoilerPlant"; StructureConfigs[4].PrefabLocation = "Structures/BoilerPlantPrefab"; StructureConfigs[4].RivetCost = 100; StructureConfigs[4].VoltCost = 50; StructureConfigs[4].BaseWidth = 2; StructureConfigs[4].BaseHeight = 2; StructureConfigs[4].AttractionModifier = -10; StructureConfigs[4].WorkersRequired = 10; StructureConfigs[4].RivetMinGeneration = 0; StructureConfigs[4].RivetMaxGeneration = 0; StructureConfigs[4].SteamGeneration = 10; StructureConfigs[4].BuildTime = 45; StructureConfigs[5] = new StructureConfig(); StructureConfigs[5].Name = "ClockTower"; StructureConfigs[5].PrefabLocation = "Structures/ClockTowerPrefab"; StructureConfigs[5].RivetCost = 50; StructureConfigs[5].VoltCost = 30; StructureConfigs[5].BaseWidth = 2; StructureConfigs[5].BaseHeight = 2; StructureConfigs[5].AttractionModifier = 25; StructureConfigs[5].WorkersRequired = 1; StructureConfigs[5].VoltGeneration = -10; StructureConfigs[5].BuildTime = 45; }
// Use this for initialization void Start() { instance = this; mouseButtonPressedOnBuilding = false; }
// Use this for initialization void Start() { shaderObject = GetComponentInChildren<Renderer>(); originalShader = shaderObject.material.shader; highlightShader = Shader.Find("Outlined/Diffuse"); nodePool = GameObject.Find("_NodePool").transform; structureName = name; harvestTime = harvestTimer; transform.parent = nodePool; playerResources = GameObject.Find("GameManager").GetComponent<Player_Resources>(); buildingPlacement = Camera.main.GetComponent<BuildingPlacement>(); }
void Start() { GetComponent <Button>().onClick.AddListener(ButtonClicked); buildingPlacement = FindObjectOfType <BuildingPlacement>(); buildingHoverInfoText = GameObject.Find("Canvas").gameObject.transform.Find("BuildingHoverInfoText").gameObject; }
void Start() { buildingPlacement = GetComponent <BuildingPlacement>(); buildingManager = GetComponent <BuildingManager>(); }