public override void RemoveScriptEvent(LuaEngine.EEntLuaEventTypes ev)
 {
     if (ScriptEvents.ContainsKey(ev))
     {
         ScriptEvents.Remove(ev);
     }
 }
 public override void AddScriptEvent(LuaEngine.EEntLuaEventTypes ev)
 {
     if (!IsEventSupported(ev))
     {
         return;
     }
     ScriptEvents.Add(ev, new ScriptEvent(LuaEngine.MakeLuaEntityCallbackName(EntName, ev)));
 }
Exemple #3
0
 public override void AddScriptEvent(LuaEngine.EEntLuaEventTypes ev)
 {
     DiagManager.Instance.LogInfo(String.Format("GroundObject.AddScriptEvent({0}): Added script event to {1}!", ev.ToString(), EntName));
     if (!IsEventSupported(ev))
     {
         return;
     }
     ScriptEvents.Add(ev, new ScriptEvent(LuaEngine.MakeLuaEntityCallbackName(EntName, ev)));
 }
Exemple #4
0
        public override void RemoveScriptEvent(LuaEngine.EEntLuaEventTypes ev)
        {
            DiagManager.Instance.LogInfo(String.Format("GroundObject.RemoveScriptEvent({0}): Removed script event from {1}!", ev.ToString(), EntName));

            if (ScriptEvents.ContainsKey(ev))
            {
                ScriptEvents.Remove(ev);
            }
        }
 public override IEnumerator <YieldInstruction> RunEvent(LuaEngine.EEntLuaEventTypes ev, params object[] parameters)
 {
     if (ScriptEvents.ContainsKey(ev))
     {
         //Since ScriptEvent.Apply takes a single variadic table, we have to concatenate our current variadic argument table
         // with the extra parameter we want to pass. Otherwise "parameters" will be passed as a table instead of its
         // individual elements, and things will crash left and right.
         List <object> partopass = new List <object>();
         partopass.Add(this);
         partopass.AddRange(parameters);
         yield return(CoroutineManager.Instance.StartCoroutine(ScriptEvents[ev].Apply(partopass.ToArray())));
     }
     else
     {
         yield break;
     }
 }
 /// <summary>
 /// Run a lua event by type
 /// </summary>
 /// <param name="ev"></param>
 public virtual IEnumerator <YieldInstruction> RunEvent(LuaEngine.EEntLuaEventTypes ev)
 {
     //Default does nothing
     yield return(CoroutineManager.Instance.StartCoroutine(RunEvent(ev, this)));
 }
 public override bool IsEventSupported(LuaEngine.EEntLuaEventTypes ev)
 {
     return(ev == LuaEngine.EEntLuaEventTypes.Action ||
            ev == LuaEngine.EEntLuaEventTypes.Think);
 }
 /// <summary>
 /// Method to be implemented by child classes that make use of script events.
 /// This will remove the default lua callback specified from the entity if possible.
 /// If its incompatible, or if the callback is not present nothing will happen.
 /// </summary>
 /// <param name="ev"></param>
 public virtual void RemoveScriptEvent(LuaEngine.EEntLuaEventTypes ev)
 {
     //Default does nothing
 }
Exemple #9
0
 public override bool IsEventSupported(LuaEngine.EEntLuaEventTypes ev)
 {
     return(ev != LuaEngine.EEntLuaEventTypes.Invalid && ev != LuaEngine.EEntLuaEventTypes.Think);
 }
 /// <summary>
 /// Returns the event with the same name as the string eventname.
 /// Or return null if the event can't be found.
 /// </summary>
 /// <param name="eventname"></param>
 /// <returns></returns>
 public virtual bool HasScriptEvent(LuaEngine.EEntLuaEventTypes ev)
 {
     return(false);
 }
 public override bool IsEventSupported(LuaEngine.EEntLuaEventTypes ev)
 {
     return(ev == LuaEngine.EEntLuaEventTypes.EntSpawned);
 }
Exemple #12
0
 public override bool HasScriptEvent(LuaEngine.EEntLuaEventTypes ev)
 {
     return(ScriptEvents.ContainsKey(ev));
 }
 public SpawnScriptItem(LuaEngine.EEntLuaEventTypes eventType, GroundSpawner ent)
 {
     EventType = eventType;
     baseEnt   = ent;
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="ev"></param>
 /// <param name="parameters"></param>
 /// <returns></returns>
 public virtual IEnumerator <YieldInstruction> RunEvent(LuaEngine.EEntLuaEventTypes ev, params object[] parameters)
 {
     //Default does nothing
     yield break;
 }
 public bool HasSpawnScriptEvent(LuaEngine.EEntLuaEventTypes ev)
 {
     return(EntityCallbacks.Contains(ev));
 }
 /// <summary>
 /// Add a script event to be assigned to the spawned entity.
 /// </summary>
 /// <param name="ev"></param>
 public virtual void AddSpawnedEntScriptEvent(LuaEngine.EEntLuaEventTypes ev)
 {
     EntityCallbacks.Add(ev);
 }
 /// <summary>
 /// Removes a script event from the list of events to be assigned to the spawned entity
 /// </summary>
 /// <param name="ev"></param>
 public virtual void RemoveSpawnedEntScriptEvent(LuaEngine.EEntLuaEventTypes ev)
 {
     EntityCallbacks.Remove(ev);
 }
 /// <summary>
 /// Used to check if an entity supports a lua event of the given kind.
 /// </summary>
 /// <param name="ev"></param>
 /// <returns></returns>
 public virtual bool IsEventSupported(LuaEngine.EEntLuaEventTypes ev)
 {
     return(false);
 }
 public EntScriptItem(LuaEngine.EEntLuaEventTypes eventType, GroundEntity ent)
 {
     EventType = eventType;
     baseEnt   = ent;
 }