private void UpdateLocationInfo(Entity shield) { SuperShieldComponent ssc = shield.GetComponent <SuperShieldComponent>(); shield.GetComponent <TransformComponent>().SetPosition(ssc.ship.GetComponent <TransformComponent>().Position); shield.GetComponent <VectorSpriteComponent>().Alpha = ssc.ship.GetComponent <PlayerShipComponent>().SuperShieldMeter / CVars.Get <float>("player_super_shield_max"); }
public override bool Handle(IEvent evt) { ComponentRemovedEvent <PlayerShipComponent> playerShipCompRemovedEvent = evt as ComponentRemovedEvent <PlayerShipComponent>; if (playerShipCompRemovedEvent != null) { for (int i = 0; i < _superShieldDisplayEntities.Count; i++) { Entity superShieldDisplayEntity = _superShieldDisplayEntities[i]; SuperShieldComponent superShieldComp = superShieldDisplayEntity.GetComponent <SuperShieldComponent>(); if (superShieldComp.ship == playerShipCompRemovedEvent.Entity) { Engine.DestroyEntity(superShieldDisplayEntity); i--; } } } return(false); }