void OnTriggerEnter2D(Collider2D collider)
    {
        if (collider.CompareTag("Player"))
        {
            PowerUpBehaviour.SpawnNewItem();

            isInCharacter = true;

            foreach (Renderer sR in rendererToBeOccluded)
            {
                sR.enabled = false;
            }
            if (effect)
            {
                PoolManager.Pools["props"].Spawn(effect, transform.position, transform.rotation);
            }
            //transform.position = ola.oi.transform.position;
            transform.parent = IABuyDagon.buyDagon.transform;
            if (PlayerPrefs.GetInt("Srepelente") != 1)
            {
                iTween.ScaleTo(gameObject, iTween.Hash("scale", new Vector3(2f, 2f, 2f)));
                iTween.ScaleTo(gameObject, iTween.Hash("scale", new Vector3(1f, 1f, 1f), "delay", 1.1f));
            }
        }

        ApplyEffect(collider);
    }
 /// <summary>
 /// Update this instance.
 /// </summary>
 void Start()
 {
     if (haveItems)
     {
         PowerUpBehaviour.SpawnNewItem();
     }
     StartCoroutine("OnMissionUpdate");
 }
    //create new powerup of dictated type
    private void DoSpawnPowerUp(PowerUpType type)
    {
        var newPowerUp           = Instantiate(powerUpPrefab);
        PowerUpBehaviour powerUp = newPowerUp.GetComponent <PowerUpBehaviour>();

        powerUp.type = type;
        powerUp.transform.position = RandomUtil.GenerateNonOccupiedPosition();
        powerUp.owningPlayer       = submittingPlayer.playerNumber;
    }
Example #4
0
 public override void DoOperation(PowerUpBehaviour behaviour)
 {
     prev.DoOperation(behaviour);
     timer -= Time.deltaTime;
     if (timer <= 0)
     {
         removePowerUp(behaviour);
     }
 }
Example #5
0
 public PowerUp(PowerUpBehaviour behaviour, Component component, float timeAlive)
 {
     prev = component;
     if (prev.GetType() == (typeof(PowerUp)))
     {
         (prev as PowerUp).next = this;
     }
     timer = timeAlive;
 }
    /* Update is called once per frame */
    void Update()
    {
        i += Time.deltaTime;

        /* Spawn new power ups at regular intervals */
        if (i >= spawnTime && !GameState.gameEnded)
        {
            PowerUpBehaviour p = Instantiate <PowerUpBehaviour>(powerUpPrefab);
            p.transform.position = new Vector3(Random.Range(-scale_x, scale_x), 2.0f, Random.Range(-scale_z, scale_z));
            i = 0;
        }
    }
Example #7
0
 public virtual void removePowerUp(PowerUpBehaviour behaviour)
 {
     if (next != null && prev.GetType() == (typeof(PowerUp)))
     {
         (prev as PowerUp).next = next;
     }
     if (prev != null && next != null)
     {
         (next as PowerUp).prev = prev;
     }
     if (prev.GetType() == (typeof(PowerUpController)) && next == null)
     {
         behaviour.controller = prev;
     }
 }
    public void OnTriggerEnter2D(Collider2D collider)
    {
        PowerUpBehaviour pu = collider.gameObject.GetComponent <PowerUpBehaviour>();

        if (pu)
        {
            pu.AddPowerUp(type, duration);
            if (oneTime)
            {
                Destroy(gameObject);
            }
            else
            {
                Invoke("activateAgain", duration);
                StartCoroutine(turnOff());
            }
        }
    }
    void Update()
    {
        if (!isInCharacter)
        {
            if (Vector3.Distance(transform.position, IABuyDagon.buyDagon.transform.position) < 60)
            {
                directionToMove = new Vector3(25f * Time.deltaTime, Mathf.Sin(2 * Time.time) * 0.4f, 0);
                if ((transform.position.y < 0 && directionToMove.y < 0) || (transform.position.y > 30 && directionToMove.y > 0))
                {
                    directionToMove = new Vector3(directionToMove.x, -directionToMove.y, directionToMove.z);
                }
                transform.Translate(directionToMove);
            }

            if (IABuyDagon.buyDagon.transform.position.x - transform.position.x > 60)
            {
                PowerUpBehaviour.SpawnNewItem();
                PoolManager.Pools["props"].Despawn(transform);
            }
        }
    }
Example #10
0
 public abstract void DoOperation(PowerUpBehaviour behaviour);
 public WalkFasterPowerUp(PowerUpBehaviour behaviour, Component component, float timeAlive) : base(behaviour, component, timeAlive)
 {
     behaviour.character.MaxSpeed += speedToAdd;
 }
 public override void removePowerUp(PowerUpBehaviour behaviour)
 {
     base.removePowerUp(behaviour);
     behaviour.character.MaxSpeed -= speedToAdd;
 }
 public override void DoOperation(PowerUpBehaviour behaviour)
 {
     base.DoOperation(behaviour);
 }
Example #14
0
 public JumpHigherPowerUp(PowerUpBehaviour behaviour, Component component, float timeAlive) : base(behaviour, component, timeAlive)
 {
     behaviour.character.jumpForce += forceToAdd;
 }
Example #15
0
 public override void removePowerUp(PowerUpBehaviour behaviour)
 {
     base.removePowerUp(behaviour);
     behaviour.character.jumpForce -= forceToAdd;
 }
Example #16
0
 public PowerUpController(PowerUpBehaviour behaviour)
 {
     this.behaviour = behaviour;
 }