コード例 #1
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        HealthBoost     healthBoost          = other.gameObject.GetComponent <HealthBoost>();
        Invulnerability invulnerabilityBoost = other.GetComponent <Invulnerability>();

        InteractWithPickUp(healthBoost, invulnerabilityBoost);
    }
コード例 #2
0
    private GameObject InstantiateHealthBoost(Vector3 spawnPosition)
    {
        HealthBoost healthBoost = Instantiate(healthBoostPreFab, spawnPosition, Quaternion.identity);

        gameObjects.Add(healthBoost.gameObject);
        return(healthBoost.gameObject);
    }
コード例 #3
0
ファイル: Player.cs プロジェクト: zackrcarson/Unity2DGames
    private void OnTriggerEnter2D(Collider2D otherCollider)
    {
        DamageDealer damageDealer = otherCollider.gameObject.GetComponent <DamageDealer>();
        HealthBoost  healthBoost  = otherCollider.gameObject.GetComponent <HealthBoost>();

        if (damageDealer == null && healthBoost == null)
        {
            return;
        }

        if (damageDealer != null)
        {
            if (otherCollider.tag != "Enemy" && otherCollider.tag != "Player" && otherCollider.tag != "Boss")
            {
                damageDealer.Hit();
            }

            ProcessHit(damageDealer);
        }

        if (healthBoost != null)
        {
            AddHealth(healthBoost.GetHealthBoost());

            healthBoost.PickedUp();
        }
    }
コード例 #4
0
ファイル: PlayerHealth.cs プロジェクト: Oxann/Dots
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (!collision.GetComponent <PlayerAttack>())
        {
            if (Health > 0)
            {
                EnemyDotManager enemy = collision.GetComponent <EnemyDotManager>();
                if (enemy)
                {
                    Health -= (int)enemy.Health;
                    enemySpawner.AliveEnemyCount--;
                    if (Health <= 0)
                    {
                        Destroy(collision.gameObject);
                        StartCoroutine(gameOverManager.GameOver());
                    }
                }

                HealthBoost healthBoost = collision.GetComponent <HealthBoost>();
                if (healthBoost)
                {
                    Health += healthBoost.Health;
                }

                Destroy(collision.gameObject);
            }
            else
            {
                //If game is over, this destroys all game objects except player end node.
                Destroy(collision.gameObject);
            }
        }
    }
コード例 #5
0
 private void InteractWithHealthItem(HealthBoost healthBoost)
 {
     if (health <= maxHealth)
     {
         health += healthBoost.GetHealthBoost();
         healthBarUI.SetHealthBar(health, maxHealth);
     }
     healthBoost.OnHit();
 }
コード例 #6
0
    private void InteractWithPickUp(HealthBoost healthBoost, Invulnerability invulnerabilityBoost)
    {
        if (healthBoost)
        {
            InteractWithHealthItem(healthBoost);
        }

        else if (invulnerabilityBoost)
        {
            InteractWithInvulnerabilityItem(invulnerabilityBoost);
        }
    }
コード例 #7
0
        private void AddHealthBoost()
        {
            // Initalize health boost
            HealthBoost health = new HealthBoost();

            health.Initialize(GraphicsDevice.Viewport, _healthBoostIcon,
                              new Vector2((GraphicsDevice.Viewport.Width + _healthBoostIcon.Width / 2),
                                          _random.Next(50, GraphicsDevice.Viewport.Height - 50)));

            // Add health boost
            _healthy.Add(health);
        }
コード例 #8
0
        public int levelUp(List <GameObject> itemToBeAdded)
        {
            int    x;
            int    y;
            Random random = new Random();

            x = random.Next(0, 400);
            y = random.Next(0, 400);

            HealthBoost ranHealthBoost = new HealthBoost(60, x, y, mediator);

            ranHealthBoost.Load();
            itemToBeAdded.Add(ranHealthBoost);
            Debug.WriteLine("HB added");

            return(level++);
        }
コード例 #9
0
        private void FixedObjectsAddBtn_Click(object sender, RoutedEventArgs e)
        {
            FixedObject fixedObject = new FuelTank();

            switch (fixedObjectsComboBox.SelectedItem)
            {
            case "Fuel Tank":
                fixedObject = new FuelTank();
                break;

            case "Health Boost":
                fixedObject = new HealthBoost();
                break;

            case "Ship":
                fixedObject = new Ship();
                break;
            }

            fixedObject.Image.PointerPressed += SelectedImage_onMuseClick;
            Map.CreateAndAddFixedObjectToMap(fixedObject, 0, 0);
        }
コード例 #10
0
        private static Effect GetEffect(EffectType prim)
        {
            Effect eff = null;

            switch (prim)
            {
            case EffectType.Speed:
                eff = new Speed();
                break;

            case EffectType.Slowness:
                eff = new Slowness();
                break;

            case EffectType.Haste:
                eff = new Haste();
                break;

            case EffectType.MiningFatigue:
                eff = new MiningFatigue();
                break;

            case EffectType.Strength:
                eff = new Strength();
                break;

            case EffectType.InstantHealth:
                eff = new InstantHealth();
                break;

            case EffectType.InstantDamage:
                eff = new InstantDamage();
                break;

            case EffectType.JumpBoost:
                eff = new JumpBoost();
                break;

            case EffectType.Nausea:
                eff = new Nausea();
                break;

            case EffectType.Regeneration:
                eff = new Regeneration();
                break;

            case EffectType.Resistance:
                eff = new Resistance();
                break;

            case EffectType.FireResistance:
                eff = new FireResistance();
                break;

            case EffectType.WaterBreathing:
                eff = new WaterBreathing();
                break;

            case EffectType.Invisibility:
                eff = new Invisibility();
                break;

            case EffectType.Blindness:
                eff = new Blindness();
                break;

            case EffectType.NightVision:
                eff = new NightVision();
                break;

            case EffectType.Hunger:
                eff = new Hunger();
                break;

            case EffectType.Weakness:
                eff = new Weakness();
                break;

            case EffectType.Poison:
                eff = new Poison();
                break;

            case EffectType.Wither:
                eff = new Wither();
                break;

            case EffectType.HealthBoost:
                eff = new HealthBoost();
                break;

            case EffectType.Absorption:
                eff = new Absorption();
                break;

            case EffectType.Saturation:
                eff = new Saturation();
                break;
            }
            return(eff);
        }
コード例 #11
0
        public void Effect(Player player, string effect, int level, int duration)
        {
            if ("clear".Equals(effect, StringComparison.InvariantCultureIgnoreCase))
            {
                player.Level.BroadcastMessage($"Removed all effects for {player.Username}.", MessageType.Raw);
                player.RemoveAllEffects();
                return;
            }

            EffectType effectType;

            if (Enum.TryParse(effect, true, out effectType))
            {
                Effect eff = null;
                switch (effectType)
                {
                case EffectType.Speed:
                    eff = new Speed();
                    break;

                case EffectType.Slowness:
                    eff = new Slowness();
                    break;

                case EffectType.Haste:
                    eff = new Haste();
                    break;

                case EffectType.MiningFatigue:
                    eff = new MiningFatigue();
                    break;

                case EffectType.Strength:
                    eff = new Strength();
                    break;

                case EffectType.InstantHealth:
                    eff = new InstantHealth();
                    break;

                case EffectType.InstantDamage:
                    eff = new InstantDamage();
                    break;

                case EffectType.JumpBoost:
                    eff = new JumpBoost();
                    break;

                case EffectType.Nausea:
                    eff = new Nausea();
                    break;

                case EffectType.Regeneration:
                    eff = new Regeneration();
                    break;

                case EffectType.Resistance:
                    eff = new Resistance();
                    break;

                case EffectType.FireResistance:
                    eff = new FireResistance();
                    break;

                case EffectType.WaterBreathing:
                    eff = new WaterBreathing();
                    break;

                case EffectType.Invisibility:
                    eff = new Invisibility();
                    break;

                case EffectType.Blindness:
                    eff = new Blindness();
                    break;

                case EffectType.NightVision:
                    eff = new NightVision();
                    break;

                case EffectType.Hunger:
                    eff = new Hunger();
                    break;

                case EffectType.Weakness:
                    eff = new Weakness();
                    break;

                case EffectType.Poison:
                    eff = new Poison();
                    break;

                case EffectType.Wither:
                    eff = new Wither();
                    break;

                case EffectType.HealthBoost:
                    eff = new HealthBoost();
                    break;

                case EffectType.Absorption:
                    eff = new Absorption();
                    break;

                case EffectType.Saturation:
                    eff = new Saturation();
                    break;
                }

                if (eff != null)
                {
                    eff.Level     = level;
                    eff.Duration  = duration;
                    eff.Particles = false;

                    player.SetEffect(eff);
                    player.Level.BroadcastMessage($"{player.Username} added effect {effectType} with strenght {level}", MessageType.Raw);
                }
            }
        }
コード例 #12
0
ファイル: CoreCommands.cs プロジェクト: TheDiamondYT2/MiNET
        public void Effect(Player player, string effect, int level = 1, int duration = 20)
        {
            EffectType effectType;

            if (Enum.TryParse(effect, true, out effectType))
            {
                Effect eff = null;
                switch (effectType)
                {
                case EffectType.Speed:
                    eff = new Speed();
                    break;

                case EffectType.Slowness:
                    eff = new Slowness();
                    break;

                case EffectType.Haste:
                    eff = new Haste();
                    break;

                case EffectType.MiningFatigue:
                    eff = new MiningFatigue();
                    break;

                case EffectType.Strenght:
                    eff = new Strength();
                    break;

                case EffectType.InstandHealth:
                    eff = new InstandHealth();
                    break;

                case EffectType.InstantDamage:
                    eff = new InstantDamage();
                    break;

                case EffectType.JumpBoost:
                    eff = new JumpBoost();
                    break;

                case EffectType.Nausea:
                    eff = new Nausea();
                    break;

                case EffectType.Regeneration:
                    eff = new Regeneration();
                    break;

                case EffectType.Resistance:
                    eff = new Resistance();
                    break;

                case EffectType.FireResistance:
                    eff = new FireResistance();
                    break;

                case EffectType.WaterBreathing:
                    eff = new WaterBreathing();
                    break;

                case EffectType.Invisibility:
                    eff = new Invisibility();
                    break;

                case EffectType.Blindness:
                    eff = new Blindness();
                    break;

                case EffectType.NightVision:
                    eff = new NightVision();
                    break;

                case EffectType.Hunger:
                    eff = new Hunger();
                    break;

                case EffectType.Weakness:
                    eff = new Weakness();
                    break;

                case EffectType.Poison:
                    eff = new Poison();
                    break;

                case EffectType.Wither:
                    eff = new Wither();
                    break;

                case EffectType.HealthBoost:
                    eff = new HealthBoost();
                    break;

                case EffectType.Absorption:
                    eff = new Absorption();
                    break;

                case EffectType.Saturation:
                    eff = new Saturation();
                    break;

                case EffectType.Glowing:
                    eff = new Glowing();
                    break;

                case EffectType.Levitation:
                    eff = new Levitation();
                    break;
                }

                if (eff != null)
                {
                    eff.Level     = level;
                    eff.Duration  = duration;
                    eff.Particles = false;

                    player.SetEffect(eff);
                    player.Level.BroadcastMessage(string.Format("{0} added effect {1} with strenght {2}", player.Username, effectType, level), MessageType.Raw);
                }
            }
        }
コード例 #13
0
 private void ApplyHealthBoost(HealthBoost healthBoost)
 {
     Energy = Mathf.Clamp(Energy += healthBoost.Energy, 0, 100);
     eventSystemMessages.OnPlayerPowerUp(Energy);
 }