Exemplo n.º 1
0
        private async Task DoInitialization()
        {
            await _messageEndPoint.RegisterAsync(new DefaultHandlerFactory <CommandMessageBroker>());

            await _messageEndPoint.RegisterAsync <RegisterCommandForwarding>(new DefaultHandlerFactory <CommandMessageBroker>());

            await _messageEndPoint.RegisterAsync <UnregisterCommandForwarding>(new DefaultHandlerFactory <CommandMessageBroker>());

            await _messageEndPoint.RegisterAsync(new DefaultHandlerFactory <QueryMessageBroker>());

            await _messageEndPoint.RegisterAsync <RegisterQueryForwarding>(new DefaultHandlerFactory <QueryMessageBroker>());

            await _messageEndPoint.RegisterAsync <UnregisterQueryForwarding>(new DefaultHandlerFactory <QueryMessageBroker>());

            await _messageEndPoint.RegisterAsync <RegisterEventForwarding>(new DefaultHandlerFactory <EventMessageBroker>());

            await _messageEndPoint.RegisterAsync <UnregisterEventForwarding>(new DefaultHandlerFactory <EventMessageBroker>());

            await _messageEndPoint.RegisterAsync <DispatchEvent>(new DefaultHandlerFactory <EventMessageBroker>());

            await _messageEndPoint.Initialization;

            var setupMessage = new SetupModule();

            await _messageEndPoint.SendAsync(setupMessage);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Draw the details of the selected module (below the list)
        /// </summary>
        /// <param name="rItem"></param>
        /// <returns></returns>
        private bool DrawModuleDetailItem(SetupModule rItem)
        {
            bool lIsDirty = false;

            if (rItem == null)
            {
                EditorGUILayout.LabelField("NULL");
                return(false);
            }

            Type lType = rItem.GetType();

            EditorGUI.BeginDisabledGroup(lType == typeof(UndefinedSetupModule));
            if (rItem.Name.Length > 0)
            {
                EditorHelper.DrawSmallTitle(rItem.Name.Length > 0 ? rItem.Name : "Module");
            }
            else
            {
                string lName = ModuleNameAttribute.GetName(rItem.GetType());
                EditorHelper.DrawSmallTitle(lName.Length > 0 ? lName : "Module");
            }

            string lDescription = ModuleDescriptionAttribute.GetDescription(rItem.GetType());

            if (lDescription.Length > 0)
            {
                EditorHelper.DrawInspectorDescription(lDescription, MessageType.None);
            }

            // Draw the Inspector for the individual module
            bool lModuleDirty = rItem.OnInspectorGUI(mTarget);

            if (lModuleDirty)
            {
                lIsDirty = true;
            }

            EditorGUI.EndDisabledGroup();

            if (lIsDirty)
            {
                UpdateModuleDefinition(mModuleList.index, rItem);
            }

            return(lIsDirty);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Update the serialized module definition
 /// </summary>
 /// <param name="rIndex"></param>
 /// <param name="rModule"></param>
 private void UpdateModuleDefinition(int rIndex, SetupModule rModule)
 {
     if (!IsValidIndex(rIndex))
     {
         return;
     }
     try
     {
         var lSerialized = rModule.Serialize();
         //Debug.Log("Updating Module Definition: " + lSerialized);
         mTarget._ModuleDefinitions[rIndex] = lSerialized;
     }
     catch (IndexOutOfRangeException ex)
     {
         Debug.LogError("Invalid index for mTarget._ModuleDefinitions: " + rIndex);
         Debug.LogException(ex);
     }
 }
Exemplo n.º 4
0
 protected override void linkPartnerModules()
 {
     base.linkPartnerModules();
     setupModule = gameObject.GetComponent <SetupModule>();
 }