public static IConnection ReadConnection(Chunk connectionChunk, IEnvironment environment) { if (connectionChunk.Name == "Connection") { string sourceActor = connectionChunk.GetValue("SourceActor", string.Empty); string targetActor = connectionChunk.GetValue("TargetActor", string.Empty); string sourcePlug = connectionChunk.GetValue("SourcePlug", string.Empty); string targetPlug = connectionChunk.GetValue("TargetPlug", string.Empty); if (sourceActor != string.Empty && targetActor != string.Empty && sourcePlug != string.Empty && targetPlug != string.Empty) { IConnection newConnection = Utility.Connect(environment, sourceActor, sourcePlug, targetActor, targetPlug); if (newConnection == null) { // Error connection not possible. return(null); } else { environment.Add(newConnection); return(newConnection); } } } return(null); }
public static IConnection Connect(IEnvironment environment, string sourceActorName, string sourcePlugName, string targetActorName, string targetPlugName) { IActor sourceActor = environment[sourceActorName]; IActor targetActor = environment[targetActorName]; if (sourceActor != null && targetActor != null) { IOutputPlug[] outputPlugs = sourceActor.GetOutputPlugs(targetActor, null); IOutputPlug sourcePlug = null; foreach (IOutputPlug op in outputPlugs) { if (op.Name == sourcePlugName) { sourcePlug = op; break; } } if (sourcePlug != null) { IInputPlug[] inputPlugs = targetActor.GetInputPlugs(sourceActor, sourcePlug); foreach (IInputPlug ip in inputPlugs) { if (ip.Name == targetPlugName) { // Found everything. IConnection connection = sourcePlug.Connect(ip); if (connection != null) { environment.Add(connection); return(connection); } } } } } return(null); }
public static IConnection Connect( IEnvironment environment, string sourceActorName, string sourcePlugName, string targetActorName, string targetPlugName) { IActor sourceActor = environment[sourceActorName]; IActor targetActor = environment[targetActorName]; if (sourceActor != null && targetActor != null) { IOutputPlug[] outputPlugs = sourceActor.GetOutputPlugs(targetActor, null); IOutputPlug sourcePlug = null; foreach (IOutputPlug op in outputPlugs) { if (op.Name == sourcePlugName) { sourcePlug = op; break; } } if ( sourcePlug != null ) { IInputPlug[] inputPlugs = targetActor.GetInputPlugs(sourceActor, sourcePlug); foreach (IInputPlug ip in inputPlugs) { if (ip.Name == targetPlugName) { // Found everything. IConnection connection = sourcePlug.Connect(ip); if (connection != null) { environment.Add(connection); return connection; } } } } } return null; }
public virtual bool Initialize(IEnvironment environment) { if (environment != null) { bool success = environment.Add(this); if (success) { this.actorEnvironment = environment; return(true); } else { log.Warning("Actor name already in environment: {0}", this.Name); } } else { log.Warning("No environment to register this actor [{0}].", this.Name); } return(false); }
public static IConnection ReadConnection( Chunk connectionChunk,IEnvironment environment ) { if (connectionChunk.Name == "Connection") { string sourceActor = connectionChunk.GetValue("SourceActor", string.Empty); string targetActor = connectionChunk.GetValue("TargetActor", string.Empty); string sourcePlug = connectionChunk.GetValue("SourcePlug", string.Empty); string targetPlug = connectionChunk.GetValue("TargetPlug", string.Empty); if (sourceActor != string.Empty && targetActor != string.Empty && sourcePlug != string.Empty && targetPlug != string.Empty) { IConnection newConnection = Utility.Connect(environment, sourceActor, sourcePlug, targetActor, targetPlug); if (newConnection == null) { // Error connection not possible. return null; } else { environment.Add(newConnection); return newConnection; } } } return null; }