// Adding generator method public void AddGenerator(Generator generator) { if (generators.FindIndex(x => x.generatorData.id.Equals(generator.id)) > -1) { generators.Find(x => x.generatorData.id.Equals(generator.id)).generatorData = generator; return; } GeneratorController generatorController = Instantiate(generatorPrefab, this.transform).GetComponent <GeneratorController>(); generatorController.generatorData = generator; generators.Add(generatorController); generatorController.name = generator.nick; generatorController.transform.position = new Vector3(generator.position.x, 0, generator.position.z); generatorController.GetComponent <CircleLineRenderer>().CreatePoints(16, AppConstants.GeneratorRange / 12f, 0.1f); generatorController.transform.GetChild(0).gameObject.SetActive(generator.nick == PlayerPrefs.GetString(AppConstants.NickTag) && generator.batteryLevel > 0); generatorController.transform.GetChild(1).gameObject.SetActive(generator.nick == PlayerPrefs.GetString(AppConstants.NickTag) && generator.converterLevel > 0); generatorController.transform.GetChild(1).GetChild(0).GetComponent <MeshRenderer>().material = generatorController.generatorData.converterFromResource == (int)AppConstants.ResourceType.ENERGY ? energy : generatorController.generatorData.converterFromResource == (int)AppConstants.ResourceType.BIOMASS ? biomass : generatorController.generatorData.converterFromResource == (int)AppConstants.ResourceType.GADGETS ? gadgets : fuel; generatorController.transform.GetChild(1).GetChild(1).GetComponent <MeshRenderer>().material = generatorController.generatorData.converterToResource == (int)AppConstants.ResourceType.ENERGY ? energy : generatorController.generatorData.converterToResource == (int)AppConstants.ResourceType.BIOMASS ? biomass : generatorController.generatorData.converterToResource == (int)AppConstants.ResourceType.GADGETS ? gadgets : fuel; generatorController.GetComponent <SphereCollider>().enabled = true; }