public void SetToVar(IdleVar Var) { switch (Var.ToInitialVar.To) { case SetToPreVar.MoneyMultiplier: Var.Value = Main.MoneyMultiplier; break; case SetToPreVar.DamageDone: Var.Value = Main.Damage; break; case SetToPreVar.DamageMultiplier: Var.Value = Main.MoneyMultiplier; break; case SetToPreVar.GemChances: Var.Value = GemController.GemChances; break; case SetToPreVar.MoneyPerSec: Var.Value = Main.IdleMoneyPerSec; break; case SetToPreVar.AutoTap: Var.Value = (decimal)Main.TapPerSec; break; } }
public void AdvRecieveMessages(IdleVar Var, DoOn On) { for (int i = 0; i < Var.Effectors.Length; i++) { if (Var.Effectors[i].On == On && Var.Effectors[i].On != DoOn.Message && Var.Effectors[i].On != DoOn.DeltaTime) { AdvEffect(Var, Var.Effectors[i]); } else if (Var.Effectors[i].On == DoOn.DeltaTime) { AdvEffect(Var, Var.Effectors[i], true); } else if (Var.Effectors[i].On == DoOn.Message) { for (int k = 0; k < Messages.Count; k++) { if (Messages[k] == Var.Effectors[i].MessageName) { AdvEffect(Var, Var.Effectors[i]); Messages.RemoveAt(k); } } } } }
public void AdvEffect(IdleVar Var, Effect eff, bool DeltaTime = false) { decimal Value = 0; bool Done = false; if (eff.VarInstead) { for (int i = 0; i < eff.SetToOf.Variables.Length; i++) { if (eff.SetToOf.Variables[i].Name == eff.VariableName) { Value = Variables[i].Value; Done = true; } } } else { Value = System.Convert.ToDecimal(eff.By); } if (eff.On == DoOn.Inactive) { if (!PlayerPrefs.HasKey("LastPlayTime")) { return; } System.TimeSpan LastTimePlayed = System.DateTime.Now - (System.Convert.ToDateTime(PlayerPrefs.GetString("LastPlayTime"))); Value *= (decimal)LastTimePlayed.TotalSeconds; } if (!Done && eff.VarInstead) { Debug.LogError("WARNING: No variable of name '" + eff.VariableName + "' was found in the instance." + " Please make sure everything is properly set. Value will be used as the By Value now" + " This occoured in instance name '" + gameObject.name + "'"); Value = System.Convert.ToDecimal(eff.By); } if (DeltaTime) { Value *= (decimal)Time.deltaTime; } switch (eff.Type) { case CalcType.Add: Var.Value += Value; break; case CalcType.Divide: Var.Value /= Value; break; case CalcType.Multiply: Var.Value *= Value; break; case CalcType.Subtract: Var.Value -= Value; break; case CalcType.SetTo: Var.Value = Value; break; } #if UNITY_EDITOR Var.InitialValue = Var.Value.ToString(); #endif }