コード例 #1
0
 public IconKey(AttributeStats k1, AttributeStats k2, AttributeStats k3)
 {
     ks    = new AttributeStats[3];
     ks[0] = k1;
     ks[0] = k2;
     ks[0] = k3;
 }
コード例 #2
0
 public Buff(bool percent, int duration, AttributeStats attributes, CharStats charStats, CombatStats combatStats)
 {
     this.percent     = percent;
     this.duration    = duration;
     this.attributes  = attributes;
     this.charStats   = charStats;
     this.combatStats = combatStats;
 }
コード例 #3
0
    public AttributeStats(AttributeStats stats)
    {
        FieldInfo[] fields1 = this.GetType().GetFields();
        FieldInfo[] fields2 = stats.GetType().GetFields();

        for (int i = 0; i < fields1.Length; i++)
        {
            fields1[i].SetValue(this, (float)fields2[i].GetValue(stats));
        }
    }
コード例 #4
0
    public static AttributeStats operator-(AttributeStats stats1, AttributeStats stats2)
    {
        AttributeStats stats = new AttributeStats();

        FieldInfo[] fields  = stats.GetType().GetFields();
        FieldInfo[] fields1 = stats1.GetType().GetFields();
        FieldInfo[] fields2 = stats2.GetType().GetFields();
        for (int i = 0; i < fields.Length; i++)
        {
            fields[i].SetValue(stats, (int)fields1[i].GetValue(stats1) - (int)fields2[i].GetValue(stats2));
        }

        return(stats);
    }
コード例 #5
0
 /// <summary>
 /// Generic axis initializer.
 /// </summary>
 /// <param name="stats"></param>
 /// <param name="dir"></param>
 public void Init(AttributeStats stats, AxisDirection dir = AxisDirection.Y)
 {
     Init(stats.name, dir);
     this.stats = stats;
 }
コード例 #6
0
 public IconKey2D(AttributeStats k1, AttributeStats k2)
 {
     ks    = new AttributeStats[2];
     ks[0] = k1;
     ks[0] = k2;
 }
コード例 #7
0
        public Set Load()
        {
            Set set = null;

            try
            {
                this.filestream = new FileStream(this.SourceFilePath, FileMode.Open);

                weka.core.converters.ArffLoader loader = new weka.core.converters.ArffLoader();
                loader.set_FilePath(SourceFilePath);
                Instances      instances = loader.getDataSet();
                AttributeStats _ast      = instances.attributeStats(0);

                List <Attribute> attributes = new List <Attribute>();
                Attribute        attrToAdd  = null;
                //Obtener los atributos de la coleccion de elementos
                for (int i = 0; i < instances.numAttributes(); i++)
                {
                    attrToAdd = null;
                    if (instances.attribute(i).isNominal())
                    {
                        List <object> l = new List <object>();
                        for (int j = 0; j < instances.attribute(i).numValues(); j++)
                        {
                            l.Add(instances.attribute(i).value(j));
                        }

                        attrToAdd = new Attribute(instances.attribute(i).name(), l);
                        attrToAdd.AttributeType = AttributeType.Nominal;
                        attributes.Add(attrToAdd);
                    }
                    else if (instances.attribute(i).isNumeric())
                    {
                        attrToAdd = new Attribute(instances.attribute(i).name(), null);
                        attrToAdd.AttributeType = AttributeType.Numeric;
                        attributes.Add(attrToAdd);
                    }
                    else if (instances.attribute(i).isString())
                    {
                        attrToAdd = new Attribute(instances.attribute(i).name(), null);
                        attrToAdd.AttributeType = AttributeType.String;
                        attributes.Add(attrToAdd);
                    }
                    else if (instances.attribute(i).isDate())
                    {
                        attrToAdd = new Attribute(instances.attribute(i).name(), null);
                        attrToAdd.AttributeType = AttributeType.Date;
                        attributes.Add(attrToAdd);
                    }
                }
                Attributes attributes_values = new Attributes(attributes);

                List <Element> elements = new List <Element>();
                //Darle los valores a cada elemento de la coleccion
                for (int i = 0; i < instances.numInstances(); i++)
                {
                    List <object> realvalues = new List <object>();
                    for (int j = 0; j < instances.instance(i).numAttributes(); j++)
                    {
                        if (instances.instance(i).isMissing(j))
                        {
                            realvalues.Add(null);
                        }
                        else if (instances.attribute(j).isNumeric())
                        {
                            realvalues.Add(instances.instance(i).value(j));
                        }
                        else if (instances.attribute(j).isNominal() || instances.attribute(j).isString())
                        {
                            realvalues.Add(instances.instance(i).stringValue(j));
                        }
                        else if (instances.attribute(j).isDate())
                        {
                            realvalues.Add(DateTime.Parse(instances.instance(i).stringValue(j)));
                        }
                    }
                    Element e = new Element(realvalues);
                    e.Name  = "E-" + i;
                    e.Index = i;
                    elements.Add(e);
                }

                set = new Set(instances.relationName(), elements, attributes_values);
                //Attributes[i].Missing = _missing;
                //Attributes[i].MissingPercent = 100 * _missing / ElementsCount;
                //Attributes[i].Distinct = _distinct;
                //Attributes[i].Unique = _unique;
                //Attributes[i].UniquePercent = 100 * _unique / ElementsCount;
                for (int i = 0; i < instances.numAttributes(); i++)
                {
                    set.Attributes[i].Missing        = instances.attributeStats(i).missingCount;
                    set.Attributes[i].MissingPercent = 100 * set.Attributes[i].Missing / elements.Count;
                    set.Attributes[i].Distinct       = instances.attributeStats(i).distinctCount;
                    set.Attributes[i].Unique         = instances.attributeStats(i).uniqueCount;
                    set.Attributes[i].UniquePercent  = 100 * set.Attributes[i].Unique / elements.Count;
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                filestream.Close();
            }
            return(set);
        }