示例#1
0
    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);
    }