Exemple #1
0
        public void IterateEndTurn()
        {
            List <Faction> facList = FactionManager.GetFactionList();

            for (int i = 0; i < facList.Count; i++)
            {
                Faction fac = facList[i];

                for (int n = 0; n < fac.abilityInfo.abilityList.Count; n++)
                {
                    fac.abilityInfo.abilityList[n].currentCD.Iterate();
                }

                for (int n = 0; n < fac.allUnitList.Count; n++)
                {
                    Unit unit = fac.allUnitList[n];

                    for (int m = 0; m < unit.abilityList.Count; m++)
                    {
                        unit.abilityList[m].currentCD.Iterate();
                    }
                }
            }

            EffectTracker.IterateEffectDuration();
        }
Exemple #2
0
        public void IterateEffectDuration()
        {
            bool changed = false;

            for (int i = 0; i < effectList.Count; i++)
            {
                effectList[i].Iterate();
                if (effectList[i].Due())
                {
                    effectList.RemoveAt(i); i -= 1;
                    changed = true;
                }
            }
            if (changed)
            {
                if (effectList.Count > 0)
                {
                    UpdateActiveEffect();
                }
                else
                {
                    activeEffect = new Effect();
                    EffectTracker.Untrack(this);
                }
            }
        }
Exemple #3
0
        public void ApplyEffect(Effect eff)
        {
            if (eff.duration <= 0)
            {
                return;
            }

            eff.Init();
            effectList.Add(eff);
            UpdateActiveEffect();

            EffectTracker.Track(this);
        }
Exemple #4
0
 //called by EffectTracker
 public void IterateForcedVisibleDuration()
 {
     forcedVisibleDuration.Iterate();
     if (forcedVisibleDuration.Due())
     {
         SetVisible(FogOfWar.CheckTileVisibility(this));
         EffectTracker.UntrackVisible(this);
     }
     //~ forcedVisible.Iterate();
     //~ if(forcedVisible.duration<=0){
     //~ SetVisible(FogOfWar.CheckTileVisibility(this));
     //~ if(fogOfWarObj!=null) fogOfWarObj.SetActive(!visible);
     //~ //GameControl.onIterateTurnE -= IterateForcedVisible;
     //~ }
 }
Exemple #5
0
        //public DurationCounter forcedVisible=new DurationCounter();
        public void ForceVisible(int dur = 1)
        {
            if (!GameControl.EnableFogOfWar())
            {
                return;
            }

            SetVisible(true);
            //if(fogOfWarObj!=null) fogOfWarObj.SetActive(!visible);

            if (forcedVisibleDuration.duration < dur)
            {
                forcedVisibleDuration.Set(dur);
                EffectTracker.TrackVisible(this);
            }

            //forcedVisible.Count(dur);
            //GameControl.onIterateTurnE += IterateForcedVisible;
        }
Exemple #6
0
 void Awake()
 {
     instance = this;
 }