Esempio n. 1
0
 protected static string GetHitNodeName(HitbyBuilding HitBy)
 {
     if (HitBy == HitbyBuilding.HitByBuild1501)
     {
         return("HitByBuild1501");
     }
     else if (HitBy == HitbyBuilding.HitByBuild1502)
     {
         return("HitByBuild1502");
     }
     else if (HitBy == HitbyBuilding.HitByBuild1503)
     {
         return("HitByBuild1503");
     }
     else if (HitBy == HitbyBuilding.HitByBuild1504)
     {
         return("HitByBuild1504");
     }
     else if (HitBy == HitbyBuilding.HitByBuild1504)
     {
         return("HitByBuild1505");
     }
     else
     {
         return("");
     }
 }
Esempio n. 2
0
    /// <summary>
    /// 受建筑物攻击表现效果
    /// </summary>
    /// <param name="HitBy">受击类型</param>
    /// <param name="state">受击状态,true 开始, false 结束</param>
    /// <param name="step">受击步骤</param>
    public void HitByBuildingEffect(HitbyBuilding HitBy, bool state, int step, HitEffectMode Mode, HitEffectHook pfun)
    {
        //if(ProPerty == null) ;
        string    HitNodeName = GetHitNodeName(HitBy);
        Transform HitNode     = FindHitGameObject(HitNodeName);

        if (HitNode == null)
        {
            Debug.LogError("获取角色受击对象节点失败,请调查角色预制受击节点配置  " + HitBy + ",  " + Mode + "," + m_SkinOwner);
            return;
        }

        string    name   = step.ToString();
        Transform effect = HitNode.Find(name);

        if (effect == null)
        {
            return;
        }

        if (Mode == HitEffectMode.CoverBody)
        {
            if (state == true)
            {
                HitNode.parent = tRoot;
                SetVisable(false);
                //tBody.gameObject.SetActive(false);
            }
            else
            {
                SetVisable(true);
                //tBody.gameObject.SetActive(true);
                HitNode.parent = tBody;
            }
        }
        //
        {
            if (state == true)
            {
                effect.gameObject.SetActive(true);
                if (pfun != null)
                {
                    pfun(effect);
                }
            }
            else
            {
                effect.gameObject.SetActive(false);
            }
        }
    }