コード例 #1
0
 public void Update()
 {
     if (CanAwaken)
     {
         Vector2 vector  = specRigidbody.PixelColliders[0].UnitBottomLeft;
         Vector2 vector2 = vector;
         if (!m_failedWallConfigure)
         {
             vector = specRigidbody.PixelColliders[2].UnitBottomLeft;
         }
         if (m_facingDirection == DungeonData.Direction.SOUTH)
         {
             vector  += new Vector2(0f, -1.5f);
             vector2 += new Vector2(2f, 0f);
         }
         else if (m_facingDirection == DungeonData.Direction.NORTH)
         {
             vector  += new Vector2(0f, 1f);
             vector2 += new Vector2(2f, 3f);
         }
         else if (m_facingDirection == DungeonData.Direction.WEST)
         {
             vector  += new Vector2(-1.5f, 0f);
             vector2 += new Vector2(0f, 2f);
         }
         else if (m_facingDirection == DungeonData.Direction.EAST)
         {
             vector  += new Vector2(1f, 0f);
             vector2 += new Vector2(2.5f, 2f);
         }
         bool flag = false;
         foreach (PlayerController playerController in GameManager.Instance.AllPlayers)
         {
             if (playerController.CanDetectHiddenEnemies)
             {
                 flag = true;
                 if (!m_playerTrueSight)
                 {
                     m_playerTrueSight = true; aiActor.ToggleRenderers(true);
                 }
             }
             if (playerController && playerController.healthHaver.IsAlive && !playerController.IsGhost)
             {
                 Vector2 unitCenter = playerController.specRigidbody.GetUnitCenter(ColliderType.Ground);
                 if (unitCenter.IsWithin(vector, vector2))
                 {
                     if (m_goopDoer)
                     {
                         Vector2 vector3 = specRigidbody.PixelColliders[2].UnitCenter;
                         if (m_facingDirection == DungeonData.Direction.NORTH)
                         {
                             vector3 += Vector2.up;
                         }
                         DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(m_goopDoer.goopDefinition);
                         goopManagerForGoopType.TimedAddGoopArc(vector3, 3f, 90f, DungeonData.GetIntVector2FromDirection(m_facingDirection).ToVector2(), 0.2f, null);
                     }
                     StartCoroutine(BecomeMimic());
                 }
             }
         }
         if (!flag && m_playerTrueSight)
         {
             m_playerTrueSight = false; aiActor.ToggleRenderers(false);
         }
     }
 }