Example #1
0
 void Start()
 {
     initialPosition = transform.position;
     initialRotation = transform.eulerAngles;
     cameraRig = transform.parent;
     buildingPlacement = GetComponent<BuildingPlacement>();
 }
Example #2
0
    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;
        }
    }
Example #3
0
        /// <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);
        }
Example #4
0
 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>();
 }
Example #6
0
    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);
 }
Example #8
0
 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];
 }
Example #9
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>();
 }
Example #10
0
    // Use this for initialization
    void Start()
    {
        buildingPlacement = GetComponent <BuildingPlacement>();

        for (int i = 0; i < buildings.Length; i++)
        {
            buildingAmount[i] = 0;
        }
    }
Example #11
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();
 }
Example #12
0
 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);
 }
Example #13
0
	// 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);
	}
Example #14
0
        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>();
        }
Example #15
0
        //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");
                }
            }
        }
Example #16
0
    // 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";
        }
    }
Example #17
0
    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");
        }
    }
Example #18
0
    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;
 }
Example #21
0
 // Use this for initialization
 void Start()
 {
     playerResources = GameObject.Find("GameManager").GetComponent<Player_Resources>();
     buildingPlacement = Camera.main.GetComponent<BuildingPlacement>();
 }
Example #22
0
 // Start is called before the first frame update
 void Start()
 {
     buildManager   = new BuildingManager();
     buildPlacement = new BuildingPlacement();
 }
Example #23
0
 // Use this for initialization
 void Start()
 {
     buildingPlacement = GetComponent <BuildingPlacement>();
     buildingPlacement.SetManager(this);
     castle = GameObject.Find("Castle").GetComponent <CastleHealth>();
 }
Example #24
0
 // Use this for initialization
 void Start()
 {
     buildingPlacement = GetComponent<BuildingPlacement>();
     buildings = Resources.LoadAll<GameObject>("Prefabs/Structures");
 }
Example #25
0
 //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>();
 }
Example #26
0
 void Start()
 {
     buildingPlacement = GetComponent <BuildingPlacement>();
 }
Example #27
0
 public void OnKillConfirm()
 {
     BuildingPlacement.RemoveTiles(GridManager.Instance.GetSelectedNode());
     DestroyPanel.SetActive(false);
 }
Example #28
0
    void PlaceBuilding(BuildingPlacement building)
    {
        Transform prefab = index[building.name].prefab;

        Instantiate(prefab, building.position, building.rotation);
    }
Example #29
0
 // 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>();
 }
Example #33
0
 void Start()
 {
     buildingPlacement = new BuildingPlacement();
     mouseInput        = GameObject.FindGameObjectWithTag("GameController").GetComponent <MouseInput>();
     buildingHolder    = GameObject.FindGameObjectWithTag("BuildingHolder");
 }
Example #34
0
        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);
        }
Example #35
0
	// 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;
    }
Example #40
0
 // 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>();
 }
Example #41
0
 void Start()
 {
     GetComponent <Button>().onClick.AddListener(ButtonClicked);
     buildingPlacement     = FindObjectOfType <BuildingPlacement>();
     buildingHoverInfoText = GameObject.Find("Canvas").gameObject.transform.Find("BuildingHoverInfoText").gameObject;
 }
Example #42
0
 void Start()
 {
     buildingPlacement = GetComponent <BuildingPlacement>();
     buildingManager   = GetComponent <BuildingManager>();
 }