public void Remove(int id, ConditionTableRecord c) { conditionCount.modifyValue(id, -1); if (conditionCount[id] > 0) { return; } conditionCount.Remove(id); List <ConditionTableRecord> Data; if (mDatas.TryGetValue(id, out Data)) { Data.Remove(c); } }
public void Push(int id, ConditionTableRecord c) { conditionCount.modifyValue(id, 1); if (conditionCount[id] > 1) { return; } List <ConditionTableRecord> Data; if (!mDatas.TryGetValue(id, out Data)) { Data = new List <ConditionTableRecord>(); mDatas.Add(id, Data); } Data.Add(c); }
public void RemoveCondition(ConditionTableRecord tbcon) { if (tbcon.Role != -1 && BitFlag.GetLow(tbcon.Role, PlayerDataManager.Instance.GetRoleId()) == false) { return; } for (var i = 0; i != tbcon.TrueFlag.Length; ++i) { var id = tbcon.TrueFlag[i]; if (id == -1) { continue; } FlagTrue.Remove(id, tbcon); } for (var i = 0; i != tbcon.FalseFlag.Length; ++i) { var id = tbcon.FalseFlag[i]; if (id == -1) { continue; } FlagFalse.Remove(id, tbcon); } for (var i = 0; i != tbcon.ExdataId.Length; ++i) { var id = tbcon.ExdataId[i]; if (id == -1) { continue; } Exdata.Remove(id, tbcon); } for (var i = 0; i != tbcon.ItemId.Length; ++i) { var id = tbcon.ItemId[i]; if (id == -1) { continue; } Item.Remove(id, tbcon); } }