• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# Damage类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中Damage的典型用法代码示例。如果您正苦于以下问题:C# Damage类的具体用法?C# Damage怎么用?C# Damage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Damage类属于命名空间,在下文中一共展示了Damage类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: TakeDamage

 public void TakeDamage(Damage damage)
 {
     if (!enabled)
         return;
     OnDamage (damage);
     OnDamageAction.Invoke ();
 }
开发者ID:mofr,项目名称:FimbulWinter,代码行数:7,代码来源:Damageable.cs


示例2: CalculateDamage

 /// <summary>
 /// 伤害核心计算公式
 /// </summary>
 /// <param name="monster">怪物</param>
 /// <param name="skillDamage">已经过法强加成的伤害类</param>
 /// <returns>计算抗性后的伤害值</returns>
 public static float CalculateDamage(Monster monster, Damage.SkillDamage skillDamage)
 {
     ///当前版本不存在神圣伤害or物理伤害
     if (!monster.armorComponent)
     {
         return skillDamage.GetTotalDamage();
     }
     float[] elementDefenceList = monster.armorComponent.GetElementDefenceList();
     float sum = 0;
     for (int i = 0; i < Elements.ELEMENT_NUMBER; i++)
     {
         ///当前版本不存在将伤害小于0的效果
         if (skillDamage.elementsDamage[i] < 0)
         {
             skillDamage.elementsDamage[i] = 0;
         }
         ///当前版本不存在将伤害转化成治疗的效果
         float p = 1 - elementDefenceList[i] / 100;
         if (p < 0)
         {
             p = 0;
         }
         sum += skillDamage.elementsDamage[i] * p;
     }
     ///FIXME 物理组件存在物理抗性,物理抗性还需计算
     return sum + skillDamage.physicalDamage;
 }
开发者ID:shuitian,项目名称:LonelyCity,代码行数:33,代码来源:Damage.cs


示例3: BeginAttack

 public virtual void BeginAttack(Damage damageToDeal, Fighter attacker)
 {
     weaponUser = attacker;
     attackCast.OnHit += OnWeaponHit;
     damageOut = damageToDeal;
     attackCast.Begin ();
 }
开发者ID:redbluegames,项目名称:ness,代码行数:7,代码来源:Weapon.cs


示例4: OnTakeDamage

 public void OnTakeDamage(Damage d)
 {
     shieldHealth -= d.damage;
     if (shieldHealth <= 0) {
         Destroy (gameObject);
     }
 }
开发者ID:Lomztein,项目名称:Microsquad,代码行数:7,代码来源:ShieldGenerator.cs


示例5: AddNewDamage

 public ActionResult AddNewDamage(Damage damage)
 {
     var context = new RiskSystemEntities();
     context.Damages.Add(damage);
     context.SaveChanges();
     return RedirectToAction("Damages");
 }
开发者ID:dave93b,项目名称:MKM,代码行数:7,代码来源:HomeController.cs


示例6: Pop

 public void Pop(Damage damage)
 {
     var message = _messagePrefab.Instantiate();
     message.transform.SetParent(transform, false);
     message.transform.localPosition = Vector3.zero;
     message.Show(damage);
 }
开发者ID:choihb,项目名称:snugdc-project-sprpg,代码行数:7,代码来源:HudDamagePoper.cs


示例7: TakeDamage

 public void TakeDamage(Damage damage)
 {
     // we hit a bullet / a bullet hit us, both go away
     AudioSource.PlayClipAtPoint(rockGotHit, Camera.main.transform.position);
     Instantiate(rockHitEffect, transform.position, transform.rotation);
     Destroy(gameObject);
 }
开发者ID:Beanalby,项目名称:1GameAMonth13,代码行数:7,代码来源:Rock.cs


示例8: Attack

 public virtual bool Attack(Character target)
 {
     Damage damage = new Damage(this, target, attack * (1 - target.defence / 100));
     Damage.AddDamage(damage);
     //target.LoseHp(attack * (1 - target.defence / 100));
     return true;
 }
开发者ID:shuitian,项目名称:pokemon_rpg,代码行数:7,代码来源:Character.cs


示例9: OnTriggerStay

    void OnTriggerStay(Collider col)
    {
        GameObject target;
        if (col.attachedRigidbody != null)
        {
            target = col.attachedRigidbody.gameObject;
        }
        else
        {
            target = col.gameObject;
        }

        if (!targets.Contains(target))
        {
            targets.Add(target);
            float dist = (target.transform.position - transform.position).magnitude;

            Damage dam = new Damage();
            dam.amount = damage * radius / (dist + 1);
            dam.source = this;
            dam.targetCollider = col;

            DamageReceiver receiver = target.GetComponent<DamageReceiver>();
            if (receiver != null)
            {
                receiver.TakeDamage(dam);
            }

            if (target.rigidbody != null)
            {
                target.rigidbody.AddExplosionForce(damage * 100, transform.position, radius);
            }
        }
    }
开发者ID:GGJ204-EBUG,项目名称:EnemyBuildingGame,代码行数:34,代码来源:Explosion.cs


示例10: takeDamage

	public virtual void takeDamage(Damage d)
	{
		hp -= d.value;

		if (hp <= 0)
			this.diedFrom (d);
	}
开发者ID:fuchs-,项目名称:MBA,代码行数:7,代码来源:Entity.cs


示例11: OnTriggerEnter

    void OnTriggerEnter(Collider col)
    {
        if (!destroyed)
        {
            destroyed = true;

            GameObject target;
            if (col.attachedRigidbody != null)
            {
                target = col.attachedRigidbody.gameObject;
            }
            else
            {
                target = col.gameObject;
            }
            Damage dam = new Damage();
            dam.amount = damage;
            dam.source = this;
            dam.targetCollider = col;

            DamageReceiver receiver = target.GetComponent<DamageReceiver>();
            if (receiver != null)
            {
                receiver.TakeDamage(dam);
            }

            Destroy(gameObject);
        }
    }
开发者ID:GGJ204-EBUG,项目名称:EnemyBuildingGame,代码行数:29,代码来源:Bullet.cs


示例12: Update

    void Update()
    {
        if (isFiring)
        {
            Ray ray = new Ray(startPos.position, startPos.forward);
            RaycastHit hit;
            Vector3 hitPos;
            if (Physics.Raycast(ray, out hit, range))
            {
                hitPos = hit.point;

                GameObject target;
                if (hit.collider.attachedRigidbody != null) target = hit.collider.attachedRigidbody.gameObject;
                else target = hit.collider.gameObject;
                DamageReceiver receiver = target.GetComponent<DamageReceiver>();
                if (receiver != null)
                {
                    Damage dam = new Damage();
                    dam.amount = Time.deltaTime * damage;
                    dam.targetCollider = hit.collider;
                    dam.source = this;
                    receiver.TakeDamage(dam);
                }
            }
            else
            {
                hitPos = startPos.position + startPos.forward * range;
            }

            line.SetPosition(0, startPos.position);
            line.SetPosition(1, hitPos);
        }
    }
开发者ID:GGJ204-EBUG,项目名称:EnemyBuildingGame,代码行数:33,代码来源:LaserCannon.cs


示例13: Damage

 // Copy constructor
 public Damage(Damage copyFrom)
 {
     HitLocation = copyFrom.HitLocation;
     Amount = copyFrom.Amount;
     Attacker = copyFrom.Attacker;
     Attack = copyFrom.Attack;
 }
开发者ID:redbluegames,项目名称:ness,代码行数:8,代码来源:Damage.cs


示例14: RecieveDamage

 public virtual bool RecieveDamage(Damage dmg)
 {
     _health -= dmg.damage;
     if ( _health < 0 )
         return true;
     return false;
 }
开发者ID:AtwoodDeng,项目名称:miniRTS,代码行数:7,代码来源:RobotHealth.cs


示例15: Ability

        public Ability()
        {
            Name = "!!! Unnamed Ability !!!";
            Description = "";

            Animations = new List<GraphicsEffectDefinition>();
            CastingAnimations = new List<GraphicsEffectDefinition>();
            ImpactAnimations = new List<GraphicsEffectDefinition>();

            Damage = new Damage();
            Healing = new Damage();
            DamageType = DamageTypes.SingleTarget;
            TargettingType = TargettingTypes.Hostile;
            Cooldown = new Cooldown(0f);
            Range = new Range(20f);
            Area = 1f;
            ThreatModifier = 1f;
            AurasApplied = new List<Aura>();
            Duration = 1;

            CanMiss = true;
            CanBeDodged = true;
            CanCrit = true;
            CanBeBlocked = true;
        }
开发者ID:myko,项目名称:Eternia,代码行数:25,代码来源:Ability.cs


示例16: OnDamaged

 public void OnDamaged(Damage damage)
 {
     if (damage != null && damage.Sufferers != null )
     {
         beDamaging = true;
     }
 }
开发者ID:zs9024,项目名称:Jungle,代码行数:7,代码来源:BTCheckOndamaged.cs


示例17: TakeDamage

 void TakeDamage(Damage damage)
 {
     if(rolling)
         StartCoroutine(BumpOutOfRoll());
     else
         StartCoroutine(FlashAndExplode(damage));
 }
开发者ID:horsman,项目名称:shieldlord,代码行数:7,代码来源:WormBrain.cs


示例18: OnTakeDamage

    public void OnTakeDamage(Damage d)
    {
        Vector3 point = d.point;

        float dist = float.MaxValue;
        int index = 0;

        if (majorParts.Length > 0) {
            for (int i = 0; i < majorParts.Length; i++) {
                float ld = Vector3.Distance (point, majorParts[i].part.transform.position);

                if (ld > dist) {
                    ld = dist;
                    index = i;
                }
            }

            majorParts[index].part.AddForceAtPosition (d.force, point);
            if (majorParts[index].canDestroy && d.force.magnitude > dismembermentForce) {
                majorParts[index].part.transform.localScale = Vector3.zero;
            }

            ragdolls.Enqueue (this);
            if (ragdolls.Count > maxRagdollsInScene) {
                RagdollHandler h = ragdolls.Dequeue ();
                h.StartCoroutine (h.Fade ());
            }
        }
    }
开发者ID:Lomztein,项目名称:Microsquad,代码行数:29,代码来源:RagdollHandler.cs


示例19: GetDamaged

 /// <summary>
 /// 受到伤害
 /// </summary>
 /// <param name="p_skillDamage">受到的伤害</param>
 public void GetDamaged(Damage.SkillDamage p_skillDamage)
 {
     if (!hpComponent || p_skillDamage == null)
     {
         return;
     }
     hpComponent.LoseHp(Damage.CalculateDamage(this, p_skillDamage));
 }
开发者ID:shuitian,项目名称:LonelyCity,代码行数:12,代码来源:Monster.cs


示例20: OnTriggerEnter

 void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.tag == "Player" || other.gameObject.tag == "NPC") {
         _inRange = true;
         _targetHealth = other.gameObject.GetComponent<Damage>();
         _targetHealth.ParticleSystem.Play();
     }
 }
开发者ID:pandaboy,项目名称:Zombies,代码行数:8,代码来源:Zombie.cs



注:本文中的Damage类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# DamageSchool类代码示例发布时间:2022-05-24
下一篇:
C# DX11RenderSettings类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap