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; }
public override void DoOperation(PowerUpBehaviour behaviour) { prev.DoOperation(behaviour); timer -= Time.deltaTime; if (timer <= 0) { removePowerUp(behaviour); } }
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; } }
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); } } }
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); }
public JumpHigherPowerUp(PowerUpBehaviour behaviour, Component component, float timeAlive) : base(behaviour, component, timeAlive) { behaviour.character.jumpForce += forceToAdd; }
public override void removePowerUp(PowerUpBehaviour behaviour) { base.removePowerUp(behaviour); behaviour.character.jumpForce -= forceToAdd; }
public PowerUpController(PowerUpBehaviour behaviour) { this.behaviour = behaviour; }