예제 #1
0
    protected void SetEndure(GameObject obj, bool isEndure)
    {
        CharacterCamp cc = obj.GetComponent <CharacterCamp>();

        if (null != cc)
        {
            cc.SetEndure(isEndure);
        }
    }
예제 #2
0
    private void SendImpactWithOutDamage(GameObject target, ImpactInfo impactInfo)
    {
        SharedGameObjectInfo targetInfo = LogicSystem.GetSharedGameObjectInfo(target);
        CharacterCamp        info       = target.GetComponent <CharacterCamp>();

        if (null != info && info.m_IsEndure && IsBreakEndure(impactInfo))
        {
            info.SetEndure(false);
        }
        if (null != info && info.m_IsEndure)
        {
        }
        else
        {
            if (CanBreakSkill(target))
            {
                BreakCurSkill(target);
                if (null != targetInfo && targetInfo.Blood > 0)
                {
                    switch (impactInfo.m_Type)
                    {
                    case ImpactType.HitFly:
                        SendHitFlyImpact(target, impactInfo);
                        break;

                    case ImpactType.Stiffness:
                        SendStiffnessImpact(target, impactInfo);
                        break;

                    case ImpactType.KnockDown:
                        SendKnockDownImpact(target, impactInfo);
                        break;

                    case ImpactType.Grab:
                        SendGrabImpact(target, impactInfo);
                        break;

                    case ImpactType.MicroGHitFly:
                        SendMicroGHitFly(target, impactInfo);
                        break;
                    }
                }
            }
        }
    }