Exemplo n.º 1
0
        public void Update(TimeObject timeObject)
        {
            ScreenEffects.Update(timeObject);
            SpriteTrail.Update(timeObject);
            ParticleManager.Update(timeObject);
            _world.Update(timeObject);
            JamUtilities.Camera.DoCameraMovement(timeObject);

            List <Tribe> templist = new List <Tribe>();

            foreach (var t in _tribeList)
            {
                t.Update(timeObject);
                if (!t.IsDead())
                {
                    templist.Add(t);
                }
                else
                {
                    if (t.Equals(_tribeList[0]))
                    {
                        _playerTribeDead = true;
                    }
                }
            }
            _tribeList = templist;
        }
Exemplo n.º 2
0
 public static GameObject GetFreeElement()
 {
     if (m_FreeElements.Count > 0)
     {
         return(m_FreeElements.Pop());
     }
     return(GameObject.Instantiate(SpriteTrail.GetTrailElementPrefab()));
 }
Exemplo n.º 3
0
    public void Initialise(SpriteTrail trail)
    {
        m_NeedDequeue       = false;
        m_TrailPos          = -1;
        m_NeedLateUpdate    = false;
        m_TimeSinceCreation = 0;
        m_MotherTrail       = trail;
        this.gameObject.SetActive(true);
        m_TrailSettings = trail.m_CurrentTrailPreset;
        m_SpRenderer    = GetComponent <SpriteRenderer>();
        if (m_TrailSettings.m_SpecialMat != null)
        {
            m_SpRenderer.material = m_TrailSettings.m_SpecialMat;
        }
        else
        {
            m_SpRenderer.material = trail.m_SpriteToDuplicate.material;
        }
        m_SpRenderer.color            = trail.m_SpriteToDuplicate.color;
        m_SpRenderer.sortingLayerName = trail.m_LayerName;
        m_SpRenderer.sortingOrder     = trail.m_TrailOrderInLayer;
        m_SpRenderer.sprite           = trail.m_SpriteToDuplicate.sprite;
        m_SpRenderer.flipX            = trail.m_SpriteToDuplicate.flipX;
        m_SpRenderer.flipY            = trail.m_SpriteToDuplicate.flipY;
        m_InitSize = m_Transform.localScale;
        m_InitPos  = m_Transform.localPosition;
        m_Init     = true;
        trail.m_ElementsInTrail.Enqueue(this);
        ApplyFrameEffect();


        if (m_TrailSettings.m_TrailElementDurationCondition == TrailElementDurationCondition.ElementCount)
        {
            if (m_TrailSettings.m_TrailMaxLength > 0)
            {
                while (trail.m_ElementsInTrail.Count > m_TrailSettings.m_TrailMaxLength)
                {
                    trail.m_ElementsInTrail.Dequeue().Hide();
                }
            }
            else
            {
                while (trail.m_ElementsInTrail.Count > 0)
                {
                    trail.m_ElementsInTrail.Dequeue().Hide();
                }
            }


            int _cnt = 0;
            foreach (TrailElement _elem in trail.m_ElementsInTrail)
            {
                _elem.m_TrailPos       = trail.m_ElementsInTrail.Count - _cnt;
                _elem.m_NeedLateUpdate = true;
                _cnt++;
            }
        }
    }
Exemplo n.º 4
0
 public override void _Ready()
 {
     Global.Drop = this;
     PauseMode   = PauseModeEnum.Stop;
     GetParent().Connect("TeleportStarted", this, nameof(OnTeleportStarted));
     GetParent().Connect("TeleportFinished", this, nameof(OnTeleportFinished));
     _originalScale  = new Vector2(Scale);
     _spriteTrail    = FindNode("SpriteTrail") as SpriteTrail;
     CurrentModulate = BasicModulate;
 }
Exemplo n.º 5
0
    // Called when the node enters the scene tree for the first time.
    public override void _Ready()
    {
        _rand.Randomize();
        _obstacle = GetParent <Obstacle>();
        _velocity = new Vector2(_rand.RandfRange(-1f, 2f), _rand.RandfRange(-5f, -6f));

        if (_velocity.x < 0)
        {
            _accel = new Vector2(_accel.x * -1, _accel.y);
        }

        if (_obstacle.Position.y <= 0)
        {
            _accel    = new Vector2(_accel.x, _accel.y * -1);
            _velocity = new Vector2(_velocity.x, _velocity.y * -1);
        }

        SpriteTrail st = new SpriteTrail();

        _obstacle.AddChild(st);
    }
    public override void OnInspectorGUI()
    {
        serializedObject.Update();
        SpriteTrail TrailSettingsScript = target as SpriteTrail;

        EditorGUILayout.PropertyField(m_TrailName);
        GUILayout.Space(15);

        EditorGUILayout.PropertyField(m_CurrentTrailPreset);
        if (TrailSettingsScript.m_CurrentTrailPreset == null)
        {
            EditorGUILayout.HelpBox("You need to assign a preset (Current trail preset).\n You can create one, or use one of the preset In the folder : \nSpriteTrail/PREFAB/TRAIL_PRESETS", MessageType.Warning, true);
            GUILayout.Space(15);
        }

        EditorGUILayout.PropertyField(m_HideTrailOnDisabled);
        //GUILayout.Space(15);
        EditorGUILayout.PropertyField(m_TrailActivationCondition);
        switch (TrailSettingsScript.m_TrailActivationCondition)
        {
        case TrailActivationCondition.AlwaysEnabled:
            break;

        case TrailActivationCondition.Manual:
            break;

        case TrailActivationCondition.VelocityMagnitude:
            EditorGUILayout.PropertyField(m_VelocityNeededToStart);
            EditorGUILayout.PropertyField(m_StartIfUnderVelocity);
            EditorGUILayout.PropertyField(m_VelocityStartIsLocalSpace);
            GUILayout.Space(15);
            break;
        }


        EditorGUILayout.PropertyField(m_TrailDisactivationCondition);
        switch (TrailSettingsScript.m_TrailDisactivationCondition)
        {
        case TrailDisactivationCondition.Manual:
            break;

        case TrailDisactivationCondition.Time:
            EditorGUILayout.PropertyField(m_TrailActivationDuration);
            GUILayout.Space(15);
            break;

        case TrailDisactivationCondition.VelocityMagnitude:
            EditorGUILayout.PropertyField(m_VelocityNeededToStop);
            EditorGUILayout.PropertyField(m_StopIfOverVelocity);
            EditorGUILayout.PropertyField(m_VelocityStopIsLocalSpace);
            GUILayout.Space(15);
            break;
        }



        EditorGUILayout.PropertyField(m_TrailParent);
        EditorGUILayout.PropertyField(m_SpriteToDuplicate);
        EditorGUILayout.PropertyField(m_LayerName);
        EditorGUILayout.PropertyField(m_ZMoveStep);
        EditorGUILayout.PropertyField(m_ZMoveMax);
        EditorGUILayout.PropertyField(m_TrailOrderInLayer);

        serializedObject.ApplyModifiedProperties();
    }