Example #1
0
        public override void Execute()
        {
            NHapi.Base.NormativeDatabase.Instance.OpenNewConnection(ConnectionString);



            Console.WriteLine("Using Database:{0}", NHapi.Base.NormativeDatabase.Instance.Connection.ConnectionString);
            Console.WriteLine("Base Path:{0}", BasePath);


            switch (MessageTypeToBuild)
            {
            case MessageType.All:
                SourceGenerator.makeAll(BasePath, Version);
                break;

            case MessageType.EventMapping:
                SourceGenerator.MakeEventMapping(BasePath, Version);
                break;

            case MessageType.Segment:
                SegmentGenerator.makeAll(BasePath, Version);
                break;

            case MessageType.Message:
                MessageGenerator.makeAll(BasePath, Version);
                break;
            }
        }
Example #2
0
        public void Execute()
        {
            if (!string.IsNullOrEmpty(ConnectionString))
            {
                ConfigurationSettings.ConnectionString = ConnectionString;
            }

            Console.WriteLine("Using Database:{0}", NormativeDatabase.Instance.Connection.ConnectionString);
            Console.WriteLine("Base Path:{0}", BasePath);

            switch (MessageTypeToBuild)
            {
            case MessageType.All:
                SourceGenerator.MakeAll(BasePath, Version);
                break;

            case MessageType.EventMapping:
                SourceGenerator.MakeEventMapping(BasePath, Version);
                break;

            case MessageType.Segment:
                SegmentGenerator.MakeAll(BasePath, Version);
                break;

            case MessageType.Message:
                MessageGenerator.MakeAll(BasePath, Version);
                break;

            case MessageType.DataType:
                DataTypeGenerator.MakeAll(BasePath, Version);
                break;
            }
        }
Example #3
0
 /// <summary>
 /// ///////////////////////////////////////////////////////////////////////////////
 /// </summary>
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
 }
Example #4
0
    private IEnumerator MakeSegment(SegmentData d)
    {
        if (p.minSubdivisions - d.subdivision <= 0)
        {
            var mf = gameObject.AddComponent <MeshFilter>();
            mr = gameObject.AddComponent <MeshRenderer>();
            if (p.generateColliders)
            {
                mc = gameObject.AddComponent <MeshCollider>();
            }

            if (Application.isPlaying || p.editorSubdivisions - d.subdivision != 0)
            {
                mr.enabled = false;
                mr.enabled = false;
            }
            mr.receiveShadows = false;

            if (Application.isPlaying)
            {
                yield return(StartCoroutine(SegmentGenerator.Generate(d, mf, mc)));
            }
            else
            {
                IEnumerator e = SegmentGenerator.Generate(d, mf, mc);
                while (e.MoveNext())
                {
                    ;
                }
            }
            mr.sharedMaterial = p.mainMaterial;
        }
    }
Example #5
0
    private IEnumerator MakeSphere()
    {
        busy = true;
        if (planet.waterSphere != null && planet.waterHeight > 0f)
        {
            water               = Instantiate(planet.waterSphere);
            water.parent        = transform; water.localPosition = Vector3.zero;
            water.localRotation = Quaternion.identity; water.localScale = new Vector3(1f, 1f, 1f) * (planet.radius + planet.waterHeight) / 1000f;
            if (simpleView)
            {
                water.gameObject.hideFlags = HideFlags.HideInHierarchy;
            }
            water.GetComponent <Renderer>().material = planet.waterMaterial;
        }
        for (var i = 0; i < 6; i++)
        {
            var sd = new SegmentData();
            sd.planet     = planet;
            sd.topLeft    = PTHelpers.cubeSides[i][0]; sd.topRight = PTHelpers.cubeSides[i][1];
            sd.bottomLeft = PTHelpers.cubeSides[i][2]; sd.bottomRight = PTHelpers.cubeSides[i][3];
            sd.uvMin      = Vector2.zero; sd.uvMax = new Vector2(1f, 1f);

            if (!Application.isPlaying)
            {
                var    t     = SegmentGenerator.GenerateTexture(sd);
                byte[] bytes = t.EncodeToPNG();
                File.WriteAllBytes(Application.dataPath + "/../Planet" + i.ToString() + ".png", bytes);
                t.Apply();
                sd.texture = t;
                materials.heightTexture = t;
            }

            var go = new GameObject(); var tr = go.GetComponent <Transform>();
            tr.parent        = transform; tr.localPosition = Vector3.zero;
            tr.localRotation = Quaternion.identity; tr.localScale = new Vector3(1f, 1f, 1f);

            var seg = go.AddComponent <PlanetTerrainSegment>();
            segments.Add(seg);
            if (Application.isPlaying)
            {
                yield return(StartCoroutine(seg.Generate(sd)));
            }
            else
            {
                IEnumerator e = seg.Generate(sd);
                while (e.MoveNext())
                {
                    ;
                }
            }
            seg.Enable();
        }
        busy = false;
    }
Example #6
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else
     {
         Destroy(this);
     }
     segmentList = new List <Segment>();
 }
Example #7
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else
     {
         Destroy(this);
     }
     segmentList = new List <Segment>();
     lastUsed    = new Stack <string>();
 }
Example #8
0
        public void makeAll_SegmentsCreated_SegmentDefinitionGiven()
        {
            // Arrange
            var baseFolder = GetBaseFolder();
            var version    = GetVersion();

            ConfigurationSettings.XmlFilename = "Mocks\\reverse-nHapi.xml";
            var messageTargetFolder = GetTargetFolder("Message");
            var groupTargetFolder   = GetTargetFolder("Group");

            // Act
            SegmentGenerator.makeAll(baseFolder, version);

            // Assert
            // TODO
        }
Example #9
0
        public void makeAll_SegmentMSHCreated_SegmentDefinitionGiven()
        {
            // Arrange
            var baseFolder   = GetBaseFolder();
            var version      = GetVersion();
            var source       = new SegmentProviderMock();
            var targetFolder = GetTargetFolder("Segment");
            var segment      = new SegmentDefinitionContainerMock();

            segment.Description    = "Message Header";
            source.Segments["MSH"] = segment;
            int fieldCount = 1;

            AddField(segment.Elements, fieldCount++, "ST", "R", 1, 1, 0, "Field Separator");
            AddField(segment.Elements, fieldCount++, "ST", "R", 1, 4, 0, "Encoding Characters");
            AddField(segment.Elements, fieldCount++, "HD", "O", 1, 227, 0, "Sending Application");
            AddField(segment.Elements, fieldCount++, "HD", "O", 1, 227, 0, "Sending Facility");
            AddField(segment.Elements, fieldCount++, "HD", "O", 1, 227, 0, "Receiving Application");
            AddField(segment.Elements, fieldCount++, "HD", "O", 1, 227, 0, "Receiving Facility");
            AddField(segment.Elements, fieldCount++, "TS", "R", 1, 26, 0, "Date/Time Of Message");
            AddField(segment.Elements, fieldCount++, "ST", "O", 1, 40, 0, "Security");
            AddField(segment.Elements, fieldCount++, "MSG", "R", 1, 15, 0, "Message Type");
            AddField(segment.Elements, fieldCount++, "ST", "R", 1, 20, 0, "Message Control ID");
            AddField(segment.Elements, fieldCount++, "PT", "R", 1, 3, 0, "Processing ID");
            AddField(segment.Elements, fieldCount++, "VID", "R", 1, 60, 0, "Version ID");
            AddField(segment.Elements, fieldCount++, "NM", "O", 1, 15, 0, "Sequence Number");
            AddField(segment.Elements, fieldCount++, "ST", "O", 1, 180, 0, "Continuation Pointer");
            AddField(segment.Elements, fieldCount++, "ID", "O", 1, 2, 155, "Accept Acknowledgment Type");
            AddField(segment.Elements, fieldCount++, "ID", "O", 1, 2, 155, "Application Acknowledgment Type");
            AddField(segment.Elements, fieldCount++, "ID", "O", 1, 3, 399, "Country Code");
            AddField(segment.Elements, fieldCount++, "ID", "O", 0, 16, 211, "Character Set");
            AddField(segment.Elements, fieldCount++, "CE", "O", 1, 250, 0, "Principal Language Of Message");
            AddField(segment.Elements, fieldCount++, "ID", "O", 1, 20, 356, "Alternate Character Set Handling Scheme");
            AddField(segment.Elements, fieldCount++, "EI", "O", 0, 427, 0, "Message Profile Identifier");

            DataProviderFactory.Instance.SetProvider(source);

            // Act
            SegmentGenerator.makeAll(baseFolder, version);

            // Assert
            Assert.IsTrue(File.Exists($"{targetFolder}MSH.cs"));
        }
        public async Task MakeAll_GeneratesAllSegments(string version)
        {
            // Arrange
            var results = new ConcurrentDictionary <string, string>();

            FileAbstraction.UsingImplementation((filePath, bytes) =>
            {
                results.TryAdd(filePath, Encoding.UTF8.GetString(bytes));
            });

            ConfigurationSettings.ConnectionString = this.Configuration.GetConnectionString("Hl7Database");

            // Act
            SegmentGenerator.MakeAll("basepath", version);

            // Assert
            Assert.IsNotEmpty(results);

            await Verifier.Verify(results)
            .UseTextForParameters(version.Replace(".", string.Empty));
        }
Example #11
0
        /// <summary> Queries the normative database for a list of segments comprising
        /// the message structure.  The returned list may also contain strings
        /// that denote repetition and optionality.  Choice indicators (i.e. begin choice,
        /// next choice, end choice) for alternative segments are ignored, so that the class
        /// structure allows all choices.  The matter of enforcing that only a single choice is
        /// populated can't be handled by the class structure, and should be handled elsewhere.
        /// </summary>
        public SegmentDef[] GetSegments(string message, string version)
        {
            /*String sql = "select HL7Segments.seg_code, repetitional, optional, description " +
             * "from (HL7MsgStructIDSegments inner join HL7Segments on HL7MsgStructIDSegments.seg_code = HL7Segments.seg_code " +
             * "and HL7MsgStructIDSegments.version_id = HL7Segments.version_id) " +
             * "where HL7Segments.version_id = 6 and message_structure = '" + message + "' order by seq_no";*/
            String sql = getSegmentListQuery(message, version);

            //System.out.println(sql.toString());
            SegmentDef[]    segments = new SegmentDef[200];                   //presumably there won't be more than 200
            OleDbConnection conn     = NormativeDatabase.Instance.Connection;
            OleDbCommand    stmt     = SupportClass.TransactionManager.manager.CreateStatement(conn);
            OleDbCommand    temp_OleDbCommand;

            temp_OleDbCommand             = stmt;
            temp_OleDbCommand.CommandText = sql;
            OleDbDataReader rs = temp_OleDbCommand.ExecuteReader();
            int             c  = -1;

            while (rs.Read())
            {
                String name      = SegmentGenerator.altSegName(Convert.ToString(rs[1 - 1]));
                bool   repeating = rs.GetBoolean(2 - 1);
                bool   optional  = rs.GetBoolean(3 - 1);
                String desc      = Convert.ToString(rs[4 - 1]);
                String groupName = Convert.ToString(rs[6 - 1]);

                //ignore the "choice" directives ... the message class structure has to include all choices ...
                //  if this is enforced (i.e. exception thrown if >1 choice populated) this will have to be done separately.
                if (!(name.Equals("<") || name.Equals("|") || name.Equals(">")))
                {
                    c++;
                    segments[c] = new SegmentDef(name, groupName, !optional, repeating, desc);
                }
            }
            rs.Close();
            SegmentDef[] ret = new SegmentDef[c + 1];
            Array.Copy(segments, 0, ret, 0, c + 1);
            return(ret);
        }
Example #12
0
 public float GetHeight(Vector3 v)
 {
     return(SegmentGenerator.GetHeight(v, planet.radius, planet.displacementLayers));
 }
        protected override void Initialize()
        {
            // TODO: Add your initialization logic here
            var_Game = this;

            var_InputHandler = new InputHandler(this);
            var_SpriteBatch = new SpriteBatch(GraphicsDevice);

            var_GameCamera = new GameCamera(this);
            var_PlayerShip = new PlayerShip(this, Vector3.Zero, var_GameCamera);
            var_Director = new NewDirector(this, ChallengeLevel.Normal);
            var_SegmentGenerator = new SegmentGenerator(var_Game, ChallengeLevel.Normal, var_GameCamera, var_Director );
            var_Tunnel = new Tunnel(this);
            var_UI = new UI(this, var_SpriteBatch, var_PlayerShip.var_Health, var_PlayerShip.var_Bomb_Count);

            AssignSubscribers();

            base.Initialize();
        }