void ActivateProperModel(PowerUpType type) { switch (type) { case PowerUpType.WEAPON: activeModel = weaponModel; repairModel.SetActive(false); reloadModel.SetActive(false); break; case PowerUpType.REPAIR: weaponModel.SetActive(false); activeModel = repairModel; reloadModel.SetActive(false); break; case PowerUpType.RELOAD: weaponModel.SetActive(false); repairModel.SetActive(false); activeModel = reloadModel; break; default: throw new UnityException("Unknown PowerUp-Type \"" + type.ToString() + "\""); } activeModel.SetActive(true); }
void OnTriggerEnter(Collider other) { if ((other.gameObject.tag == "Player" && other.gameObject.tag != "RoadSpawner") || (other.gameObject.tag == "Player" && other.gameObject.tag != "RoadDestroyer")) { Debug.Log("TODO: ADD COLLECT PARTICLE to this!"); if (selectPowerUp == PowerUpType.Health) { // powerUpAmount will decide how much health player will get other.gameObject.GetComponent <PlayerController>().AddHealthPowerUp(powerUpAmount); } else if (selectPowerUp == PowerUpType.Nitro) { // The nitro will fill up 100% everytime!!! other.gameObject.GetComponent <PlayerController>().AddSpeedPowerUp(); } else if (selectPowerUp == PowerUpType.Score) { // powerUpAmount will decide how much extra scrore player will get other.gameObject.GetComponent <PlayerController>().AddScorePowerUp((powerUpAmount * 1000f)); } if (GameManager.debugIsOn) { Debug.Log("Collected powerup: " + selectPowerUp.ToString()); } Destroy(this.gameObject); } if (other.gameObject.tag == "Enemy") { Destroy(gameObject); } }
public PowerUp(PowerUpType type_, Vector2 pos) { type = type_; sprite = PowerUpManager.PowerUpTextures[type.ToString()]; position = pos; base.Initialize(); }
// Update is called once per frame void Update() { //render type text to display to players what the power up does text.text = type.ToString(); switch (owningPlayer) { case 1: gameObject.GetComponent <Renderer>().material.color = GameConstants.Player1Color; break; case 2: gameObject.GetComponent <Renderer>().material.color = GameConstants.Player2Color; break; } }
public void OnSpawn(Vector3 startPos, PowerUpType myType) { transform.position = startPos; KindOfPowerUp = myType; myText.text = KindOfPowerUp.ToString(); if (s_Sailer.Singleton.GetRadar()) { createRadarGhost(); currentState = state.radar; } else { currentState = state.alive; } GetComponent <Renderer>().material = myMaterials[(int)KindOfPowerUp]; gameObject.SetActive(true); }
void OnCollisionEnter(Collision collision) { // パワーアップしてる状態の時、敵と触れた時の処理 if (collision.gameObject.CompareTag("Enemy") && currentPowerUp == PowerUpType.Pushback) { Rigidbody enemyRb = collision.gameObject.GetComponent <Rigidbody>(); Vector3 awayFromPlayer = collision.gameObject.transform.position - transform.position; enemyRb.AddForce(awayFromPlayer * powerupStrength, ForceMode.Impulse); Debug.Log("Player collided with: " + collision.gameObject.name + " withpowerup set to " + currentPowerUp.ToString()); } }
public void PowerUpNotification(object powerUpId, object powerUpType, object postion) { PowerUpType type = (PowerUpType)powerUpType; _view.ReceiveNotification(type.ToString()); }
private int defaultRadius; // Player spotted radius. #endregion #endregion #region Constructors public PowerUp(Game game, Vector2 position, List <TileRef> sheetRefs, int frameWidth, int frameHeight, float layerDepth, float maxLifeTime, PowerUpType type, int amount, float multiplier, SoundEffect pickupSnd, SoundEffect camoSnd, Ricochet newRound) : base(game, position, sheetRefs, frameWidth, frameHeight, layerDepth) { Visible = true; DrawOrder = 100; this.Type = type; this.MaxLifeTime = maxLifeTime; this.Factor = multiplier; this.Amount = amount; this.State = PowerUpStatus.Deactivated; this.newRound = newRound; BoundingRectangle = new Rectangle( PixelPosition.ToPoint(), new Point(FrameWidth / 8, FrameHeight / 8)); #region Get Default Values TilePlayer player = (TilePlayer)Game.Services.GetService(typeof(TilePlayer)); TilePlayerTurret playerTurret = (TilePlayerTurret)Game.Services.GetService(typeof(TilePlayerTurret)); List <SentryTurret> sentryTurrets = (List <SentryTurret>)Game.Services.GetService(typeof(List <SentryTurret>)); if (player != null) { defaultMaxVelocity = player.MaxVelocity; defaultPlayerAcceleration = player.Acceleration; defaultPlayerDeceleration = player.Deceleration; defaultTurnSpeed = player.turnSpeed; } foreach (SentryTurret turret in sentryTurrets) { if (turret != null) { // Finds first enemy tank in list that's not NULL and takes those as default values. defaultPlayerDamageRate = turret.Bullet.playerDamageRate; defaultRadius = turret.DetectRadius; break; } } if (playerTurret != null) { defaultSentryDamageRate = playerTurret.Bullet.sentryDamageRate; defaultBullet = playerTurret.Bullet; defaultShellSnd = playerTurret.ShellSound; } #endregion #region Handle Audio this.pickupSnd = pickupSnd; pickupSndInst = this.pickupSnd.CreateInstance(); #endregion #region Setup OrbLight PenumbraComponent penumbra = Game.Services.GetService <PenumbraComponent>(); penumbra.Lights.Add(OrbLight); switch (type) { case PowerUpType.Regen: case PowerUpType.Heal: OrbLight.Color = Color.LimeGreen; break; case PowerUpType.DefenseBoost: OrbLight.Color = Color.LightBlue; break; case PowerUpType.SpeedBoost: OrbLight.Color = Color.Orange; break; case PowerUpType.ExtraDamage: OrbLight.Color = Color.Red; break; case PowerUpType.Camouflage: OrbLight.Color = Color.Purple; break; default: OrbLight.Color = Color.White; break; } #endregion #region Setup Duration Bar if (Type == PowerUpType.Camouflage) { durationBar = new HealthBar(game, CentrePos); durationBar.Name = Type.ToString(); durationBar.txHealthBar.SetData(new[] { durationBarColor }); AddHealthBar(durationBar); Health = (int)Duration; this.camoSnd = camoSnd; camoSndInst = this.camoSnd.CreateInstance(); camoSndInst.Volume = 0.8f; } #endregion }
private PowerUp CreatePowerUpInstance(PowerUpType powerType, Transform spawnMarker = null) { GameObject go = (GameObject)Instantiate(Resources.Load(POWERUPS_ASSETS_PATH + "/" + powerType.ToString())); //Debug.Log("path: " +POWERUPS_ASSETS_PATH + "/" + powerType.ToString()); if (spawnMarker != null) { go.transform.position = spawnMarker.position; go.transform.rotation = spawnMarker.rotation; } return(go.GetComponent <PowerUp>()); }
private int respawnTime = 15; // 15 seconds void OnTriggerEnter2D(Collider2D collider) { if (collider.gameObject.tag == "Player") { /* Code for PickUp items * These items have no duration and no opposites. * Their effects are immediate - so no need to do anything intensive. * */ if (powerUp == PowerUpType.Sugar) { int slimeAmt = collider.gameObject.GetComponent <PlayerScript>().slime - 30; if (slimeAmt < 0) { slimeAmt = 0; } collider.gameObject.GetComponent <PlayerScript>().slime = slimeAmt; } else if (powerUp == PowerUpType.Flower) { int slimeAmt = collider.gameObject.GetComponent <PlayerScript>().slime + 30; if (slimeAmt > PlayerScript.SLIME_MAX) { slimeAmt = PlayerScript.SLIME_MAX; } collider.gameObject.GetComponent <PlayerScript>().slime = slimeAmt; } else { /* Code for power ups with duration */ PowerUpEffectScript script = null; /* Only Salt and Water are opposites right now. */ if (powerUp == PowerUpType.Salt || powerUp == PowerUpType.Water) { PowerUpType opposite; if (powerUp == PowerUpType.Salt) { opposite = PowerUpType.Water; } else { opposite = PowerUpType.Salt; } if ((script = (PowerUpEffectScript)collider.gameObject.GetComponent(opposite.ToString() + "Script")) != null) { //If power up is opposite of power up on player. - removes power up and does not put new power up on script.StopCoroutine(script.currentCoroutine); script.removeEffect(); Destroy(script); } } if (script == null) //If it is null then it means an opposite was not found or not looked for. { if ((script = (PowerUpEffectScript)collider.gameObject.GetComponent(powerUp.ToString() + "Script")) != null) { //If same power up is already on player - removes the power up first script.StopCoroutine(script.currentCoroutine); script.removeEffect(); Destroy(script); } //puts new power up on collider.gameObject.AddComponent(Type.GetType(powerUp.ToString() + "Script")); } } setActive(false); StartCoroutine(respawn()); } }
void OnTriggerEnter2D(Collider2D collider) { if (collider.gameObject.tag == "Player") { PlayerScript player = collider.gameObject.GetComponent <PlayerScript> (); if (player.powerUpEffects [powerUp.ToString()] == 0) { //If the effect is 0... do not eat the power up at all. Ignore it. return; } /* Code for PickUp items * These items have no duration and no opposites. * Their effects are immediate - so no need to do anything intensive. * */ if (powerUp == PowerUpType.Sugar) { int slimeAmt = player.getSlime() - (int)(SUGAR_EFFECT * player.powerUpEffects ["Sugar"]); if (slimeAmt < 0) { slimeAmt = 0; } player.changeSlimeBar(slimeAmt); } else if (powerUp == PowerUpType.Flower) { int slimeAmt = player.getSlime() + (int)(FLOWER_EFFECT * player.powerUpEffects ["Flower"]); if (slimeAmt > player.SLIME_MAX) { slimeAmt = player.SLIME_MAX; } player.changeSlimeBar(slimeAmt); } else { /* Code for power ups with duration */ PowerUpEffectScript script = null; /* Only Salt and Water are opposites right now. */ if (powerUp == PowerUpType.Salt || powerUp == PowerUpType.Water) { PowerUpType opposite; if (powerUp == PowerUpType.Salt) { opposite = PowerUpType.Water; } else { opposite = PowerUpType.Salt; } if ((script = (PowerUpEffectScript)collider.gameObject.GetComponent(opposite.ToString() + "Script")) != null) { //If power up is opposite of power up on player. - removes power up and does not put new power up on script.StopCoroutine(script.currentCoroutine); script.removeEffect(); Destroy(script); } } if (script == null) //If it is null then it means an opposite was not found or not looked for. { if ((script = (PowerUpEffectScript)collider.gameObject.GetComponent(powerUp.ToString() + "Script")) != null) { //If same power up is already on player - removes the power up first script.StopCoroutine(script.currentCoroutine); script.removeEffect(); Destroy(script); } //puts new power up on PowerUpEffectScript s = (PowerUpEffectScript)collider.gameObject.AddComponent(Type.GetType(powerUp.ToString() + "Script")); GameObject prefab = Instantiate(displayPrefab); prefab.GetComponentInChildren <UnityEngine.UI.RawImage> ().texture = images [(int)powerUp].texture; s.setPrefab(prefab); } } setActive(false); StartCoroutine(respawn()); } }
void Update() { //Debug Mode if (pSwitch.DEBUG_MODE) { if (InputManager.ActiveDevice.Action1.WasPressed) { PowerUpType powerup = StartingPowerUp; Execute(powerup); Debug.Log("DEBUG MODE: Using Powerup: " + StartingPowerUp); } } else { //Check if there was powerup input bool action1WasPressed = false; PlayerData playerThatPressedIt = null; if (DataManager.CurrentGameMode == DataManager.GameMode.Party) { foreach (PlayerData i in DataManager.PlayerList) { if (i.Controller.Action1.WasPressed && i.CurrentPowerUp != PowerUpType.None) { action1WasPressed = true; playerThatPressedIt = i; break; } } } else { PlayerData i = DataManager.PlayerList[0]; if (i.Controller.Action1.WasPressed && i.CurrentPowerUp != PowerUpType.None) { action1WasPressed = true; playerThatPressedIt = i; } } //Execute if there was any input if (action1WasPressed && !pSwitch.passingController && !pSwitch.startingGame && !pSwitch.playerWin && !hud.Paused) { PlayerData player; if (DataManager.CurrentGameMode == DataManager.GameMode.Party) { player = playerThatPressedIt; } else { int currentIndex = gameObject.GetComponent <PlayerSwitching>().currentIndex; player = DataManager.PlayerList[currentIndex]; } PowerUpType powerup = player.CurrentPowerUp; if (powerup == PowerUpType.None) { return; } Debug.Log("Player " + player.PlayerNumber + " is using Powerup: " + powerup.ToString()); Execute(powerup); player.CurrentPowerUp = PowerUpType.None; hud.DisplayPowerups(player.PlayerNumber, " "); StartCoroutine(Cooldown(player)); } } }
//Here we create the PowerUp button whichs power ups the worker private void CreatePowerUpButton() { _powerUpBtn = Instantiate(_powerUpBtn, GameObject.FindGameObjectWithTag("Canvas").transform); _powerUpBtn.onClick.AddListener(OnPowerUpBtnClicked); _powerUpBtn.GetComponentInChildren <Text>().text = _type.ToString() + "\nx" + _factor; }
public void ApplyPowerUpItem(PowerUpType powerUpType) { if (powerUpType == PowerUpType.Basic) { _powerMeter = 1; _gameManager.player.ExchangeControlHandler(0, new GoodHealthPlayerControlHandler(_gameManager.player)); Logger.Info("Added basic power up. " + this.ToString()); } else { if (_powerMeter != 1) { // when getting a non basic power up, we want to set the power meter to 1 so we automatically go back to that state in case we lose the // power up. _powerMeter = 1; _gameManager.player.ExchangeControlHandler(0, new GoodHealthPlayerControlHandler(_gameManager.player)); Logger.Info("Added basic power up. " + this.ToString()); } if (!_currentPowerUpItem.HasValue || _currentPowerUpItem.Value != powerUpType) { if (_currentPowerUpItem.HasValue) { _gameManager.player.RemoveControlHandler(_currentPowerUpControlHandler); } switch (powerUpType) { case PowerUpType.Floater: _currentPowerUpControlHandler = new PowerUpFloaterControlHandler(_gameManager.player, _gameManager.gameSettings.powerUpSettings); break; case PowerUpType.DoubleJump: _currentPowerUpControlHandler = new PowerUpDoubleJumpControlHandler(_gameManager.player); break; case PowerUpType.SpinMeleeAttack: _currentPowerUpControlHandler = new PowerUpSpinMeleeAttackControlHandler(_gameManager.player); break; case PowerUpType.JetPack: _currentPowerUpControlHandler = new PowerUpJetPackControlHandler(_gameManager.player, 30f, _gameManager.gameSettings.powerUpSettings); break; case PowerUpType.Gun: _currentPowerUpControlHandler = new PowerUpGunControlHandler(_gameManager.player, -1f, _gameManager.gameSettings.powerUpSettings); break; } _gameManager.player.PushControlHandler(_currentPowerUpControlHandler); _currentPowerUpItem = powerUpType; if (!_orderedPowerUpInventory.Contains(powerUpType)) { _orderedPowerUpInventory.Add(powerUpType); _orderedPowerUpInventory.Sort(); } Logger.Info("Added " + powerUpType.ToString() + " power up. " + this.ToString()); } } }