public static void Announce(EntityParent announcer, int buffID) { AddBuffConditionMessage addBuffConditionMessage = new AddBuffConditionMessage(); addBuffConditionMessage.type = AddBuffAnnouncer.type; addBuffConditionMessage.announcer = announcer; addBuffConditionMessage.buffID = buffID; EventDispatcher.Broadcast <ConditionMessage>(ConditionManagerEvent.CheckCondition, addBuffConditionMessage); }
protected bool CheckAddBuffCondition(Condition conditionData, ConditionMessage message) { if (!(message is AddBuffConditionMessage)) { return(false); } AddBuffConditionMessage addBuffConditionMessage = message as AddBuffConditionMessage; if (!this.CheckConditionExtraInspection(conditionData, null, addBuffConditionMessage.announcer)) { return(false); } Buff buff = DataReader <Buff> .Get(addBuffConditionMessage.buffID); return(buff != null && (conditionData.buffId.Contains(addBuffConditionMessage.buffID) || conditionData.buffType.Contains(buff.type))); }