protected override object RunBlock() { BloxContainer bloxContainer = (base.paramBlocks[1] == null) ? base.owningEvent.container : BloxUtil.GetComponent <BloxContainer>(base.paramBlocks[1].Run()); if ((UnityEngine.Object)bloxContainer == (UnityEngine.Object)null) { base.LogError("Could not find a Blox Container component on the target GameObject", null); return(null); } string text = (string)base.paramBlocks[0].Run(); if (string.IsNullOrEmpty(text)) { base.LogError("The target Event name is invalid", null); return(null); } float afterSeconds = (float)((base.paramBlocks[2] == null) ? 0.0 : ((float)base.paramBlocks[2].Run())); if (base.paramBlocks.Length > 3) { BloxEventArg[] array = new BloxEventArg[base.paramBlocks.Length - 3]; for (int i = 3; i < base.paramBlocks.Length; i++) { BloxBlock obj = base.paramBlocks[i]; object val = (obj != null) ? obj.Run() : null; array[i - 3] = new BloxEventArg("param" + (i - 3).ToString(), val); } bloxContainer.TriggerEvent(text, afterSeconds, array); } else { bloxContainer.TriggerEvent(text, afterSeconds); } return(null); }