Ejemplo n.º 1
0
    void SpawnFighter()
    {
        if (GlobalVariables.goldSaved > fightingUnitCost)
        {
            GlobalVariables.goldSaved -= fightingUnitCost;
            castleMenu.transform.Find("Panel").GetComponent <CastlePanelController>().UpdateGoldText();
            // usableMines.GetComponent<MineController>().Spend(fightingUnitCost);
            numberOfFriendlyUnits++;
            if (enemyCastleScript)
            {
                enemyCastleScript.setNumEnemyUnits(numberOfEnemyUnits + 1);
            }

            if (transform.localPosition.x > 0)
            {
                //   x_offset *= -1;
            }
            cubeSpawn = (GameObject)Instantiate(fightingUnit1, spawnSpot, Quaternion.identity);

            fighterScriptRef = cubeSpawn.GetComponent <FighterManager>();

            // cubeSpawn.transform.localPosition = new Vector3(transform.localPosition.x + x_offset, transform.localPosition.y, transform.localPosition.z);
            cubeSpawn.name             = "ThisCubeSpawn";
            cubeSpawn.transform.parent = transform;

            cubeSpawn.transform.localScale = new Vector3(.375f, .375f, .375f);
            fighterScriptRef.SetDestination(summoningZone.position);
            cubeSpawn.transform.LookAt(summoningZone);

            //   x_offset *= -1;
            // x_offset += transform.GetComponent<MeshRenderer>().bounds.extents.x*.2f;

            cubeSpawn.transform.position = new Vector3(cubeSpawn.transform.position.x + x_offset, cubeSpawn.transform.position.y, cubeSpawn.transform.position.z + z_offset);
            // z_offset += transform.GetComponent<MeshRenderer>().bounds.extents.z * .2f;
            if (transform.childCount % 5 != 0)
            {
                z_offset += cubeSpawn.GetComponent <MeshRenderer>().bounds.extents.x *1.7f;
            }
            else
            {
                z_offset  = -15 * scaleOfWorld;
                x_offset -= cubeSpawn.GetComponent <MeshRenderer>().bounds.extents.x * 1.7f;
            }

            if (transform.name == "Cube_A")
            {
                fighterScriptRef.SetEnemyBase(GameObject.Find("Cube_B").transform);
                cubeSpawn.name = "Fighter_A";
            }
            else
            {
                fighterScriptRef.SetEnemyBase(GameObject.Find("Cube_A").transform);
                cubeSpawn.name = "Fighter_B";
            }
        }
        else
        {
            Debug.Log("Not enough gold to make fighting unit");
        }
    }