Exemple #1
0
 private void SetFreezeValue(float value, Creep creep)
 {
     if (!FreezeValues.ContainsKey(creep))
     {
         FreezeValues.Add(creep, 0);
     }
     FreezeValues[creep] = value;
 }
Exemple #2
0
        public void CustomCreepUpdate(Creep creep, GameTime gameTime)
        {
            double freezeTime  = FreezeTimes[creep];
            float  freezeValue = FreezeValues[creep];

            if (freezeTime > 0)
            {
                if (creep.InitialSpeed * freezeValue < creep.Speed)
                {
                    creep.Speed = creep.InitialSpeed * freezeValue;
                }
                freezeTime        -= gameTime.ElapsedGameTime.TotalMilliseconds;
                FreezeTimes[creep] = (float)freezeTime;
                if (freezeTime <= 0)
                {
                    RestoreCreepSpeed(creep);
                    creep.CustomUpdate -= CustomCreepUpdate;
                    FreezeValues.Remove(creep);
                    FreezeTimes.Remove(creep);
                    FrozenCreeps.Remove(creep);
                }
            }
        }