private void OnDestroy()
 {
     //IL_0081: Unknown result type (might be due to invalid IL or missing references)
     _setupParam  = null;
     _syncParam   = null;
     isNeedUpdate = false;
     for (int i = 0; i < aegisParams.Count; i++)
     {
         AegisParam aegisParam = aegisParams[i];
         _ReleaseEffect(ref aegisParam.effect, true);
     }
     aegisParams.Clear();
     aegisParams = null;
     if (!object.ReferenceEquals(effectParentList, null))
     {
         for (int j = 0; j < effectParentList.Count; j++)
         {
             Object.Destroy(effectParentList[j].get_gameObject());
         }
         effectParentList.Clear();
     }
     effectParentList = null;
 }
    public void Setup(SetupParam param, bool announce)
    {
        //IL_0083: Unknown result type (might be due to invalid IL or missing references)
        //IL_0093: Unknown result type (might be due to invalid IL or missing references)
        //IL_00ec: Unknown result type (might be due to invalid IL or missing references)
        //IL_00f1: Expected O, but got Unknown
        //IL_00f5: Unknown result type (might be due to invalid IL or missing references)
        //IL_00fa: Expected O, but got Unknown
        //IL_010b: Unknown result type (might be due to invalid IL or missing references)
        //IL_0117: Unknown result type (might be due to invalid IL or missing references)
        //IL_0123: Unknown result type (might be due to invalid IL or missing references)
        //IL_0155: Unknown result type (might be due to invalid IL or missing references)
        //IL_015a: Unknown result type (might be due to invalid IL or missing references)
        //IL_01c9: Unknown result type (might be due to invalid IL or missing references)
        //IL_01fb: Unknown result type (might be due to invalid IL or missing references)
        //IL_020c: Unknown result type (might be due to invalid IL or missing references)
        _setupParam = param;
        if (_setupParam.maxNum > 0)
        {
            for (int i = 0; i < aegisParams.Count; i++)
            {
                AegisParam aegisParam = aegisParams[i];
                _ReleaseEffect(ref aegisParam.effect, true);
            }
            aegisParams.Clear();
            Transform val = owner.FindNode(_setupParam.nodeName);
            cachedTransform.SetParent(val);
            cachedTransform.set_localPosition(Vector3.get_zero());
            cachedTransform.set_localScale(Vector3.get_one());
            float num  = 360f / (float)_setupParam.maxNum;
            float num2 = (float)(_setupParam.maxNum - _setupParam.nowNum);
            bool  flag = true;
            for (int j = 0; j < _setupParam.maxNum; j++)
            {
                Transform val3;
                if (effectParentList.Count <= j)
                {
                    GameObject val2 = new GameObject("Child");
                    val3 = val2.get_transform();
                    val3.SetParent(cachedTransform);
                    val3.set_localPosition(Vector3.get_zero());
                    val3.set_localScale(Vector3.get_one());
                    val3.set_localRotation(Quaternion.get_identity());
                    effectParentList.Add(val3);
                }
                else
                {
                    val3 = effectParentList[j];
                }
                val3.set_localRotation(Quaternion.AngleAxis(num * (float)j, Vector3.get_up()));
                if (!((float)j < num2))
                {
                    AegisParam aegisParam2 = new AegisParam();
                    aegisParam2.hp     = ((!flag) ? _setupParam.maxHp : _setupParam.nowHp);
                    aegisParam2.effect = EffectManager.GetEffect(_setupParam.effectName, val3);
                    aegisParam2.effect.set_localPosition(_setupParam.offset);
                    aegisParam2.effect.set_localScale(new Vector3(_setupParam.scale, _setupParam.scale, _setupParam.scale));
                    aegisParam2.effect.set_localRotation(Quaternion.get_identity());
                    aegisParams.Add(aegisParam2);
                    flag = false;
                }
            }
            isNeedUpdate      = true;
            _syncParam.nowNum = _setupParam.nowNum;
            _syncParam.nowHp  = _setupParam.nowHp;
            _UpdateGaugeUI();
            if (announce && MonoBehaviourSingleton <UIEnemyAnnounce> .IsValid())
            {
                MonoBehaviourSingleton <UIEnemyAnnounce> .I.RequestAnnounce(owner.enemyTableData.name, STRING_CATEGORY.ENEMY_SHIELD, 2u);

                if (_setupParam.generateSeId > 0 && MonoBehaviourSingleton <SoundManager> .IsValid())
                {
                    SoundManager.PlayOneShotSE(_setupParam.generateSeId, null, null);
                }
            }
        }
    }