コード例 #1
0
        private static float GetMaxAttributeValueForMarketGroup(string[] Group, MODULE_ATTRIBUTES_DB Attribute, NpgsqlConnection conn)
        {
            int           marketGroupID = GetMarketGroupID(Group, conn);
            NpgsqlCommand cmd           = new NpgsqlCommand(
                String.Format("SELECT \"valueInt\", \"valueFloat\" FROM \"dgmTypeAttributes\" JOIN \"invTypes\" USING (\"typeID\") WHERE \"marketGroupID\" = {0} AND \"attributeID\" = {1} ORDER BY \"valueFloat\" DESC", marketGroupID, (int)Attribute),
                conn
                );
            float value = 0.0f;

            using (NpgsqlDataReader dr = cmd.ExecuteReader()) {
                while (dr.Read())
                {
                    double ddd = 0.0;
                    if (Double.TryParse(dr["valueFloat"].ToString(), out ddd))
                    {
                        if (value < ((float)ddd))
                        {
                            value = (float)ddd;
                        }
                    }
                    else
                    {
                        int iii = Int32.Parse(dr["valueInt"].ToString());
                        if (value < ((float)iii))
                        {
                            value = (float)iii;
                        }
                    }
                }
            }
            return(value);
        }
コード例 #2
0
        private static ModuleDescription CreateAbyssalModule(string ModuleName, string[] MarketGroups, MODULE_ATTRIBUTES_DB dbAttribute, float bonus, MODULE_ATTRIBUTES attribute, MODULE_SLOT slot, NpgsqlConnection conn)
        {
            int   typeID = GetTypeIDByName(ModuleName, conn);
            float value  = GetMaxAttributeValueForMarketGroup(MarketGroups, dbAttribute, conn);
            Dictionary <MODULE_ATTRIBUTES, Dictionary <MODULE_ACTIVE, Tuple <float, int> > > attributes = new Dictionary <MODULE_ATTRIBUTES, Dictionary <MODULE_ACTIVE, Tuple <float, int> > >();

            attributes.Add(
                attribute,
                new Dictionary <MODULE_ACTIVE, Tuple <float, int> > {
                { MODULE_ACTIVE.PASSIVE, new Tuple <float, int>(value * bonus, 1) }
            }
                );
            ModuleDescription result = new ModuleDescription(
                ModuleName,
                typeID,
                slot,
                attributes,
                0.0f,
                -1
                );

            return(result);
        }