public void Initialize(SkyscraperManager skyscraper) { this.skyscraper = skyscraper; var ids = skyscraper.CityArea.Roads.Keys; this.roadID = ids.ElementAt(Random.Range(0, ids.Count)); this.progress = Random.Range(0f, this.road.Magnitude); this.rotateRate = 1f; this.timer = this.autotime; this.fov = Camera.main.fieldOfView; transform.rotation = this.Auto(); }
public void Initialize(SkyscraperManager skyscraper) { this.cam = this.cam ?? GetComponentInParent <Camera>(); this.render = this.render ?? GetComponent <MeshRenderer>(); var p = this.cam.ViewportToWorldPoint(new Vector3(1f - this.margin, 1f - this.margin, 0f)).XY(); var s = transform.localScale.XY() * 0.5f; transform.position = new Vector3(p.x, p.y, transform.position.z) - new Vector3(s.x, s.y, 0f); var center = transform.position.XY(); var size = transform.localScale.XY(); this.field = new Rect(center - 0.5f * size, size); this.height = skyscraper.Builder.SpecialRate / (this.range.y - this.range.x); this.material = new Material(this.material); this.SetProps(this.height); this.render.material = this.material; this.render.enabled = false; }