Пример #1
0
 protected override void OnDestroy()
 {
     ClearBlinkShadow();
     m_CurrentlyBlinking = false;
     if (m_scarf)
     {
         Destroy(m_scarf.gameObject);
         m_scarf = null;
     }
     if (m_pickedUp && m_owner && ActiveFlagItems != null && ActiveFlagItems.ContainsKey(m_owner) && ActiveFlagItems[m_owner].ContainsKey(GetType()))
     {
         ActiveFlagItems[m_owner][GetType()] = Mathf.Max(0, ActiveFlagItems[m_owner][GetType()] - 1);
         if (ActiveFlagItems[m_owner][GetType()] == 0)
         {
             ActiveFlagItems[m_owner].Remove(GetType());
         }
     }
     if (m_owner != null)
     {
         PlayerController owner = m_owner;
         if (afterimage)
         {
             Destroy(afterimage);
         }
         afterimage = null;
     }
     base.OnDestroy();
 }
Пример #2
0
        public override DebrisObject Drop(PlayerController player)
        {
            DebrisObject debrisObject = base.Drop(player);

            ClearBlinkShadow();
            m_CurrentlyBlinking   = false;
            m_cachedBlinkPosition = player.transform.position;
            if (ActiveFlagItems[player].ContainsKey(GetType()))
            {
                ActiveFlagItems[player][GetType()] = Mathf.Max(0, ActiveFlagItems[player][GetType()] - 1);
                if (ActiveFlagItems[player][GetType()] == 0)
                {
                    ActiveFlagItems[player].Remove(GetType());
                }
            }
            if (m_scarf)
            {
                Destroy(m_scarf.gameObject);
                m_scarf = null;
            }
            if (afterimage)
            {
                Destroy(afterimage);
            }
            afterimage = null;
            debrisObject.GetComponent <ExpandRedScarf>().m_pickedUpThisRun = true;
            return(debrisObject);
        }
Пример #3
0
 public override void Pickup(PlayerController player)
 {
     if (m_pickedUp)
     {
         return;
     }
     m_CurrentlyBlinking   = false;
     m_cachedBlinkPosition = player.transform.position;
     // if (player.IsDodgeRolling) { player.ForceStopDodgeRoll(); }
     if (ScarfPrefab)
     {
         m_scarf = Instantiate(ScarfPrefab.gameObject).GetComponent <ScarfAttachmentDoer>();
         m_scarf.Initialize(player);
     }
     if (!ActiveFlagItems.ContainsKey(player))
     {
         ActiveFlagItems.Add(player, new Dictionary <Type, int>());
     }
     if (!ActiveFlagItems[player].ContainsKey(GetType()))
     {
         ActiveFlagItems[player].Add(GetType(), 1);
     }
     else
     {
         ActiveFlagItems[player][GetType()] = ActiveFlagItems[player][GetType()] + 1;
     }
     afterimage = player.gameObject.AddComponent <AfterImageTrailController>();
     afterimage.spawnShadows        = false;
     afterimage.shadowTimeDelay     = 0.05f;
     afterimage.shadowLifetime      = 0.3f;
     afterimage.minTranslation      = 0.05f;
     afterimage.dashColor           = Color.black;
     afterimage.maxEmission         = 0f;
     afterimage.minEmission         = 0f;
     afterimage.OverrideImageShader = ShaderCache.Acquire("Brave/Internal/DownwellAfterImage");
     base.Pickup(player);
 }