protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Flags", true, out subEle);
            subEle.Value = MagicEffectFlags.ToString();

            ele.TryPathTo("BaseCost", true, out subEle);
            subEle.Value = BaseCost.ToString("G15");

            ele.TryPathTo("AssociatedItem", true, out subEle);
            AssociatedItem.WriteXML(subEle, master);

            ele.TryPathTo("MagicSchool", true, out subEle);
            subEle.Value = MagicSchool.ToString();

            ele.TryPathTo("ResistanceType", true, out subEle);
            subEle.Value = ResistanceType.ToString();

            ele.TryPathTo("Unknown", true, out subEle);
            subEle.Value = Unknown.ToString();

            WriteUnusedXML(ele, master);

            ele.TryPathTo("Light", true, out subEle);
            Light.WriteXML(subEle, master);

            ele.TryPathTo("ProjectileSpeed", true, out subEle);
            subEle.Value = ProjectileSpeed.ToString("G15");

            ele.TryPathTo("EffectShader", true, out subEle);
            EffectShader.WriteXML(subEle, master);

            ele.TryPathTo("ObjectDisplayShader", true, out subEle);
            ObjectDisplayShader.WriteXML(subEle, master);

            ele.TryPathTo("EffectSound", true, out subEle);
            EffectSound.WriteXML(subEle, master);

            ele.TryPathTo("BoltSound", true, out subEle);
            BoltSound.WriteXML(subEle, master);

            ele.TryPathTo("HitSound", true, out subEle);
            HitSound.WriteXML(subEle, master);

            ele.TryPathTo("AreaSound", true, out subEle);
            AreaSound.WriteXML(subEle, master);

            ele.TryPathTo("ConstantEffectEnchantmentFactor", true, out subEle);
            subEle.Value = ConstantEffectEnchantmentFactor.ToString("G15");

            ele.TryPathTo("ConstantEffectBarterFactor", true, out subEle);
            subEle.Value = ConstantEffectBarterFactor.ToString("G15");

            ele.TryPathTo("Archetype", true, out subEle);
            subEle.Value = Archetype.ToString();

            ele.TryPathTo("ActorValue", true, out subEle);
            subEle.Value = ActorValue.ToString();
        }
示例#2
0
文件: Network.cs 项目: n1arash/Vortex
        public Network(BaseCost costSettings, BaseOptimizer optimizerSettings)
        {
            IsLocked = false;
            Layers   = new List <BaseLayerKernel>();

            // Cost Function Setup
            CostFunction = costSettings.Type() switch
            {
                ECostType.CrossEntropyCost => new CrossEntropyCostKernel((CrossEntropyCost)costSettings),
                ECostType.ExponentionalCost => new ExponentialCostKernel((ExponentionalCost)costSettings),
                ECostType.GeneralizedKullbackLeiblerDivergence => new GeneralizedKullbackLeiblerDivergenceKernel((GeneralizedKullbackLeiblerDivergence)costSettings),
                ECostType.HellingerDistance => new HellingerDistanceKernel((HellingerDistance)costSettings),
                ECostType.ItakuraSaitoDistance => new ItakuraSaitoDistanceKernel((ItakuraSaitoDistance)costSettings),
                ECostType.KullbackLeiblerDivergence => new KullbackLeiblerDivergenceKernel((KullbackLeiblerDivergence)costSettings),
                ECostType.QuadraticCost => new QuadraticCostKernel((QuadraticCost)costSettings),
                _ => throw new ArgumentException("Cost Type Invalid.")
            };

            // Optimizer Function Setup
            OptimizerFunction = optimizerSettings.Type() switch
            {
                EOptimizerType.AdaDelta => new AdaDeltaKernel((AdaDelta)optimizerSettings),
                EOptimizerType.AdaGrad => new AdaGradKernel((AdaGrad)optimizerSettings),
                EOptimizerType.Adam => new AdamKernel((Adam)optimizerSettings),
                EOptimizerType.Adamax => new AdamaxKernel((Adamax)optimizerSettings),
                EOptimizerType.GradientDescent => new GradientDescentKernel((GradientDescent)optimizerSettings),
                EOptimizerType.Momentum => new MomentumKernel((Momentum)optimizerSettings),
                EOptimizerType.Nadam => new NadamKernel((Nadam)optimizerSettings),
                EOptimizerType.NesterovMomentum => new NesterovMomentumKernel((NesterovMomentum)optimizerSettings),
                EOptimizerType.RmsProp => new RmsPropKernel((RmsProp)optimizerSettings),
                _ => throw new ArgumentException("Optimizer Type Invalid.")
            };
        }
示例#3
0
        /// <summary>
        /// Create instance of the neural net with parameters
        /// </summary>
        /// <param name="optimizer"></param>
        /// <param name="cost"></param>
        /// <param name="metric"></param>
        public NeuralNet(BaseOptimizer optimizer, BaseCost cost, BaseMetric metric = null)
        {
            Layers          = new List <BaseLayer>();
            TrainingLoss    = new List <double>();
            TrainingMetrics = new List <double>();

            this.Optimizer = optimizer != null ? optimizer : throw new Exception("Need optimizer");
            this.Cost      = cost != null ? cost : throw new Exception("Need cost");
            Metric         = metric;
        }
示例#4
0
    private void Configure(
        string name,
        BaseCost cost,
        bool canBuy,
        int availableTiles,
        UnityAction clickAction
        )
    {
        nameLabel.text = name;
        costLabel.text = CostAsString(cost);

        buyButton.GetComponent <BuyButton>().SetEnabled(canBuy && availableTiles > 0);

        buyButton.onClick.RemoveAllListeners();
        buyButton.onClick.AddListener(clickAction);
    }
示例#5
0
 private string CostAsString(BaseCost buildCost)
 {
     return(string.Join(", ", buildCost.Resources.Select(r => $"{r.Amount} {r.Resource.Entity.Name}")));
 }
示例#6
0
 public override string ToString()
 {
     return($"Subtotal: {BaseCost.ToString("F2")}\n" +
            $"Taxa: {Tax.ToString("F2")}\n" +
            $"TOTAL: {TotalCost.ToString("F2")}");
 }