Inheritance: MonoBehaviour
    public void CreateBuilding(int index)
    {
        Building selectedBuilding = unit.constructableBuildings[index];

        //If I hAD eNOUGHT mONEY



        if (currentTile.tile.currentBuilding == Buildings.None)
        {
            if (myPlayerResources.HasResources(selectedBuilding.cost))
            {
                myPlayerResources.RemoveResources(selectedBuilding.cost);
                uIController.OnResourcesChanged();
                currentTile.tile.currentBuilding = selectedBuilding.type;
                GameObject         building   = new GameObject(selectedBuilding.name);
                BuildingController controller = building.AddComponent <BuildingController>();
                controller.myTeam = myTeam;
                controller.SetBuilding(selectedBuilding);
                Material mat = gameObject.GetComponent <MeshRenderer>().material;
                building.AddComponent <MeshRenderer>().sharedMaterial = mat;

                MeshFilter filter = building.AddComponent <MeshFilter>();
                filter.sharedMesh              = selectedBuilding.mesh;
                building.transform.parent      = currentTile.transform;
                building.transform.position    = currentTile.transform.position + new Vector3(0, 0.5f, 0);
                building.transform.localScale /= 2;

                SetCantMove();
            }
        }
    }
Example #2
0
    void HireVillager()
    {
        if (RM.gold >= villagerUC.gold && RM.wood >= villagerUC.wood && RM.food >= villagerUC.food && RM.iron >= villagerUC.iron && RM.steel >= villagerUC.steel && RM.skymetal >= villagerUC.skymetal && RM.stone >= villagerUC.stone && RM.housing < RM.maxHousing)
        {
            UI.TownHallTraining();
            RM.gold       -= villagerUC.gold;
            RM.wood       -= villagerUC.wood;
            RM.food       -= villagerUC.food;
            RM.iron       -= villagerUC.iron;
            RM.steel      -= villagerUC.steel;
            RM.skymetal   -= villagerUC.skymetal;
            RM.stone      -= villagerUC.stone;
            RM.housing    += 1;
            selectedObj    = inputScript.selectedObj;
            townHallScript = selectedObj.GetComponent <TownHallController>();
            buildingScript = selectedObj.GetComponent <BuildingController>();


            //  spawnPosition = new Vector3(buildingScript.location.x, buildingScript.location.y, buildingScript.location.z +50f);
            playerAudio.clip = trainVillagerAudio;
            playerAudio.Play();
            townHallScript.HireVillager();
        }
        else
        {
            UI.noResourcesText.SetActive(true);
            StartCoroutine(Wait());
        }
    }
Example #3
0
    public void GoUp()
    {
        Debug.Log("Up");

        var dispatch = _dispatchManager.ReturnDispatchThatHostOrder(_order);

        if (dispatch == null)
        {
            return;
        }

        dispatch.IncreaseOrderPriority(_order);

        //order from all Heavy Loaders
        var heavys = BuildingController.FindAllStructOfThisType(H.HeavyLoad);

        for (int i = 0; i < heavys.Count; i++)
        {
            heavys[i].Dispatch1.IncreaseOrderPriority(_order);
        }

        //so it repositions
        oldAmt = -1000;
        _buildingWindow.ResetShownInventory();
    }
Example #4
0
 protected override void CombineMesh(BuildingType buildingType, MeshCombiner meshCombiner)
 {
     if (this.IsHomeCombiningEligible())
     {
         BuildingController buildingController = Service.Get <BuildingController>();
         Entity             selectedBuilding   = buildingController.SelectedBuilding;
         if (selectedBuilding != null)
         {
             BuildingType  buildingTypeFromBuilding           = base.GetBuildingTypeFromBuilding((SmartEntity)selectedBuilding);
             BuildingMover buildingMoverForCombineMeshManager = Service.Get <BuildingController>().GetBuildingMoverForCombineMeshManager();
             Vector3       zero = Vector3.zero;
             if (buildingTypeFromBuilding == buildingType)
             {
                 buildingMoverForCombineMeshManager.DeselectBuildingBeforeCombiningMesh(out selectedBuilding, out zero);
             }
             base.CombineMesh(buildingType, meshCombiner);
             if (buildingTypeFromBuilding == buildingType)
             {
                 buildingMoverForCombineMeshManager.SelectBuildingAfterCombiningMesh(selectedBuilding, zero);
                 return;
             }
         }
         else
         {
             base.CombineMesh(buildingType, meshCombiner);
         }
     }
 }
Example #5
0
    public void mouseButtonUp()
    {
        for (int x = mc.start_x; x <= mc.end_x; x++)
        {
            for (int y = mc.start_y; y <= mc.end_y; y++)
            {
                Tile t = WorldController.Instance.world.GetTileAt(x, y);
                // This Places the building instantly at mouse
                // bc.PlaceBuilding(paintingType, t);

                if (BuildingController.BuildingTileClear(t) &&
                    t.pendingJob == null)
                {
                    //
                    Job j = new Job(t, (theJob) => { OnBuildingJobComplete(paintingType, theJob.tile);
                                                     t.pendingJob = null; });
                    j.JobObjectType = "RockWallTile";
                    t.world.jobQueue.Enqueue(j);
                    t.pendingJob = j;

                    j.RegisterJobCancelCallBack((theJob) => { theJob.tile.pendingJob = null; });
                    j.RegisterJobCompleteCallBack((theJob) => { theJob.tile.pendingJob = null; });
                }
            }
        }
    }
    /**********************************************************************************/
    // производим поиск цели
    // в случае обнаружения, функция сгенерирует
    //
    /**********************************************************************************/
    protected override void UpdateTarget()
    {
        // если ещё не начали никуда двигаться, стрелять тоже не будем
        // защита от дурака
        Base.DIREC direction = m_unitWithRadar.MoveDirection;
        if (direction == Base.DIREC.NO_DIRECTION)
        {
            m_targetCheckTimer += m_targetCheckTimerLimit;
            return;
        }

        // получаем список впомогательных точек для поиска
        List <Point> pointsToCheck = m_cachePoints[(int)direction];

        foreach (Point specPoint in pointsToCheck)
        {
            Point realPointToCheck = specPoint + m_currentPosition;
            List <BuildingController> buildingsInPoint = GameObjectMapController.GetInstance().SearchEnemiesBuildingInRadius(realPointToCheck, 0, m_owner);

            if (buildingsInPoint.Count > 0)
            {
                BuildingController targetCtr = buildingsInPoint[Random.Range(0, buildingsInPoint.Count)];
                if (RadarUpdate != null)
                {
                    RadarData data = new RadarData();
                    data.EnemyDirection.Add(direction);
                    data.DetectedEnemy.Add(targetCtr.gameObject);
                    RadarUpdate(data);
                }
            }

            m_targetCheckTimer += m_targetCheckTimerLimit;
        }
    }
Example #7
0
        public void UpdateBuilding_RegularValues_OkResult()
        {
            //Arrange
            var building = new Mock <IBuilding>();

            building.SetupGet(b => b.BuildingName).Returns(model.BuildingName);
            building.SetupGet(b => b.Address).Returns(model.Address);

            facade.Setup(f => f.UpdateBuilding("3445", model.BuildingName, model.Address));

            var controller = new BuildingController(facade.Object)
            {
                ControllerContext = controllerContext
            };

            //Act
            var result = controller.UpdateBuilding(model);

            //Assert
            Assert.NotNull(result);

            var okresult = Assert.IsType <OkNegotiatedContentResult <GenericResponse> >(result);

            Assert.Equal(true, okresult.Content.IsSuccess);
        }
Example #8
0
 public void Setup()
 {
     gameFlowController    = FindObjectOfType <GameflowController> ();
     orientationController = FindObjectOfType <OrientationController> ();
     buildingController    = FindObjectOfType <BuildingController> ();
     inGameDBController    = FindObjectOfType <InGameDBController> ();
 }
Example #9
0
    public void HireVillager()
    {
        selectedObj    = inputScript.selectedObj;
        buildingScript = selectedObj.GetComponent <BuildingController>();

        StartCoroutine(VillagerSpawn());
    }
Example #10
0
 //Singleton Constructor.
 public static BuildingController GetInstance()
 {
     if (mInstance == null)
     {
         GameObject tmp;
         tmp = GameObject.Find("BuildingController");
         if (tmp == null)
         {
             GameObject go = new GameObject();
             mInstance = go.AddComponent <BuildingController>();
         }
         else
         {
             BuildingController tmp2;
             tmp2 = tmp.GetComponent <BuildingController>();
             if (tmp2 = null)
             {
                 tmp.AddComponent <BuildingController>();
             }
             else
             {
                 mInstance = tmp2;
             }
         }
     }
     return(mInstance);
 }
Example #11
0
    IEnumerator VillagerSpawn()
    {
        isTraining     = true;
        selectedObj    = inputScript.selectedObj;
        buildingScript = selectedObj.GetComponent <BuildingController>();
        spawnPosition  = new Vector3(buildingScript.location.x, buildingScript.location.y, buildingScript.location.z - 10f);
        nextSpawnTime  = Time.time + spawnDelay;

        for (i = 1; i < 11; i++)
        {
            yield return(new WaitForSeconds(1));
        }
        isTraining = false;

        var random1 = Random.Range(0, firstNames.Length);
        var random2 = Random.Range(0, lastNameFirst.Length);
        var random3 = Random.Range(0, lastNameSecond.Length);

        progressIcon              = GameObject.Find("ProgressIcon").GetComponent <Image>();
        workerUC                  = villagerPrefab.GetComponent <UnitController>();
        workerUnitSelection       = villagerPrefab.GetComponent <UnitSelection>();
        progressIcon.sprite       = workerUC.unitIcon;
        workerUC.unitName         = firstNames[random1] + " " + lastNameFirst[random2] + lastNameSecond[random3];
        workerUnitSelection.owner = team;

        Instantiate(villagerPrefab, spawnPosition, Quaternion.identity);
        villagerAudio      = selectedObj.GetComponent <AudioSource>();
        villagerAudio.clip = villagerReporting;
        villagerAudio.Play();
        UI.TownHallSelect();
    }
    /// <summary>
    /// 打开区域
    /// </summary>
    /// <param name="onComplete"></param>
    public override void OpenDep(Action onComplete = null, bool isFocusT = true)
    {
        HideFacotry();
        BuildingController building = ParentNode.ParentNode as BuildingController;

        if (building != null)
        {
            building.LoadRoom(ParentNode, true, floor =>
            {
                OnDevCreateComplete = onComplete;
                //DepNode lastDep = FactoryDepManager.currentDep;
                //FactoryDepManager.currentDep = this;
                //SceneEvents.OnDepNodeChanged(lastDep, this);

                SceneEvents.OnDepNodeChanged(this);
                //Todo:摄像头聚焦
                if (isFocusT)
                {
                    FocusOn(() =>
                    {
                        AfterRoomFocus(true);
                    });
                }
                else
                {
                    AfterRoomFocus(true);
                }
            });
        }
    }
Example #13
0
 void SwapProgressIcon()
 {
     progressIcon = GameObject.Find("ProgressIcon").GetComponent <Image>();
     // UI Functions
     buildingScript = selectedObj.GetComponent <BuildingController>();
     if (buildingScript.unitType == "Town Hall")
     {
         progressIcon.sprite = townHallScript.villagerPrefab.GetComponent <UnitController>().unitIcon;
     }
     else if (buildingScript.unitType == "Barracks")
     {
         if (buildingScript.GetComponent <BarracksController>().unit == "Footman")
         {
             progressIcon.sprite = barracksScript.footmanPrefab.GetComponent <UnitController>().unitIcon;
         }
         else if (buildingScript.GetComponent <BarracksController>().unit == "Swordsman")
         {
             progressIcon.sprite = barracksScript.swordsmanPrefab.GetComponent <UnitController>().unitIcon;
         }
     }
     else if (buildingScript.tag == "Foundation")
     {
         foundationScript    = selectedObj.GetComponent <FoundationController>();
         progressIcon.sprite = foundationScript.buildingPrefab.GetComponent <BuildingController>().icon;
     }
     else
     {
         progressIcon.sprite = buildingScript.icon;
     }
 }
    private static void CopyFloorControllers(GameObject obj, GameObject newObj, BuildingController buildingController)
    {
        buildingController.ChildNodes = new List <DepNode>();
        var floors = obj.GetComponentsInChildren <FloorController>();

        foreach (var floor in floors)
        {
            var floorObj  = floor.gameObject;
            var floorName = floorObj.name;
            var newFloor  = newObj.transform.GetChildByName(floorName);
            if (newFloor)
            {
                var floorController = EditorHelper.CopyComponent <FloorController>(floorObj, newFloor.gameObject);//拷贝楼层控制脚本
                buildingController.ChildNodes.Add(floorController);
                floorController.ParentNode = buildingController;

                var floorCube = newFloor.transform.GetChildByName("FloorCube");
                if (floorCube != null)
                {
                    floorController.floorCube = floorCube.gameObject.GetComponent <FloorCubeInfo>();
                }
                var collider = EditorHelper.CopyComponent <BoxCollider>(floorObj, newFloor.gameObject);//拷贝楼层BoxCollider

                //BoxCollider collider = newFloor.gameObject.AddCollider(false);
                //collider.enabled = false;
            }
            else
            {
                Debug.LogError("newFloor == null : " + floorName);
            }
        }
    }
 /// <summary>
 /// 大楼楼层展开完毕触发
 /// </summary>
 public static void OnBuildingOpenCompleteAction(BuildingController building)
 {
     if (BuildingOpenCompleteAction != null)
     {
         BuildingOpenCompleteAction(building);
     }
 }
Example #16
0
 void HireArcher()
 {
     if (RM.gold >= archerUC.gold && RM.wood >= archerUC.wood && RM.food >= archerUC.food && RM.iron >= archerUC.iron && RM.steel >= archerUC.steel && RM.skymetal >= archerUC.skymetal && RM.stone >= archerUC.stone && RM.housing < RM.maxHousing)
     {
         UI.BarracksTraining();
         RM.gold         -= archerUC.gold;
         RM.wood         -= archerUC.wood;
         RM.food         -= archerUC.food;
         RM.iron         -= archerUC.iron;
         RM.steel        -= archerUC.steel;
         RM.skymetal     -= archerUC.skymetal;
         RM.stone        -= archerUC.stone;
         RM.housing      += 1;
         selectedObj      = inputScript.selectedObj;
         barracksScript   = selectedObj.GetComponent <BarracksController>();
         buildingScript   = selectedObj.GetComponent <BuildingController>();
         playerAudio.clip = trainArcherAudio;
         playerAudio.Play();
         barracksScript.HireArcher();
     }
     else
     {
         UI.noResourcesText.SetActive(true);
         StartCoroutine(Wait());
     }
 }
Example #17
0
 public void HireSwordsman()
 {
     selectedObj    = inputScript.selectedObj;
     buildingScript = selectedObj.GetComponent <BuildingController>();
     unit           = "Swordsman";
     StartCoroutine(Train());
 }
        /// <summary>
        /// Creates new structure according to def belonging to factory's faction
        /// </summary>
        /// <param name="def">Definition of structure to be created</param>
        /// <returns>Structure defined by Def belonging to factory's faction</returns>
        public IStructure <IStructureDef> CreateNewBuilding(IStructureDef def)
        {
            IStructure <IStructureDef> buildingController;

            switch (def)
            {
            case ResourceFactoryDef resourceFactoryDef:
                buildingController = new ResourceFactoryController(resourceFactoryDef, faction);
                break;

            case TrainingStructureDef trainingStructureDef:
                TrainingStructureController structureController = new TrainingStructureController(trainingStructureDef, game.Spawner);
                structureController.Faction = faction;

                GameActionFactory gameActionFactory = new GameActionFactory(game);

                foreach (ITrainableDef trainableDef in trainingStructureDef.TrainableDefs)
                {
                    IGameAction gameAction = gameActionFactory.CreateTrainAction(trainableDef, structureController);
                    structureController.GameActions.Add(gameAction);
                }

                buildingController = structureController;

                break;

            default:
                buildingController         = new BuildingController((BuildingDef)def);
                buildingController.Faction = faction;
                break;
            }

            return(buildingController);
        }
Example #19
0
 // OTHER BLACKSMITHING
 void ResearchArtisanWoodworking()
 {
     selectedObj      = inputScript.selectedObj;
     buildingScript   = selectedObj.GetComponent <BuildingController>();
     lumberYardScript = selectedObj.GetComponent <LumberYardController>();
     lumberYardScript.ResearchArtisanWoodworking();
 }
Example #20
0
 void ResearchWatchTowers()
 {
     selectedObj      = inputScript.selectedObj;
     buildingScript   = selectedObj.GetComponent <BuildingController>();
     lumberYardScript = selectedObj.GetComponent <LumberYardController>();
     lumberYardScript.ResearchWatchTowers();
 }
Example #21
0
 void ResearchSturdyConstruction()
 {
     selectedObj      = inputScript.selectedObj;
     buildingScript   = selectedObj.GetComponent <BuildingController>();
     lumberYardScript = selectedObj.GetComponent <LumberYardController>();
     lumberYardScript.ResearchSturdyConstruction();
 }
Example #22
0
 void ResearchImprovedHandles()
 {
     selectedObj      = inputScript.selectedObj;
     buildingScript   = selectedObj.GetComponent <BuildingController>();
     lumberYardScript = selectedObj.GetComponent <LumberYardController>();
     lumberYardScript.ResearchImprovedHandles();
 }
Example #23
0
 void ResearchArtisanWeaponSmithingButton()
 {
     selectedObj      = inputScript.selectedObj;
     buildingScript   = selectedObj.GetComponent <BuildingController>();
     blacksmithScript = selectedObj.GetComponent <BlacksmithController>();
     blacksmithScript.ResearchArtisanWeaponSmithing();
 }
Example #24
0
 void ResearchReinforcedBuildings()
 {
     selectedObj      = inputScript.selectedObj;
     buildingScript   = selectedObj.GetComponent <BuildingController>();
     blacksmithScript = selectedObj.GetComponent <BlacksmithController>();
     blacksmithScript.ResearchReinforcedBuildings();
 }
Example #25
0
        private static void ChangeBuildingFaction(BuildingController buildingController, int factionIndex)
        {
            // Changes the Faction to a correct one, removing previous vision registration initialized during start
            var signal   = buildingController.GetComponent <VisionSignal>();
            var receiver = buildingController.GetComponent <VisionReceiver>();

            if (signal)
            {
                signal.OnDisable();
            }
            if (receiver)
            {
                receiver.OnDisable();
            }
            buildingController.FactionIndex = factionIndex;
            if (signal)
            {
                signal.OnEnable();
            }
            if (receiver)
            {
                // Workaround Awake to update the color based on FactionColorChange after FactionIndex gets changed
                receiver.Awake();
                receiver.OnEnable();
                receiver.SetRenderer(receiver.curState);
            }
        }
Example #26
0
 void ResearchBasicArmourSmithing()
 {
     selectedObj      = inputScript.selectedObj;
     buildingScript   = selectedObj.GetComponent <BuildingController>();
     blacksmithScript = selectedObj.GetComponent <BlacksmithController>();
     blacksmithScript.ResearchBasicArmourSmithing();
 }
    /// <summary>
    /// 加载建筑内设备
    /// </summary>
    /// <param name="doorBuilding"></param>
    private void LoadBuildingDev(BuildingController doorBuilding)
    {
        doorBuilding.ShowBuildingDev(true);
        RoamManage.Instance.SetLight(true);
        var isExist = DevSubsystemManage.Instance.IsBuildingExist(doorBuilding); //人是否已经在建筑里面了

        if (!isExist)                                                            //进入门的范围,但是还没踏入建筑时,加载建筑内的设备。
        {
            //Debug.LogError(string.Format("{0} enter", doorBuilding.NodeName));
            DevSubsystemManage.Instance.SetTriggerBuilding(doorBuilding, true);  //设置已经进入建筑了,进入门的范围则算是进入建筑了
        }
        else //先进入建筑的范围,再进入门的范围
        {
        }
        //进入门的范围则算是进入建筑了
        if (!doorBuilding.IsDevCreate)
        {
            doorBuilding.IsDevCreate = true;
            //RoomFactory.Instance.CreateDepDev(doorBuilding, true);//进入建筑,创建设备。
            doorBuilding.LoadDevices(() =>
            {
                RoomFactory.Instance.CreateDepDev(doorBuilding, true);
            });
        }
    }
Example #28
0
    public void MoveToBuilding()
    {
        BC = wayPoints[current].GetComponent <BuildingController>();

        if (BC.isFixed == false)
        {
            if (Vector3.Distance(wayPoints[current].transform.position, transform.position) < WpRadius)
            {
                BC.Repair();

                current++;
                if (current >= wayPoints.Length)
                {
                    current = 0;
                }
            }

            transform.position = Vector3.MoveTowards(new Vector3(transform.position.x, 0.5f, transform.position.z), wayPoints[current].transform.position,
                                                     Time.deltaTime * speed);
        }
        else
        {
            current++;
            if (current >= wayPoints.Length)
            {
                current = 0;
            }
        }
    }
Example #29
0
    void UpdateCommands()
    {
        commandIndicator.gameObject.SetActive(selectedUnit != null);
        buildingUnderCursor   = null;
        commandIndicator.mode = CommandType.MOVE;
        if (selectedUnit != null)
        {
            commandPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            var boatInRange     = Physics2D.OverlapCircleAll(commandPosition, selectionRadius).FirstOrDefault(x => x.GetComponentInParent <Boat>() != null);
            var buildingInRange = Physics2D.OverlapCircleAll(commandPosition, selectionRadius).FirstOrDefault(x => !x.isTrigger && x.GetComponentInParent <BuildingController>() != null);
            buildingUnderCursor = buildingInRange == null ? null : buildingInRange.GetComponentInParent <BuildingController>();

            if (boatInRange && Boat.instance.contents.Count < Boat.instance.capacity)
            {
                commandIndicator.mode = CommandType.BOARD;
                commandIndicator.transform.position = boatInRange.transform.position;
                commandPosition = boatInRange.transform.position;
            }
            else if (buildingUnderCursor != null && buildingUnderCursor.unitOnRoof == null)
            {
                commandIndicator.mode = CommandType.ENTER;
                commandIndicator.transform.position = buildingUnderCursor.roofSpot.position;
                commandPosition = buildingUnderCursor.groundSpot.position;
            }
            else
            {
                commandIndicator.mode = CommandType.MOVE;
                commandIndicator.transform.position = commandPosition;
            }
        }
    }
    /// <summary>
    /// 根据焦点切换设置大楼卸载
    /// </summary>
    /// <param name="argOld"></param>
    /// <param name="argNew"></param>
    private static void SetUnLoad(DepNode argOld, DepNode argNew)
    {
        //if (argOld is BuildingController && (argNew is FactoryDepManager || argNew is BuildingController))
        //{
        //    argOld.Unload();
        //}
        if (argNew is FactoryDepManager)                                               //焦点调到厂区
        {
            BuildingController building = argOld.GetParentNode <BuildingController>(); //获取原来焦点所在大楼
            if (building != null)
            {
                building.Unload();
            }
            else
            {
                Debug.LogError("SceneEvents.OnDepNodeChanged 返回厂区 building ==null:" + argOld);
            }
        }
        else if (argNew is BuildingController)//对焦到另一个大楼
        {
            BuildingController building = argOld.GetParentNode <BuildingController>();

            if (building != null)
            {
                if (building.NodeID != argNew.NodeID)
                {
                    building.Unload();//必须是另外一个大楼
                }
            }
            else
            {
                Debug.LogError("SceneEvents.OnDepNodeChanged 返回厂区 building ==null:" + argOld);
            }
        }
    }
Example #31
0
 void Start()
 {
     unit = GetComponent<UnitController>();
     if(unit == null){
         state = 1;
         build = GetComponent<BuildingController>();
     }
 }
Example #32
0
 /// <summary>
 /// Constructor for the turret object. Saves only the important fields of the BuildingConstructor script attached to the building.
 /// </summary>
 /// <param name="bc">Bc.</param>
 public Turret(BuildingController bc)
 {
     name = bc.getBuilding().getName();
     x = bc.gameObject.transform.position.x;
     y = bc.gameObject.transform.position.y;
     z = bc.gameObject.transform.position.z;
     wRot = bc.gameObject.transform.rotation.w;
     xRot = bc.gameObject.transform.rotation.x;
     yRot = bc.gameObject.transform.rotation.y;
     zRot = bc.gameObject.transform.rotation.z;
     timeTillNextAttack = bc.timeToNextAttack;
     timeTillNext = bc.timeInterval;
 }
 public void DisplayProgress()
 {
     if(!build){
         build = GetComponent<BuildingController>();
     }
     if(!cam){
         cam = GameObject.FindWithTag("MainCamera").GetComponent<Camera>();
     }
     Vector2 point = cam.WorldToScreenPoint(new Vector3(transform.position.x, transform.position.y + yIncrease, transform.position.z));
     float progressReq = 0;
     float progressCur = 0;
     progressReq = build.progressReq;
     progressCur = build.progressCur;
     cur = (int)((texture.Length-1)*(progressCur/progressReq));
     if(texture[cur] != null){
         Color originalColor = GUI.color;
         GUI.color = color;
         GUI.DrawTexture(new Rect(point.x-scale/2, (Screen.height-point.y)-yScale/2, scale, yScale), texture[cur]);
         GUI.color = originalColor;
     }
 }
Example #34
0
	void Awake () 
	{		
		// Singleton pattern
		if (instance == null) 
		{
			// Gameinstance related stuff here
			/************************************/
			// For static reference
			instance = this;

			// PaycastMask for ignoring the buildings
			Layer = 0;
			raycastIgnoreMask = 1 << Layer;
			raycastIgnoreMask = ~raycastIgnoreMask;

			// Instantiate all controllers
			gridFieldController = new GridFieldController();
			treeGroupController = new TreeGroupController();
			buildingController = new BuildingController();
			npcController = new NPCController();

			// Nothing opened, nothing selected!
			selectedBuilding = 123456;
			selectedNPC = 123456;
			isSelected = false;
			isBuilding = false;


			// Wallet related stuff here
			/************************************/
			// Number of wallets are determined by the number of Player Names
			// How much starting cash is given to the constructor
			walletController = new WalletController(2000);
		}
		else if(instance != this)
		{
			// Singleton pattern - destroy the new one if you want to make another GameController
			Destroy(gameObject);
		}
	}
Example #35
0
    void Awake()
    {
        if (I == null){
            I = this;
        }else{
            Destroy(gameObject);
            return;
        }

        camCtrl = GetComponent<CameraController>();
        waveCtrl = GetComponent<WaveController>();
        uiCtrl = GetComponent<UIController>();
        buildingCtrl = GetComponent<BuildingController>();
        partCtrl = GetComponent<ParticleController>();
        audioCtrl = GetComponent<AudioController>();

        foreach (ProjectileType typ in System.Enum.GetValues(typeof(ProjectileType))) {
            turretAmmo[typ] = -1;
            turretReloadTimers[typ] = 0;
        }
    }
 // Building Tech Effects
 void ModifyBT(int nl, int ol, BuildingController targ)
 {
     TechEffect[] copyArr = new TechEffect[ol];
     for(int x = 0; x < copyArr.Length; x++){
         copyArr[x] = targ.techEffect[x];
     }
     targ.techEffect = new TechEffect[nl];
     if(nl > ol){
         for(int x = 0; x < copyArr.Length; x++){
             targ.techEffect[x] = copyArr[x];
         }
         targ.techEffect[nl-1] = new TechEffect();
     }
     else{
         for(int x = 0; x < targ.techEffect.Length; x++){
             targ.techEffect[x] = copyArr[x];
         }
     }
 }
 // Unit Technology Effects.... Effects
 void ModifyBTE(int nl, int ol, BuildingController targ, int index)
 {
     Effects[] copyArr = new Effects[ol];
     for(int x = 0; x < copyArr.Length; x++){
         copyArr[x] = targ.techEffect[index].effects[x];
     }
     targ.techEffect[index].effects = new Effects[nl];
     if(nl > ol){
         for(int x = 0; x < copyArr.Length; x++){
             targ.techEffect[index].effects[x] = copyArr[x];
         }
     }
     else{
         for(int x = 0; x < targ.techEffect[index].effects.Length; x++){
             targ.techEffect[index].effects[x] = copyArr[x];
         }
     }
 }
Example #38
0
 // Use this for initialization
 public void Start()
 {
     controller = gameObject.GetComponent<BuildingController> ();
 }
Example #39
0
 void Awake()
 {
     b = GetComponent <Building> ();
     bc = GameObject.FindGameObjectWithTag ("GameController").GetComponent <BuildingController> ();
     gc = GameObject.FindGameObjectWithTag ("GameController").GetComponent<GameController> ();
 }
 // Building Selected Objects
 void ModifyBS(int nl, int ol, BuildingController targ)
 {
     GameObject[] copyArr = new GameObject[ol];
     for(int x = 0; x < copyArr.Length; x++){
         copyArr[x] = targ.gui.selectObjs[x];
     }
     targ.gui.selectObjs = new GameObject[nl];
     if(nl > ol){
         for(int x = 0; x < copyArr.Length; x++){
             targ.gui.selectObjs[x] = copyArr[x];
         }
     }
     else{
         for(int x = 0; x < targ.gui.selectObjs.Length; x++){
             targ.gui.selectObjs[x] = copyArr[x];
         }
     }
 }