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); }
[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); }