Exemplo n.º 1
0
        private mg_jr_Level LoadLevelAfterExisting(mg_jr_LevelDefinition _pattern)
        {
            _pattern.UseDeffinition();
            GameObject  gameObject   = new GameObject(string.Concat("mg_jr_Level_", _pattern.EnvironmentType, "_", _pattern.Difficulty));
            mg_jr_Level mg_jr_Level2 = gameObject.AddComponent <mg_jr_Level>();

            mg_jr_Level2.LevelDefinition = _pattern;
            EnvironmentVariant variant = m_environmentManager.CurrentEnvironment.Variant;

            foreach (mg_jr_LevelDefinition.ObjectSpawnDefinition objectSpawnDefinition in _pattern.ObjectSpawnDefinitions)
            {
                GameObject pooledResource = m_resources.GetPooledResource(objectSpawnDefinition.XmlResourceName, variant);
                pooledResource.transform.parent   = gameObject.transform;
                pooledResource.transform.position = objectSpawnDefinition.PositionInLevel;
                pooledResource.name = pooledResource.name + "_" + objectSpawnDefinition.Name;
            }
            Vector3 position;

            if (m_activeLevels.Count == 0)
            {
                float num = _pattern.Size.y * 0.5f - Camera.main.orthographicSize;
                position = new Vector3(Camera.main.RightEdgeInWorld(), Camera.main.TopEdgeInWorld() + num, 0f);
            }
            else
            {
                mg_jr_Level value = m_activeLevels.Last.Value;
                position = value.TopRightCornerInWorld();
            }
            gameObject.transform.position = position;
            gameObject.transform.parent   = base.transform;
            m_activeLevels.AddLast(mg_jr_Level2);
            return(mg_jr_Level2);
        }
Exemplo n.º 2
0
        private void Awake()
        {
            mg_JetpackReboot active    = MinigameManager.GetActive <mg_JetpackReboot>();
            mg_jr_Resources  resources = active.Resources;
            Vector3          position  = new Vector3(-16f, active.VisibleWorldBounds.max.y, 0f);

            base.transform.position = position;
            m_highestLinePosition   = active.VisibleWorldBounds.max.y;
            m_lowestLinePosition    = active.VisibleWorldBounds.min.y;
            float num = m_highestLinePosition - m_lowestLinePosition;

            m_lineSpacing = num / (float)(m_maxLineFX - 2);
            for (int i = 0; i < m_maxLineFX; i++)
            {
                GameObject pooledResource = resources.GetPooledResource(mg_jr_ResourceList.GAME_PREFAB_EFFECT_SPEEDLINE);
                Animator   component      = pooledResource.GetComponent <Animator>();
                Assert.NotNull(component, "SpeedLine needs an animator");
                pooledResource.transform.position = new Vector3(base.transform.position.x, m_highestLinePosition - (float)i * m_lineSpacing, 0f);
                pooledResource.transform.parent   = base.transform;
                SpriteRenderer component2 = pooledResource.GetComponent <SpriteRenderer>();
                component2.sortingOrder = mg_jr_SpriteDrawingLayers.Instance.SpriteOrder(mg_jr_SpriteDrawingLayers.DrawingLayers.FX_OVERLAY_0);
                m_speedLines.Add(component);
            }
            m_speedLines = m_speedLines.OrderBy((Animator item) => Random.Range(0, m_speedLines.Count)).ToList();
        }
Exemplo n.º 3
0
        public virtual void Explode()
        {
            mg_JetpackReboot active         = MinigameManager.GetActive <mg_JetpackReboot>();
            mg_jr_Resources  resources      = active.Resources;
            GameObject       pooledResource = resources.GetPooledResource(mg_jr_ResourceList.GAME_PREFAB_EFFECT_OBSTACLE_EXPLOSION);
            Bounds           bounds         = WidestBounds();

            if (bounds.size.x < 1.5f)
            {
                pooledResource.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f);
            }
            SpriteRenderer component = pooledResource.GetComponent <SpriteRenderer>();

            Assert.NotNull(component, "Explosion effect must have a spriterenderer");
            component.sortingOrder = mg_jr_SpriteDrawingLayers.Instance.SpriteOrder(mg_jr_SpriteDrawingLayers.DrawingLayers.OBSTACLE_0);
            Vector3 center = component.bounds.center;
            Vector3 vector = pooledResource.transform.position - center;

            pooledResource.transform.position = bounds.center + vector;
            pooledResource.transform.parent   = active.GameLogic.transform;
            if (Random.value >= 0.5f)
            {
                active.PlaySFX(mg_jr_Sound.OBSTACLE_EXPLODE_01.ClipName());
            }
            else
            {
                active.PlaySFX(mg_jr_Sound.OBSTACLE_EXPLODE_02.ClipName());
            }
            resources.ReturnPooledResource(base.gameObject);
        }