コード例 #1
0
 public override void OnEnable()
 {
     base.OnEnable();
     Sents.Clear();
     ChangeRelationShipCD.Clear();
     Provocative.Clear();
 }
コード例 #2
0
        public override void OnGameLogicTurn()
        {
            base.OnGameLogicTurn();

            //调整关系
            foreach (var item in ChangeRelationShipCD)
            {
                item.Value.Update();
            }

            //挑衅
            List <TUnit> clearProvocative = new List <TUnit>();

            foreach (var item in Provocative)
            {
                item.Value.Update();
                if (item.Value.IsOver())
                {
                    clearProvocative.Add(item.Key);
                }
            }
            foreach (var item in clearProvocative)
            {
                Provocative.Remove(item);
            }
            Sents.Clear();
            CalcNeighbor();
        }
コード例 #3
0
        protected Dictionary <long, CD> GetProvocativeDB()
        {
            Dictionary <long, CD> ret = new Dictionary <long, CD>();

            Provocative.ForEach((k, v) => ret.Add(k.ID, v));
            return(ret);
        }
コード例 #4
0
 protected void LoadProvocative(Dictionary <long, CD> db)
 {
     if (db == null)
     {
         return;
     }
     db.ForEach((k, v) => Provocative.Add(GetEntity <TUnit>(k), v));
 }
コード例 #5
0
 public void AddProvocative(TUnit other, int cd)
 {
     if (Provocative.ContainsKey(other))
     {
         Provocative[other].Reset(cd);
     }
     else
     {
         Provocative.Add(other, new CD(cd));
     }
 }
コード例 #6
0
 public bool IsInProvocater(TUnit unit)
 {
     return(Provocative.ContainsKey(unit));
 }
コード例 #7
0
 public void RemoveProvocative(TUnit other)
 {
     Provocative.Remove(other);
 }