Esempio n. 1
0
        internal void OnSerializing()
        {
            List <SaveLoadEffect> list = new List <SaveLoadEffect>();

            foreach (EffectInstance effect in effects)
            {
                if (effect.shouldSave)
                {
                    SaveLoadEffect saveLoadEffect = default(SaveLoadEffect);
                    saveLoadEffect.id            = effect.effect.Id;
                    saveLoadEffect.timeRemaining = effect.timeRemaining;
                    SaveLoadEffect item = saveLoadEffect;
                    list.Add(item);
                }
            }
            saveLoadEffects = list.ToArray();
        }
Esempio n. 2
0
 protected override void OnSpawn()
 {
     if (saveLoadEffects != null)
     {
         SaveLoadEffect[] array = saveLoadEffects;
         for (int i = 0; i < array.Length; i++)
         {
             SaveLoadEffect saveLoadEffect = array[i];
             if (Db.Get().effects.Exists(saveLoadEffect.id))
             {
                 Effect         effect         = Db.Get().effects.Get(saveLoadEffect.id);
                 EffectInstance effectInstance = Add(effect, true);
                 if (effectInstance != null)
                 {
                     effectInstance.timeRemaining = saveLoadEffect.timeRemaining;
                 }
             }
         }
     }
     if (effectsThatExpire.Count > 0)
     {
         SimAndRenderScheduler.instance.Add(this, simRenderLoadBalance);
     }
 }