public void Initialize() { setMaterialProperties.SetMaterial(0f, TeamColors.Hues[Team], ShipData.sprite.texture); spriteRenderer.sprite = ShipData.sprite; trailRenderer.time = Mathf.Clamp(2 - ShipData.speed, 0.5f, 2); health.Initialize(ShipData); shipMove.Initialize(NavLine); targetAcquisition.Initialize(ShipData.weapons.Max(weapon => weapon.weapon.range), false); foreach (ShipWeaponDefinition weapon in ShipData.weapons) { Weapon newWeapon = Instantiate(WeaponPrefab, (Vector3)weapon.position + transform.position, Quaternion.identity, transform).GetComponent <Weapon>(); newWeapon.WeaponData = weapon.weapon; newWeapon.Initialize(); } gameObject.layer = LayerMask.NameToLayer(Team.ToString()); SetState(ShipState.Follow); }