예제 #1
0
        public Building(buildType type)
        {
            switch (type)
            {
            case buildType.headquarters:
                buildable   = null;
                incomeValue = 100;
                break;

            case buildType.barracks:
                buildable   = new Unit.unitType[] { Unit.unitType.trooper, Unit.unitType.demolitionSquad, Unit.unitType.samTrooper };
                incomeValue = 100;
                break;

            case buildType.garage:
                buildable   = new Unit.unitType[] { Unit.unitType.halftrack, Unit.unitType.flameTank, Unit.unitType.heavyTank, Unit.unitType.flakCannon, Unit.unitType.artillery, Unit.unitType.helicopter };
                incomeValue = 100;
                break;

            case buildType.supplyDepot:
                buildable   = null;
                incomeValue = 100;
                break;
            }
        }
예제 #2
0
 public static void FactoryConfirm(GameObject factory, buildType type)
 {
     if (onFactoryConfirm != null)
     {
         onFactoryConfirm(factory, type);
     }
 }
예제 #3
0
 public static void FactoryClear(GameObject factory, buildType type)
 {
     if (onFactoryClear != null)
     {
         onFactoryClear(factory, type);
     }
 }
예제 #4
0
    void AIOrder(buildType type)
    {
        buildQueue temp = new buildQueue(type, buildTime);

        buildList.Add(temp);
        queueLength = buildList.Count;
    }
예제 #5
0
    void updateIcons(GameObject factory, buildType type)
    {
        if (factory.GetComponent <buildLogic>().playerID == playerID)
        {
            factoryManager tFManager = factory.GetComponent <factoryManager> ();

            if (tFManager.buildList.Count < 1)
            {
                foreach (GameObject icon in buildIcons)
                {
                    icon.SetActive(false);
                }
            }
            else
            {
                Debug.Log("Stage 3");
                int i = 0;
                foreach (Image icon in GUIIcons)
                {
                    if (i < tFManager.buildList.Count)
                    {
                        icon.gameObject.SetActive(true);
                        icon.sprite = tFManager.buildList [i].Type.icon;
                        Debug.Log("Icon Updated");
                        i++;
                    }
                    else
                    {
                        icon.gameObject.SetActive(false);
                    }
                }
            }
        }
    }
예제 #6
0
 public Block(int gridX, int gridY, buildType gridType, string modelFile, string textureFile)
 {
     this.positionX   = gridX;
     this.positionY   = gridY;
     this.blockType   = gridType;
     this.modelPath   = modelFile;
     this.texturePath = textureFile;
 }
예제 #7
0
 void clearList(GameObject factory, buildType type)
 {
     if (factory == this.gameObject)
     {
         foreach (buildQueue order in buildList)
         {
             eventManager.Collect(order.Type.cost, playerID);
         }
         buildList.Clear();
     }
 }
예제 #8
0
    void AIorder(FactoryOrder order)
    {
        if (order.ofactory == this.gameObject)
        {
            buildType miner   = unitSettings.miner1;
            buildType missile = unitSettings.missile1;
            buildType mGun    = unitSettings.mGun1;
            buildType utility = unitSettings.repair1;


            if (order.tLevel == 2)
            {
                miner   = unitSettings.miner2;
                missile = unitSettings.missile2;
                mGun    = unitSettings.mGun2;
                utility = unitSettings.repair2;
            }

            if (order.tLevel == 3)
            {
                miner   = unitSettings.miner3;
                missile = unitSettings.missile3;
                mGun    = unitSettings.mGun3;
                utility = unitSettings.repair3;
            }

            if (order.tLevel == 5)
            {
                miner   = unitSettings.minerX;
                missile = unitSettings.missileX;
                mGun    = unitSettings.mGunX;
                utility = unitSettings.repairX;
            }


            if (order.miner == 1)
            {
                AIOrder(miner);
            }
            if (order.missile == 1)
            {
                AIOrder(missile);
            }
            if (order.mgun == 1)
            {
                AIOrder(mGun);
            }
            if (order.utility == 1)
            {
                AIOrder(utility);
            }
        }
    }
예제 #9
0
 /**
  *	@brief parameterised constructor to the block object. Creates a complete block object.
  *	@param
  *	@return
  *	@pre
  *	@post Block will exist
  */
 public Block(int gridX, int gridY, int gridZ, buildType gridType, string modelFile,
              string textureFile, float gridScale, Vector3 gridRotation)
 {
     this.positionX     = gridX;
     this.positionY     = gridY;
     this.positionZ     = gridZ;
     this.blockType     = gridType;
     this.modelPath     = modelFile;
     this.texturePath   = textureFile;
     this.blockScale    = gridScale;
     this.blockRotation = gridRotation;
 }
 public void SetUp()
 {
     this.testee       = new BuildDefinition(Url);
     this.buildTypeDto = new buildType
     {
         id          = "buildId",
         name        = "buildTypeName",
         description = "buildTypeDescprition",
         builds      = new buildsref
         {
             href = "buildsHref"
         }
     };
 }
예제 #11
0
    public void BuildAt(buildType type, Vector3 pos)
    {
        Vector2Int localCoord = WorldToGrid(pos);

        pos = GridToWorld(localCoord);         // snaps to grid


        if (type == buildType.Demolish)
        {
            GameObject obj     = refMatrix[localCoord.x][localCoord.y];
            Tower      tScript = obj.GetComponent <Tower>();
            if (tScript != null)
            {
                tScript.Demolish();
            }
            else
            {
                Destroy(refMatrix[localCoord.x][localCoord.y], 0.01f);
            }
            aiMatrix[localCoord.y][localCoord.x] = 0;
        }
        else
        {
            if (refMatrix[localCoord.x][localCoord.y] == null)
            {
                GameObject newObj = null;
                if (type == buildType.Tower)
                {
                    newObj = Instantiate(towerPrefab, pos, Quaternion.identity);
                    flowManager.towerList.Add(newObj.GetComponent <Tower>());
                    flowManager.ChangeGold(-flowManager.towerCost);
                }
                else if (type == buildType.Wall)
                {
                    newObj = Instantiate(wallPrefab, pos, Quaternion.identity);
                    flowManager.ChangeGold(-flowManager.wallCost);
                }
                refMatrix[localCoord.x][localCoord.y] = newObj;
                aiMatrix[localCoord.y][localCoord.x]  = 1;
                Vector3 newPos = newObj.transform.position;
                newPos.y += newObj.transform.localScale.y / 2;
                newObj.transform.position = newPos;
            }
        }
    }
예제 #12
0
 void newOrder(GameObject factory, buildType type)
 {
     //Debug.Log ("Stage 1");
     if (rManager.resource[playerID] > type.cost)
     {
         if (factory == this.gameObject)
         {
             check = true;
             if (buildList.Count < 12 && check == true)
             {
                 buildQueue temp = new buildQueue(type, buildTime);
                 buildList.Add(temp);
                 eventManager.Spend(type.cost, playerID);
                 eventManager.FactoryConfirm(factory, type);
                 check       = false;
                 queueLength = buildList.Count;
             }
         }
     }
 }
예제 #13
0
        public string EnqueueBuild(string csrfToken, Project project)
        {
            Thread.Sleep(ArtificialLatency);

            if (csrfToken.Equals(_csrfToken) == false)
            {
                throw new Exception("403 Forbidden: CSRF Header X-TC-CSRF-Token does not match CSRF session value");
            }

            var id = _buildCounter++;

            // start build
            _buildTasks.Add(id, new BuildTask(project, id));

            return(@$ "<?xml version=" "1.0" " encoding=" "UTF-8" " standalone=" "yes" "?>
                <build id=" "{id}" " buildTypeId=" "{project}" " state=" "queued" " href=" "/app/rest/buildQueue/id:{id}" " webUrl=" "http://build.server/viewQueued.html?itemId={id}" ">
                  <buildType id=" "enclave_fabric_windows" " name=" "Enclave Windows" " projectName=" "Enclave" " projectId=" "Enclave" " href=" "/app/rest/buildTypes/id:{project}" " webUrl=" "http://build.server/viewType.html?buildTypeId={{projectId}}" "/>
                  <queuedDate>20200614T084618+0100</queuedDate>
                  <triggered type=" "user" " date=" "20200614T084618+0100" ">
                    <user username="******"services" " name=" "Services Team" " id=" "1" " href=" "/app/rest/users/id:2" "/>
                  </triggered>
                  <changes href=" "/app/rest/changes?locator=build:(id:{id})" "/>
예제 #14
0
    void marketCache(int ID)
    {
        miner1 = mManager.units[1];
        miner2 = mManager.units[2];
        miner3 = mManager.units[3];
        minerX = mManager.units[5];

        missile1 = mManager.units[11];
        missile2 = mManager.units[12];
        missile3 = mManager.units[13];
        missile3 = mManager.units[15];

        mGun1 = mManager.units[21];
        mGun2 = mManager.units[22];
        mGun3 = mManager.units[23];
        mGun3 = mManager.units[25];

        repair1 = mManager.units[31];
        repair2 = mManager.units[32];
        repair3 = mManager.units[33];
        repair3 = mManager.units[35];
    }
예제 #15
0
 public factoryIcon(Image Icon, buildType Btype)
 {
     icon  = Icon;
     bType = Btype;
 }
예제 #16
0
 /**
  *	@brief default constructor to the block object
  *	@param
  *	@return
  *	@pre
  *	@post Block will exist
  */
 public Block()
 {
     this.blockType = buildType.NullBlock;
 }
예제 #17
0
 public buildQueue(buildType type, float progress)
 {
     Type     = type;
     Progress = progress;
 }
예제 #18
0
    void Start()
    {
        structs[0]  = new buildType("unused");
        structs[1]  = new buildType(HQ);
        structs[2]  = new buildType(powerStation);
        structs[3]  = new buildType(refinery);
        structs[4]  = new buildType("unused");
        structs[5]  = new buildType(silo);
        structs[6]  = new buildType(recyclingDepot);
        structs[7]  = new buildType(repairDepot);
        structs[8]  = new buildType(gigaFactory);
        structs[9]  = new buildType(researchFacility);
        structs[10] = new buildType(aircraftFactory);
        structs[11] = new buildType(wall);
        structs[12] = new buildType(sentryGun);
        structs[13] = new buildType("unused");
        structs[14] = new buildType("unused");
        structs[15] = new buildType(gate);

        structs[1].cost  = HQ_c;
        structs[2].cost  = powerStation_c;
        structs[3].cost  = refinery_c;
        structs[5].cost  = silo_c;
        structs[6].cost  = recyclingDepot_c;
        structs[7].cost  = repairDepot_c;
        structs[8].cost  = gigaFactory_c;
        structs[9].cost  = researchFacility_c;
        structs[10].cost = aircraftFactory_c;
        structs[11].cost = wall_c;
        structs[12].cost = sentryGun_c;
        structs[15].cost = gate_c;

        structs[1].prefab  = HQ_m;
        structs[2].prefab  = powerStation_m;
        structs[3].prefab  = refinery_m;
        structs[5].prefab  = silo_m;
        structs[6].prefab  = recyclingDepot_m;
        structs[7].prefab  = repairDepot_m;
        structs[8].prefab  = gigaFactory_m;
        structs[9].prefab  = researchFacility_m;
        structs[10].prefab = aircraftFactory_m;
        structs[11].prefab = wall_m;
        structs[12].prefab = sentryGun_m;
        structs[15].prefab = gate_m;

        structs[1].icon  = HQ_i;
        structs[2].icon  = powerStation_i;
        structs[3].icon  = refinery_i;
        structs[5].icon  = silo_i;
        structs[6].icon  = recyclingDepot_i;
        structs[7].icon  = repairDepot_i;
        structs[8].icon  = gigaFactory_i;
        structs[9].icon  = researchFacility_i;
        structs[10].icon = aircraftFactory_i;
        structs[11].icon = wall_i;
        structs[12].icon = sentryGun_i;
        structs[15].icon = gate_i;

        units[0]  = new buildType("unused");
        units[1]  = new buildType(miner1);
        units[2]  = new buildType(miner2);
        units[3]  = new buildType(miner3);
        units[4]  = new buildType("unused");
        units[5]  = new buildType(minerX);
        units[6]  = new buildType("unused");
        units[7]  = new buildType("unused");
        units[8]  = new buildType("unused");
        units[9]  = new buildType("unused");
        units[10] = new buildType("unused");
        units[11] = new buildType(missile1);
        units[12] = new buildType(missile2);
        units[13] = new buildType(missile3);
        units[15] = new buildType(missileX);
        units[16] = new buildType("unused");
        units[17] = new buildType("unused");
        units[18] = new buildType("unused");
        units[19] = new buildType("unused");
        units[20] = new buildType("unused");
        units[21] = new buildType(mGun1);
        units[22] = new buildType(mGun2);
        units[23] = new buildType(mGun3);
        units[25] = new buildType(mGunX);
        units[26] = new buildType("unused");
        units[27] = new buildType("unused");
        units[28] = new buildType("unused");
        units[29] = new buildType("unused");
        units[30] = new buildType("unused");
        units[31] = new buildType(utility1);
        units[32] = new buildType(utility2);
        units[33] = new buildType(utility3);
        units[35] = new buildType(utilityX);

        units[1].cost  = miner1_c;
        units[2].cost  = miner2_c;
        units[3].cost  = miner3_c;
        units[5].cost  = minerX_c;
        units[11].cost = missile1_c;
        units[12].cost = missile2_c;
        units[13].cost = missile3_c;
        units[15].cost = missileX_c;
        units[21].cost = mGun1_c;
        units[22].cost = mGun2_c;
        units[23].cost = mGun3_c;
        units[25].cost = mGunX_c;
        units[31].cost = utility1_c;
        units[32].cost = utility2_c;
        units[33].cost = utility3_c;
        units[35].cost = utilityX_c;

        units[1].prefab  = miner1_m;
        units[2].prefab  = miner2_m;
        units[3].prefab  = miner3_m;
        units[5].prefab  = minerX_m;
        units[11].prefab = missile1_m;
        units[12].prefab = missile2_m;
        units[13].prefab = missile3_m;
        units[15].prefab = missileX_m;
        units[21].prefab = mGun1_m;
        units[22].prefab = mGun2_m;
        units[23].prefab = mGun3_m;
        units[25].prefab = mGunX_m;
        units[31].prefab = utility1_m;
        units[32].prefab = utility2_m;
        units[33].prefab = utility3_m;
        units[35].prefab = utilityX_m;

        units[1].icon  = miner1_i;
        units[2].icon  = miner2_i;
        units[3].icon  = miner3_i;
        units[5].icon  = minerX_i;
        units[11].icon = missile1_i;
        units[12].icon = missile2_i;
        units[13].icon = missile3_i;
        units[15].icon = missileX_i;
        units[21].icon = mGun1_i;
        units[22].icon = mGun2_i;
        units[23].icon = mGun3_i;
        units[25].icon = mGunX_i;
        units[31].icon = utility1_i;
        units[32].icon = utility2_i;
        units[33].icon = utility3_i;
        units[35].icon = utilityX_i;

        marketCache();
    }
예제 #19
0
 /**
  * @brief Mutator to the block type.
  * @param intputType type of block
  * @return
  * @pre
  * @post block type will exist
  */
 public void SetBlockType(buildType inputType)
 {
     this.blockType = inputType;
 }