Пример #1
0
    public static Enemy GetNearestAliveEnemy(StageObject baseObj)
    {
        Enemy result = null;

        if (!MonoBehaviourSingleton <StageObjectManager> .IsValid())
        {
            return(null);
        }
        StageObjectManager i = MonoBehaviourSingleton <StageObjectManager> .I;

        if (i.enemyList == null || i.enemyList.Count <= 0)
        {
            return(null);
        }
        float num = 3.40282347E+38f;

        foreach (StageObject enemy2 in i.enemyList)
        {
            Enemy enemy = enemy2 as Enemy;
            if (!(enemy == null) && !enemy.isDead)
            {
                float lengthWithBetweenObject = GetLengthWithBetweenObject(baseObj, enemy);
                if (lengthWithBetweenObject < num)
                {
                    result = enemy;
                    num    = lengthWithBetweenObject;
                }
            }
        }
        return(result);
    }
 public void Initialize(int id, BulletData bulletData, Transform transform)
 {
     //IL_001e: Unknown result type (might be due to invalid IL or missing references)
     //IL_00a6: Unknown result type (might be due to invalid IL or missing references)
     //IL_00ab: Expected O, but got Unknown
     //IL_00cd: Unknown result type (might be due to invalid IL or missing references)
     //IL_00dd: Unknown result type (might be due to invalid IL or missing references)
     //IL_012e: Unknown result type (might be due to invalid IL or missing references)
     //IL_0139: Unknown result type (might be due to invalid IL or missing references)
     //IL_013e: Unknown result type (might be due to invalid IL or missing references)
     //IL_0154: Unknown result type (might be due to invalid IL or missing references)
     //IL_0159: Unknown result type (might be due to invalid IL or missing references)
     //IL_016a: Unknown result type (might be due to invalid IL or missing references)
     //IL_0180: Unknown result type (might be due to invalid IL or missing references)
     //IL_0190: Unknown result type (might be due to invalid IL or missing references)
     //IL_01d4: Unknown result type (might be due to invalid IL or missing references)
     //IL_01e9: Unknown result type (might be due to invalid IL or missing references)
     //IL_01f9: Unknown result type (might be due to invalid IL or missing references)
     if (!MonoBehaviourSingleton <StageObjectManager> .IsValid())
     {
         Log.Error(LOG.INGAME, "StageObjectManager is invalid. Can't initialize PresentBulletObject.");
     }
     else
     {
         this.get_gameObject().set_name("PresentBulletObject:" + id.ToString());
         m_presentBulletId = id;
         m_bulletData      = bulletData;
         m_stageObjMgr     = MonoBehaviourSingleton <StageObjectManager> .I;
         m_lifeSpan        = m_bulletData.data.appearTime;
         if (m_bulletData.dataPresent != null)
         {
             m_lifeSpanType = m_bulletData.dataPresent.lifeSpanType;
             m_buffIds      = m_bulletData.dataPresent.buffIds;
         }
         m_cachedTransform = this.get_transform();
         m_cachedTransform.set_parent(m_stageObjMgr._transform);
         m_cachedTransform.set_position(transform.get_position());
         m_cachedTransform.set_localScale(Vector3.get_one());
         if (MonoBehaviourSingleton <EffectManager> .IsValid())
         {
             m_cachedEffectTransform = EffectManager.GetEffect(m_bulletData.data.effectName, MonoBehaviourSingleton <EffectManager> .I._transform);
         }
         if (m_cachedEffectTransform != null)
         {
             m_cachedEffectTransform.set_position(transform.get_position() + bulletData.data.dispOffset);
             m_cachedEffectTransform.set_localRotation(Quaternion.Euler(bulletData.data.dispRotation));
             m_effectAnimator = m_cachedEffectTransform.get_gameObject().GetComponent <Animator>();
             m_effectCtrl     = m_cachedEffectTransform.get_gameObject().GetComponent <EffectCtrl>();
         }
         this.get_gameObject().set_layer(31);
         m_ignoreLayerMask |= 41984;
         m_ignoreLayerMask |= 20480;
         m_ignoreLayerMask |= 2490880;
         m_cachedCollider   = this.get_gameObject().AddComponent <BoxCollider>();
         m_cachedCollider.set_size(COLLIDER_SIZE);
         m_cachedCollider.set_center(COLLIDER_CENTER);
         m_cachedCollider.set_isTrigger(true);
         m_cachedCollider.set_enabled(false);
         m_state = STATE.ACTIVE;
     }
 }
Пример #3
0
    public void Play(Action _onComplete = null)
    {
        //IL_001c: Unknown result type (might be due to invalid IL or missing references)
        //IL_0029: Expected O, but got Unknown
        //IL_00eb: Unknown result type (might be due to invalid IL or missing references)
        //IL_0264: Unknown result type (might be due to invalid IL or missing references)
        //IL_0269: Expected O, but got Unknown
        //IL_0285: Unknown result type (might be due to invalid IL or missing references)
        //IL_028a: Expected O, but got Unknown
        //IL_02c7: Unknown result type (might be due to invalid IL or missing references)
        //IL_02de: Unknown result type (might be due to invalid IL or missing references)
        //IL_02e3: Unknown result type (might be due to invalid IL or missing references)
        //IL_03d6: Unknown result type (might be due to invalid IL or missing references)
        //IL_046b: Unknown result type (might be due to invalid IL or missing references)
        //IL_0507: Unknown result type (might be due to invalid IL or missing references)
        //IL_050c: Expected O, but got Unknown
        //IL_0528: Unknown result type (might be due to invalid IL or missing references)
        //IL_052d: Expected O, but got Unknown
        //IL_05c4: Unknown result type (might be due to invalid IL or missing references)
        //IL_05dc: Unknown result type (might be due to invalid IL or missing references)
        //IL_05e1: Unknown result type (might be due to invalid IL or missing references)
        //IL_06b3: Unknown result type (might be due to invalid IL or missing references)
        //IL_06cd: Unknown result type (might be due to invalid IL or missing references)
        //IL_06d4: Unknown result type (might be due to invalid IL or missing references)
        //IL_06ec: Unknown result type (might be due to invalid IL or missing references)
        //IL_06f3: Unknown result type (might be due to invalid IL or missing references)
        //IL_06f8: Unknown result type (might be due to invalid IL or missing references)
        //IL_0724: Unknown result type (might be due to invalid IL or missing references)
        //IL_0729: Unknown result type (might be due to invalid IL or missing references)
        //IL_0733: Unknown result type (might be due to invalid IL or missing references)
        //IL_0738: Unknown result type (might be due to invalid IL or missing references)
        if (cutSceneData == null)
        {
            MonoBehaviourSingleton <GameSceneManager> .I.ExecuteSceneEvent("InGameMain", this.get_gameObject(), "HOME", null, null, true);

            _onComplete?.Invoke();
        }
        else
        {
            onComplete  = _onComplete;
            isPlaying   = true;
            cutNo       = 0;
            playingTime = 0f;
            oldTime     = 0f;
            MonoBehaviourSingleton <SoundManager> .I.TransitionTo(cutSceneData.mixerName, 1f);

            if (cutSceneData.bgm != 0)
            {
                SoundManager.RequestBGM(cutSceneData.bgm, true);
            }
            cameraAnimator.set_cullingMode(0);
            cameraAnimator.set_runtimeAnimatorController(cutSceneData.cameraController);
            cameraAnimator.Play(CUT_STATE_HASH[cutNo]);
            UpdateCamera();
            MonoBehaviourSingleton <InGameCameraManager> .I.cameraTransform.get_gameObject().SetActive(false);

            for (int k = 0; k < this.playerInfo.Length; k++)
            {
                this.playerInfo[k] = null;
            }
            for (int l = 0; l < cutSceneData.playerData.Length; l++)
            {
                CutSceneData.PlayerData playerData = cutSceneData.playerData[l];
                if (playerData != null)
                {
                    if (!MonoBehaviourSingleton <StageObjectManager> .IsValid())
                    {
                        break;
                    }
                    StageObjectManager i2     = MonoBehaviourSingleton <StageObjectManager> .I;
                    Player             player = null;
                    if (playerData.type == CutSceneData.PlayerData.TYPE.MY_CHARACTER)
                    {
                        player = i2.self;
                    }
                    else
                    {
                        if (i2.playerList.Count <= (int)playerData.type)
                        {
                            continue;
                        }
                        int num = 0;
                        for (int m = 0; m < i2.playerList.Count; m++)
                        {
                            if (!(i2.playerList[m] is Self))
                            {
                                if ((int)playerData.type <= num)
                                {
                                    player = (i2.playerList[m] as Player);
                                    break;
                                }
                                num++;
                            }
                        }
                        if (player == null)
                        {
                            for (int n = 0; n < i2.playerList.Count; n++)
                            {
                                if ((int)playerData.type <= num)
                                {
                                    player = (i2.nonplayerList[n] as Player);
                                    break;
                                }
                                num++;
                            }
                        }
                        if (player == null)
                        {
                            continue;
                        }
                    }
                    PlayerInfo playerInfo = new PlayerInfo();
                    playerInfo.obj                = player.get_gameObject();
                    playerInfo.animator           = player.animator;
                    playerInfo.originalController = player.animator.get_runtimeAnimatorController();
                    playerInfo.keyData            = playerData;
                    player.ActIdle(false, -1f);
                    player._collider.set_enabled(false);
                    player._rigidbody.set_constraints(126);
                    player._transform.set_position(playerData.startPos);
                    player._transform.set_rotation(Quaternion.AngleAxis(playerData.startAngleY, Vector3.get_up()));
                    player.animator.set_cullingMode(0);
                    player.animator.set_runtimeAnimatorController(playerData.controller);
                    player.animator.Rebind();
                    this.playerInfo[l] = playerInfo;
                }
            }
            for (int num2 = 0; num2 < this.playerInfo.Length; num2++)
            {
                if (this.playerInfo[num2] != null && !(this.playerInfo[num2].obj == null))
                {
                    List <StageObject> playerList = MonoBehaviourSingleton <StageObjectManager> .I.playerList;
                    int i;
                    for (i = 0; i < playerList.Count; i++)
                    {
                        PlayerInfo playerInfo2 = Array.Find(this.playerInfo, delegate(PlayerInfo info)
                        {
                            //IL_0024: Unknown result type (might be due to invalid IL or missing references)
                            if (info == null)
                            {
                                return(false);
                            }
                            return(info.obj == playerList[i].get_gameObject());
                        });
                        if (playerInfo2 == null)
                        {
                            playerList[i].get_gameObject().SetActive(false);
                        }
                    }
                    List <StageObject> npcList = MonoBehaviourSingleton <StageObjectManager> .I.nonplayerList;
                    int j;
                    for (j = 0; j < npcList.Count; j++)
                    {
                        PlayerInfo playerInfo3 = Array.Find(this.playerInfo, delegate(PlayerInfo info)
                        {
                            //IL_0024: Unknown result type (might be due to invalid IL or missing references)
                            if (info == null)
                            {
                                return(false);
                            }
                            return(info.obj == npcList[j].get_gameObject());
                        });
                        if (playerInfo3 == null)
                        {
                            npcList[j].get_gameObject().SetActive(false);
                        }
                    }
                }
            }
            if (cutSceneData.enemyData != null && MonoBehaviourSingleton <StageObjectManager> .IsValid())
            {
                CutSceneData.EnemyData enemyData = cutSceneData.enemyData;
                EnemyInfo enemyInfo = new EnemyInfo();
                Debug.Log((object)enemyData.startPos.y);
                Enemy boss = MonoBehaviourSingleton <StageObjectManager> .I.boss;
                enemyInfo.obj                = boss.get_gameObject();
                enemyInfo.animator           = boss.animator;
                enemyInfo.originalController = boss.animator.get_runtimeAnimatorController();
                enemyInfo.keyData            = enemyData;
                this.enemyInfo               = enemyInfo;
                if (boss.controller != null)
                {
                    boss.controller.set_enabled(false);
                    if (boss._rigidbody != null)
                    {
                        boss._rigidbody.set_constraints(126);
                    }
                }
                boss.ActIdle(false, -1f);
                boss.animator.set_cullingMode(0);
                boss.animator.set_runtimeAnimatorController(enemyData.controller);
                boss.animator.Rebind();
                boss._transform.set_position(enemyData.startPos);
                boss._transform.set_rotation(Quaternion.AngleAxis(enemyData.startAngleY, Vector3.get_up()));
                boss.animator.Play(CUT_STATE_HASH[cutNo]);
            }
            for (int num3 = 0; num3 < actorInfo.Length; num3++)
            {
                if (actorInfo[num3] != null)
                {
                    actorInfo[num3].obj.SetActive(true);
                    bool flag = actorInfo[num3].animator.HasState(0, CUT_STATE_HASH[cutNo]);
                    if (flag)
                    {
                        actorInfo[num3].obj.SetActive(flag);
                        CutSceneData.ActorData keyData = actorInfo[num3].keyData;
                        Transform parentNode           = GetParentNode(keyData.attachmentType, keyData.nodeName);
                        if (parentNode != null)
                        {
                            actorInfo[num3].obj.get_transform().set_parent(parentNode);
                        }
                        actorInfo[num3].obj.get_transform().set_localPosition(keyData.position);
                        actorInfo[num3].obj.get_transform().set_localRotation(Quaternion.Euler(keyData.rotation));
                        SkinnedMeshRenderer[] componentsInChildren = actorInfo[num3].obj.GetComponentsInChildren <SkinnedMeshRenderer>();
                        for (int num4 = 0; num4 < componentsInChildren.Length; num4++)
                        {
                            componentsInChildren[num4].set_localBounds(new Bounds(Vector3.get_zero(), Vector3.get_one() * 10000f));
                        }
                        actorInfo[num3].animator.Play(CUT_STATE_HASH[cutNo]);
                    }
                }
            }
        }
    }