private Sprite LoadCarPartSprite(PartType type) { var part = Vars.GetCarPart(type); if (part is null) { return(Resources.Load <GameObject>($"Prefabs/Parts/{type.ToString()}_disabled").GetComponent <Image>() .sprite); } var prefab = Resources.Load <GameObject>($"Prefabs/Parts/{part.PrefabName}"); return(prefab.GetComponent <Image>().sprite); }
public override void Start() { engineComponent = FindObjectOfType <EngineComponent>(); aimingComponent = FindObjectOfType <AimingComponent>(); damageComponent = FindObjectOfType <DamageComponent>(); aimingComponent.PropertyChanged += (sender, args) => playerGun.ShootingAbility.shootingPeriodCoefficient = aimingComponent.Value; damageComponent.PropertyChanged += (sender, args) => playerGun.ShootingAbility.bullet.damageCoefficient = damageComponent.Value; rb = GetComponent <Rigidbody2D>(); playerCollider = GetComponent <Collider2D>(); playerGun = GetComponentInChildren <GunController>(); damagePart = Vars.GetCarPart(PartType.Damage); shootingPart = Vars.GetCarPart(PartType.Shooting); armorPart = Vars.GetCarPart(PartType.Armor); enginePart = Vars.GetCarPart(PartType.Engine); base.Start(); StartCoroutine(ApplyParts()); }