//public BehaviorExecution behaviorExecution; public CallGlobalActivityExecution(CallGlobalActivityAction paction, InstanceSpecification host, Dictionary<string, ValueSpecification> p) : base(paction, host, p, false) { this.action = paction; System.Console.WriteLine("CallProcedureAction : " + action.Procedure); //behaviorExecution=action.Operation.Method.createBehaviorExecution(this.Host, p,false); }
void CallGlobalActivityBehaviourExecution(ActionNode action) { MascaretApplication.Instance.VRComponentFactory.Log(Host.name + "+++++++++++++++++++++++++++########################################### CallGlobalActivityBehaviourExecution " + action.name); string orgEntity = null; List<OrganisationalStructure> structs = VRApplication.Instance.AgentPlateform.Structures; foreach (OrganisationalStructure s in structs) { List<Procedure> procs = s.Procedures; foreach (Procedure p in procs) { if (p.name == action.Action.name) { orgEntity = s.Entities[0].name; } } } List<Entity> entities = MascaretApplication.Instance.getEnvironment().getEntities(); Entity entity = entities[0]; Action action2 = null; /* action2 = new CallProcedureAction(); ((CallProcedureAction)(action2)).Procedure = procedure; ((CallProcedureAction)(action2)).OrganisationalEntity = orgEntity; BehaviorScheduler.Instance.executeBehavior(action2, entity, new Dictionary<string, ValueSpecification>(), false); */ action2 = new CallGlobalActivityAction(); ((CallGlobalActivityAction)(action2)).Procedure = action.Action.name; ((CallGlobalActivityAction)(action2)).OrganisationalEntity = orgEntity; BehaviorExecution be = BehaviorScheduler.Instance.executeBehavior(action2, entity, new Dictionary<string, ValueSpecification>(), false); behaviorToNode.Add(be, action); }