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");
        }
Exemplo n.º 2
0
        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);
        }