Пример #1
0
    public SHDamageObject AddDamage(string strPrefabName, SHAddDamageParam pParam)
    {
        if (null == pParam)
        {
            Debug.LogErrorFormat("SHDamage::AddDamage - Param Is Null!!");
            return(null);
        }

        var pDamage = CreateDamage(strPrefabName);

        if (null == pDamage)
        {
            return(null);
        }

        var strID = GetNewDamageID(strPrefabName);

        pParam.AddEventToDelete(OnEventToDeleteDamage);
        pDamage.SetActive(true);
        pDamage.OnInitialize(strID, pParam);

        if (false == m_dicAddDamages.ContainsKey(strID))
        {
            m_dicAddDamages.Add(strID, pDamage);
        }
        else
        {
            m_dicAddDamages[strID] = pDamage;
        }

        return(pDamage);
    }
Пример #2
0
    [HideInInspector] public Bounds m_pBeforeBounds;          // 이전 위치의 Bounds
    #endregion


    #region System Functions
    public void OnInitialize(string strID, SHAddDamageParam pParam)
    {
        if (null == pParam)
        {
            Debug.LogErrorFormat("SHDamageObject::OnInitialize - Param Is Null!!");
            return;
        }

        m_pSettingInfo.m_strID = strID;
        m_pInfo        = new SHDamageObjectInfo(m_pSettingInfo);
        m_pParam       = pParam;
        m_bIsDieDamage = false;

        SetupTransform();
        SetupPhysicsValue();
        ClearEffect();

        SetActive(false);
        SetActive(true);
        PlayAnimation();
        PlaySound(eDamageEvent.Start);
        PlayEffect(eDamageEvent.Start);
    }