Exemple #1
0
    void Start()
    {
        building = GetComponentInParent <Building>().buildingCount;
        firable  = GetComponent <IFirable>();

        firable.onFire += Destroy;
    }
Exemple #2
0
    private void Start()
    {
        building = GetComponentInParent <Building>().buildingCount;

        building.onChanged += UpdateText;

        UpdateText();
    }
Exemple #3
0
 protected override void OnAwake()
 {
     building = GetComponentInParent <Building>().buildingCount;
 }
Exemple #4
0
 void Start()
 {
     myBuildingCount = GetComponent <BuildingCount>();
     roadParent      = GameObject.Find("Road Parent");
     buildingParent  = GameObject.Find("Building Parent");
 }
Exemple #5
0
 void Update()
 {
     myBuildingCount = GetComponent <BuildingCount>();
     buildingCount   = myBuildingCount.otherBuildings.Count;
     //Checks the building count and behaves according to Conway's game of life rules
     if (buildingCount == 3)
     {
         int dir = Random.Range(0, 8);
         //checks a direction around the building and if anything has been added there already, spawns a building if conditions are met
         if (dir == 0 && !myBuildingCount.hasAddedTop)
         {
             GameObject buildingClone = Instantiate(buildingPrefab, new Vector3(gameObject.transform.position.x
                                                                                , 5, gameObject.transform.position.z + gameObject.transform.localScale.z)
                                                    , gameObject.transform.rotation);
             buildingClone.transform.parent = buildingParent.transform;
         }
         else if (dir == 1 && !myBuildingCount.hasAddedTopRight)
         {
             GameObject buildingClone = Instantiate(buildingPrefab, new Vector3(gameObject.transform.position.x + gameObject.transform.localScale.x
                                                                                , 5, gameObject.transform.position.z + gameObject.transform.localScale.z)
                                                    , gameObject.transform.rotation);
             buildingClone.transform.parent = buildingParent.transform;
         }
         else if (dir == 2 && !myBuildingCount.hasAddedRight)
         {
             GameObject buildingClone = Instantiate(buildingPrefab, new Vector3(gameObject.transform.position.x + gameObject.transform.localScale.x
                                                                                , 5, gameObject.transform.position.z)
                                                    , gameObject.transform.rotation);
             buildingClone.transform.parent = buildingParent.transform;
         }
         else if (dir == 3 && !myBuildingCount.hasAddedBotRight)
         {
             GameObject buildingClone = Instantiate(buildingPrefab, new Vector3(gameObject.transform.position.x + gameObject.transform.localScale.x
                                                                                , 5, gameObject.transform.position.z - gameObject.transform.localScale.z)
                                                    , gameObject.transform.rotation);
             buildingClone.transform.parent = buildingParent.transform;
         }
         else if (dir == 4 && !myBuildingCount.hasAddedBot)
         {
             GameObject buildingClone = Instantiate(buildingPrefab, new Vector3(gameObject.transform.position.x
                                                                                , 5, gameObject.transform.position.z - gameObject.transform.localScale.z)
                                                    , gameObject.transform.rotation);
             buildingClone.transform.parent = buildingParent.transform;
         }
         else if (dir == 5 && !myBuildingCount.hasAddedBotLeft)
         {
             GameObject buildingClone = Instantiate(buildingPrefab, new Vector3(gameObject.transform.position.x - gameObject.transform.localScale.x
                                                                                , 5, gameObject.transform.position.z - gameObject.transform.localScale.z)
                                                    , gameObject.transform.rotation);
             buildingClone.transform.parent = buildingParent.transform;
         }
         else if (dir == 6 && !myBuildingCount.hasAddedLeft)
         {
             GameObject buildingClone = Instantiate(buildingPrefab, new Vector3(gameObject.transform.position.x - gameObject.transform.localScale.x
                                                                                , 5, gameObject.transform.position.z)
                                                    , gameObject.transform.rotation);
             buildingClone.transform.parent = buildingParent.transform;
         }
         else if (dir == 7 && !myBuildingCount.hasAddedTopLeft)
         {
             GameObject buildingClone = Instantiate(buildingPrefab, new Vector3(gameObject.transform.position.x - gameObject.transform.localScale.x
                                                                                , 5, gameObject.transform.position.z + gameObject.transform.localScale.z)
                                                    , gameObject.transform.rotation);
             buildingClone.transform.parent = buildingParent.transform;
         }
     }
     else if (buildingCount > 4)
     {
         //Deletes the building a spawns a road in its place
         Destroy(gameObject);
         GameObject roadClone = Instantiate(roadPrefab, new Vector3(gameObject.transform.position.x
                                                                    , 0, gameObject.transform.position.z)
                                            , gameObject.transform.rotation);
         roadClone.transform.parent = roadParent.transform;
     }
     else if (buildingCount < 1)
     {
         //Same as above
         Destroy(gameObject);
         GameObject roadClone = Instantiate(roadPrefab, new Vector3(gameObject.transform.position.x
                                                                    , 0, gameObject.transform.position.z)
                                            , gameObject.transform.rotation);
         roadClone.transform.parent = roadParent.transform;
     }
     else if (buildingCount == 2 && transform.localScale.y < Random.Range(10f, 61f) || buildingCount == 3 && transform.localScale.y < Random.Range(10f, 61f))
     {
         //Grows the building to a random limit by a random factor
         gameObject.transform.localScale = new Vector3(transform.localScale.x, transform.localScale.y + Random.Range(0f, 2f), transform.localScale.z);
         gameObject.transform.position   = new Vector3(transform.position.x, 5, transform.position.z);
     }
 }
Exemple #6
0
 private void Start()
 {
     building        = GetComponentInParent <Building>().buildingCount;
     conditionalFire = GetComponentInParent <ConditionalFire>();
     nextFireTime    = Time.time + fireTime;
 }
Exemple #7
0
 void Start()
 {
     building = GetComponentInParent <Building>().buildingCount;
     building.onCountChanged += Fire;
 }
Exemple #8
0
 private void Start()
 {
     building = GetComponentInParent <Building>().buildingCount;
     building.onCountChanged += (int change) => UpdateVisibility();
     UpdateVisibility();
 }
Exemple #9
0
 void Awake()
 {
     buildingCount             = GetComponentInParent <Building>().buildingCount;
     buildingCount.onCountSet += UpdateFireTime;
 }
Exemple #10
0
 void Awake()
 {
     buildingCount            = GetComponentInParent <Building>().buildingCount;
     buildingCount.onChanged += FauxSet;
 }