예제 #1
0
    public override void Update()
    {
        //HasSpeedUpComponent speedUp;
        constraint.ForEachGameObject((egoComponent, transform, powerUpComponent, movementComponent) => {
            if (powerUpComponent.powerUpActivated)
            {
                movementComponent.flySpeed  = 4;
                movementComponent.curvspeed = 2.9f;
                Ego.DestroyComponent <HasSpeedUpComponent>(egoComponent);
            }

            if (powerUpComponent.powerUpActivated)
            {
                powerUpComponent.playerPowerUpTimer += Time.deltaTime;
            }
            if (powerUpComponent.playerPowerUpTimer >= 2)
            {
                powerUpComponent.playerPowerUpTimer = -1f;
                movementComponent.flySpeed          = 2;
                movementComponent.curvspeed         = 2;
                powerUpComponent.powerUpActivated   = false;
            }

            HasSpeedUpComponent speed;
            if ((KutiInput.Instance.GetButtonDown(powerUpComponent.powerUpButton) || Input.GetKey(powerUpComponent.powerUpButtonPC) && egoComponent.TryGetComponents(out speed)))
            {
                var ev = new OnActivatePowerUp(powerUpComponent.playerID, egoComponent);
                EgoEvents <OnActivatePowerUp> .AddEvent(ev);
            }
        });
    }
예제 #2
0
 void Handle(OnActivatePowerUp e)
 {
     constraint.ForEachGameObject((egoComponent, transform, powerUpComponent, movementComponent) => {
         if (e.playerID == powerUpComponent.playerID)
         {
             powerUpComponent.powerUpActivated = true;
         }
     });
 }
예제 #3
0
 void Handle(OnActivatePowerUp e)
 {
     constraint.ForEachGameObject((egoComponent, transform, powerUpUIComponent) => {
         if (e.playerID == 1)
         {
             if (powerUpUIComponent.playerID == 1)
             {
                 egoComponent.gameObject.GetComponent <SpriteRenderer>().enabled = false;
             }
         }
         else if (e.playerID == 2)
         {
             if (powerUpUIComponent.playerID == 2)
             {
                 egoComponent.gameObject.GetComponent <SpriteRenderer>().enabled = false;
             }
         }
     });
 }
예제 #4
0
 void Handle(OnActivatePowerUp e)
 {
     constraint.ForEachGameObject((egoComponent, transform, powerUpComponent, spriteRenderer, collider) => {
         powerUpComponent.powerUpTimerTimeElapsed = 0f;
     });
 }