public void Initialize() { ship = GetComponentInParent <Ship>(); targetAcquisition = GetComponentInChildren <TargetAcquisition>(); targetAcquisition.Initialize(WeaponData.range, true); targetAcquisition.TargetAcquired += OnTargetAcquired; targetAcquisition.TargetLost += OnTargetLost; gameObject.layer = LayerMask.NameToLayer(ship.Team.ToString()); SetState(WeaponState.Idle); }
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); }