private void setupData(DataRow r)
        {
            int    objectType = int.Parse(r["type"].ToString());
            String oType      = "";

            switch (objectType)
            {
            case 0:
                oType = "Mobs";
                break;

            case 3:
                oType = "Planets";
                break;

            case 11:
                oType = "Stargates";
                break;

            case 12:
                oType = "Starbases";
                break;

            case 37:
                oType = "Decorations";
                break;

            case 38:
                oType = "Harvestables";
                break;
            }

            dp = new StargateProps();

            //Base Props + Nav Point Props
            dp.SectorID         = int.Parse(r["sector_id"].ToString());
            dp.NavType          = r["nav_type"].ToString();
            dp.Signature        = float.Parse(r["signature"].ToString());
            dp.IsHuge           = (Boolean)r["is_huge"];
            dp.BaseXP           = int.Parse(r["base_xp"].ToString());
            dp.ExplorationRange = float.Parse(r["exploration_range"].ToString());

            dp.BaseAssetID = int.Parse(r["base_asset_id"].ToString());

            AdobeColors.HSL hslColor = new AdobeColors.HSL();
            hslColor.H = float.Parse(r["h"].ToString());
            hslColor.S = float.Parse(r["s"].ToString());
            hslColor.L = float.Parse(r["v"].ToString());
            Color newColor = AdobeColors.HSL_to_RGB(hslColor);

            dp.Color = newColor;

            dp.Type      = oType;
            dp.Scale     = float.Parse(r["scale"].ToString());;
            dp.PositionX = float.Parse(r["position_x"].ToString());
            dp.PositionY = float.Parse(r["position_y"].ToString());
            dp.PositionZ = float.Parse(r["position_z"].ToString());;

            double[] quat1 = new double[4];
            quat1[0] = double.Parse(r["orientation_z"].ToString());
            quat1[1] = double.Parse(r["orientation_u"].ToString());
            quat1[2] = double.Parse(r["orientation_v"].ToString());
            quat1[3] = double.Parse(r["orientation_w"].ToString());

            QuaternionCalc qc1 = new QuaternionCalc();

            double[] ang1 = qc1.QuatToAngle(quat1);
            if (ang1[0] == double.NaN)
            {
                ang1[0] = 0;
            }
            if (ang1[1] == double.NaN)
            {
                ang1[1] = 0;
            }
            if (ang1[2] == double.NaN)
            {
                ang1[2] = 0;
            }
            dp.Orientation_Yaw   = Math.Round(ang1[0], 0);
            dp.Orientation_Pitch = Math.Round(ang1[1], 0);
            dp.Orientation_Roll  = Math.Round(ang1[2], 0);

            dp.Name             = r["name"].ToString();
            dp.AppearsInRadar   = (Boolean)r["appears_in_radar"];
            dp.RadarRange       = float.Parse(r["radar_range"].ToString());
            dp.Destination      = int.Parse(r["gate_to"].ToString());
            dp.SoundEffect      = int.Parse(r["sound_effect_id"].ToString());
            dp.SoundEffectRange = float.Parse(r["sound_effect_range"].ToString());

            //Stargate Specific Props
            dp.IsClassSpecific = (Boolean)r["classSpecific"];

            //TODO: Get Faction Name from ID;
            String factionName = mainFrm.factions.findNameByID(int.Parse(r["faction_id"].ToString()));

            dp.FactionID = factionName;
        }
        private void setupData(DataRow r)
        {
            int    objectType = int.Parse(r["type"].ToString());
            String oType      = "";

            switch (objectType)
            {
            case 0:
                oType = "Mobs";
                break;

            case 3:
                oType = "Planets";
                break;

            case 11:
                oType = "Stargates";
                break;

            case 12:
                oType = "Starbases";
                break;

            case 37:
                oType = "Decorations";
                break;

            case 38:
                oType = "Harvestables";
                break;
            }

            dp = new PlanetProps();

            //Base Props
            dp.SectorID         = int.Parse(r["sector_id"].ToString());
            dp.NavType          = r["nav_type"].ToString();
            dp.Signature        = float.Parse(r["signature"].ToString());
            dp.IsHuge           = (Boolean)r["is_huge"];
            dp.BaseXP           = int.Parse(r["base_xp"].ToString());
            dp.ExplorationRange = float.Parse(r["exploration_range"].ToString());

            dp.BaseAssetID = int.Parse(r["base_asset_id"].ToString());

            AdobeColors.HSL hslColor = new AdobeColors.HSL();
            hslColor.H = float.Parse(r["h"].ToString());
            hslColor.S = float.Parse(r["s"].ToString());
            hslColor.L = float.Parse(r["v"].ToString());
            Color newColor = AdobeColors.HSL_to_RGB(hslColor);

            dp.Color = newColor;

            dp.Type      = oType;
            dp.Scale     = float.Parse(r["scale"].ToString());;
            dp.PositionX = float.Parse(r["position_x"].ToString());
            dp.PositionY = float.Parse(r["position_y"].ToString());
            dp.PositionZ = float.Parse(r["position_z"].ToString());;

            double[] quat1 = new double[4];
            quat1[0] = double.Parse(r["orientation_z"].ToString());
            quat1[1] = double.Parse(r["orientation_u"].ToString());
            quat1[2] = double.Parse(r["orientation_v"].ToString());
            quat1[3] = double.Parse(r["orientation_w"].ToString());

            QuaternionCalc qc1 = new QuaternionCalc();

            double[] ang1 = qc1.QuatToAngle(quat1);
            if (ang1[0] == double.NaN)
            {
                ang1[0] = 0;
            }
            if (ang1[1] == double.NaN)
            {
                ang1[1] = 0;
            }
            if (ang1[2] == double.NaN)
            {
                ang1[2] = 0;
            }
            dp.Orientation_Yaw   = Math.Round(ang1[0], 0);
            dp.Orientation_Pitch = Math.Round(ang1[1], 0);
            dp.Orientation_Roll  = Math.Round(ang1[2], 0);

            dp.Name             = r["name"].ToString();
            dp.AppearsInRadar   = (Boolean)r["appears_in_radar"];
            dp.RadarRange       = float.Parse(r["radar_range"].ToString());
            dp.Destination      = int.Parse(r["gate_to"].ToString());
            dp.SoundEffect      = int.Parse(r["sound_effect_id"].ToString());
            dp.SoundEffectRange = float.Parse(r["sound_effect_range"].ToString());

            try
            {
                //Planet Props
                dp.OrbitID     = int.Parse(r["orbit_id"].ToString());
                dp.OrbitDist   = float.Parse(r["orbit_dist"].ToString());
                dp.OrbitAngle  = float.Parse(r["orbit_angle"].ToString());
                dp.OrbitRate   = float.Parse(r["orbit_rate"].ToString());
                dp.RotateAngle = float.Parse(r["rotate_angle"].ToString());
                dp.RotateRate  = float.Parse(r["rotate_rate"].ToString());
                dp.TiltAngle   = float.Parse(r["tilt_angle"].ToString());
                dp.IsLandable  = bool.Parse(r["is_landable"].ToString());
            }
            catch (Exception)
            {
                dp.OrbitID     = 0;
                dp.OrbitDist   = 0;
                dp.OrbitAngle  = 0;
                dp.OrbitRate   = 0;
                dp.RotateAngle = 0;
                dp.RotateRate  = 0;
                dp.TiltAngle   = 0;
                dp.IsLandable  = false;
            }
        }
Exemple #3
0
        private void setupData(DataRow r)
        {
            int    objectType = int.Parse(r["type"].ToString());
            String oType      = "";

            switch (objectType)
            {
            case 0:
                oType = "Mobs";
                break;

            case 3:
                oType = "Planets";
                break;

            case 11:
                oType = "Stargates";
                break;

            case 12:
                oType = "Starbases";
                break;

            case 37:
                oType = "Decorations";
                break;

            case 38:
                oType = "Harvestables";
                break;
            }

            dp                  = new MobProps();
            dp.SectorID         = int.Parse(r["sector_id"].ToString());
            dp.NavType          = r["nav_type"].ToString();
            dp.Signature        = float.Parse(r["signature"].ToString());
            dp.IsHuge           = (Boolean)r["is_huge"];
            dp.BaseXP           = int.Parse(r["base_xp"].ToString());
            dp.ExplorationRange = float.Parse(r["exploration_range"].ToString());

            dp.BaseAssetID = int.Parse(r["base_asset_id"].ToString());

            AdobeColors.HSL hslColor = new AdobeColors.HSL();
            hslColor.H = float.Parse(r["h"].ToString());
            hslColor.S = float.Parse(r["s"].ToString());
            hslColor.L = float.Parse(r["v"].ToString());
            Color newColor = AdobeColors.HSL_to_RGB(hslColor);

            dp.Color = newColor;

            dp.Type      = oType;
            dp.Scale     = float.Parse(r["scale"].ToString());;
            dp.PositionX = float.Parse(r["position_x"].ToString());
            dp.PositionY = float.Parse(r["position_y"].ToString());
            dp.PositionZ = float.Parse(r["position_z"].ToString());;

            double[] quat1 = new double[4];
            quat1[0] = double.Parse(r["orientation_z"].ToString());
            quat1[1] = double.Parse(r["orientation_u"].ToString());
            quat1[2] = double.Parse(r["orientation_v"].ToString());
            quat1[3] = double.Parse(r["orientation_w"].ToString());

            QuaternionCalc qc1 = new QuaternionCalc();

            double[] ang1 = qc1.QuatToAngle(quat1);
            if (ang1[0] == double.NaN)
            {
                ang1[0] = 0;
            }
            if (ang1[1] == double.NaN)
            {
                ang1[1] = 0;
            }
            if (ang1[2] == double.NaN)
            {
                ang1[2] = 0;
            }
            dp.Orientation_Yaw   = Math.Round(ang1[0], 0);
            dp.Orientation_Pitch = Math.Round(ang1[1], 0);
            dp.Orientation_Roll  = Math.Round(ang1[2], 0);

            dp.Name             = r["name"].ToString();
            dp.AppearsInRadar   = (Boolean)r["appears_in_radar"];
            dp.RadarRange       = float.Parse(r["radar_range"].ToString());
            dp.Destination      = int.Parse(r["gate_to"].ToString());
            dp.SoundEffect      = int.Parse(r["sound_effect_id"].ToString());
            dp.SoundEffectRange = float.Parse(r["sound_effect_range"].ToString());

            dp.SpawnGroup   = "<Collection...>";
            dp.Count        = int.Parse(r["mob_count"].ToString());
            dp.SpawnRadius  = float.Parse(r["mob_spawn_radius"].ToString());
            dp.RespawnTime  = float.Parse(r["respawn_time"].ToString());
            dp.DelayedSpawn = (Boolean)r["delayed_spawn"];
        }
        private void setupData(DataRow r)
        {
            int    objectType = int.Parse(r["type"].ToString());
            String oType      = "";

            switch (objectType)
            {
            case 0:
                oType = "Mobs";
                break;

            case 3:
                oType = "Planets";
                break;

            case 11:
                oType = "Stargates";
                break;

            case 12:
                oType = "Starbases";
                break;

            case 37:
                oType = "Decorations";
                break;

            case 38:
                oType = "Harvestables";
                break;
            }

            dp = new HarvestableProps();

            //Base Props
            dp.SectorID         = int.Parse(r["sector_id"].ToString());
            dp.NavType          = r["nav_type"].ToString();
            dp.Signature        = float.Parse(r["signature"].ToString());
            dp.IsHuge           = (Boolean)r["is_huge"];
            dp.BaseXP           = int.Parse(r["base_xp"].ToString());
            dp.ExplorationRange = float.Parse(r["exploration_range"].ToString());

            dp.BaseAssetID = int.Parse(r["base_asset_id"].ToString());

            AdobeColors.HSL hslColor = new AdobeColors.HSL();
            hslColor.H = float.Parse(r["h"].ToString());
            hslColor.S = float.Parse(r["s"].ToString());
            hslColor.L = float.Parse(r["v"].ToString());
            Color newColor = AdobeColors.HSL_to_RGB(hslColor);

            dp.Color = newColor;

            dp.Type      = oType;
            dp.Scale     = float.Parse(r["scale"].ToString());;
            dp.PositionX = float.Parse(r["position_x"].ToString());
            dp.PositionY = float.Parse(r["position_y"].ToString());
            dp.PositionZ = float.Parse(r["position_z"].ToString());;

            double[] quat1 = new double[4];
            quat1[0] = double.Parse(r["orientation_z"].ToString());
            quat1[1] = double.Parse(r["orientation_u"].ToString());
            quat1[2] = double.Parse(r["orientation_v"].ToString());
            quat1[3] = double.Parse(r["orientation_w"].ToString());

            QuaternionCalc qc1 = new QuaternionCalc();

            double[] ang1 = qc1.QuatToAngle(quat1);
            if (ang1[0] == double.NaN)
            {
                ang1[0] = 0;
            }
            if (ang1[1] == double.NaN)
            {
                ang1[1] = 0;
            }
            if (ang1[2] == double.NaN)
            {
                ang1[2] = 0;
            }
            dp.Orientation_Yaw   = Math.Round(ang1[0], 0);
            dp.Orientation_Pitch = Math.Round(ang1[1], 0);
            dp.Orientation_Roll  = Math.Round(ang1[2], 0);

            dp.Name             = r["name"].ToString();
            dp.AppearsInRadar   = (Boolean)r["appears_in_radar"];
            dp.RadarRange       = float.Parse(r["radar_range"].ToString());
            dp.Destination      = int.Parse(r["gate_to"].ToString());
            dp.SoundEffect      = int.Parse(r["sound_effect_id"].ToString());
            dp.SoundEffectRange = float.Parse(r["sound_effect_range"].ToString());

            //Harvestable Props
            try
            {
                dp.Level          = r["level"].ToString();
                dp.ResType        = "<Collection...>";
                dp.ResCount       = int.Parse(r["res_count"].ToString());
                dp.MobSpawnRadius = float.Parse(r["spawn_radius"].ToString());
                dp.PopRockChance  = int.Parse(r["pop_rock_chance"].ToString());
                dp.SpawnGroup     = "<Collection...>";
                dp.MaxFieldRadius = float.Parse(r["max_field_radius"].ToString());

                String fieldName = "";
                switch (int.Parse(r["field"].ToString()))
                {
                case 0:
                    fieldName = "Random";
                    break;

                case 1:
                    fieldName = "Ring";
                    break;

                case 2:
                    fieldName = "Donut";
                    break;

                case 3:
                    fieldName = "Cylinder";
                    break;

                case 4:
                    fieldName = "Sphere";
                    break;

                case 5:
                    fieldName = "Gas Cloud Clump";
                    break;
                }

                dp.Field = fieldName;
            }
            catch (Exception)
            {
                dp.Level          = "1";
                dp.Field          = "Single";
                dp.ResCount       = 0;
                dp.MaxFieldRadius = 0;
                dp.MobSpawnRadius = 0;
                dp.PopRockChance  = 0;
                dp.SpawnGroup     = "<Collection...>";
            }
        }