public void SetFlag(NodeFlag _this, int index, bool b = true, bool forceNotToClient = false) { if (b) { _this.mData.SetFlag(index); if (index == 30) { var bag = _this.mCharacter.mBag.GetBag((int)eBagType.Depot); bag.ForceAddItem(22000, 2, _this.mCharacter, eCreateItemType.HiddenRules); } } else { _this.mData.CleanFlag(index); } if (forceNotToClient) { _this.MarkDbDirty(); } else { _this.MarkDirty(); AddNetDirty(_this, index, b); } }
//初始化(按初始配置) public void InitByBase(NodeFlag _this, CharacterController character, DBCharacterLogic dbplayer) { _this.mCharacter = character; _this.mData = new BitFlag(NodeFlag.FlagCount, dbplayer.Flag); _this.MarkDirty(); }