protected virtual void Awake() { effectGraphic = EffectGraphic.NewEffectGraphic(this); TransformManager = GetComponentInChildren <TransformManager>(); statChangePropogator.Source = Stats; Stats.AddType(StatType.BaseGoldCost); Stats.AddType(StatType.GoldCost); Stats.AddType(StatType.BaseManaCost); Stats.AddType(StatType.ManaCost); Stats.SetValue(StatType.CardType, CardType); }
public static EffectGraphic get(RectTransform rectTrans) { if (rectTrans == null) { return(null); } EffectGraphic effect = rectTrans.GetComponent <EffectGraphic>(); if (!effect) { effect = rectTrans.gameObject.AddComponent <EffectGraphic>(); } return(effect); }
IEnumerator showGraphicCoroutine(EffectGraphic graphic, AnimationCommand cmd) { timePassed = 0; showGraphic(graphic); while (timePassed < DISPLAY_TIME) { newX = remainingTimeDefaultWidth - remainingTimeDefaultWidth * timePassed / DISPLAY_TIME; cachedV2.Set(newX, remainingTimeGraphic.size.y); remainingTimeGraphic.size = cachedV2; timePassed += Time.deltaTime * timePassedCoeff; yield return(null); } cvGameObject.SetActive(false); cmd.finished = true; }
private void showGraphic(EffectGraphic graphic) { switch (graphic) { case CardEffectGraphic g: showCardEffectGraphic(g); break; case TextEffectGraphic g: showTextEffectGraphic(g); break; default: throw new Exception("Unexpected graphic type"); } }
public static void fillEffectGraphicMesh(this RectTransform rectTrans, Vector3[] vertexPosition, Vector2[] vertexUV, Color[] vertexColors, int[] vertexIndices) { if (rectTrans != null) { if (vertexColors != null) { Color32[] colors = new Color32[vertexColors.Length]; for (int index = 0, length = colors.Length; index < length; index++) { colors[index] = vertexColors[index]; } EffectGraphic.get(rectTrans).fillVertextData(vertexPosition, vertexUV, colors, vertexIndices); } else { EffectGraphic.get(rectTrans).fillVertextData(vertexPosition, vertexUV, null, vertexIndices); } } }
// Add a new randomly generated skillGem public void AddSkillGem() { int randomNum = UnityEngine.Random.Range(1, MAX_GEMTYPE_COUNT); // Since skillGem category is based on range of ints, check which gem should be created whether // randomNum is less than or equal to the category num int randomTier = UnityEngine.Random.Range(0, 100); Tier tier = Tier.common; if (randomTier <= 5) { tier = Tier.legendary; } else if (randomTier <= 25) { tier = Tier.unique; } else if (randomTier <= 60) { tier = Tier.rare; } SkillGemType gemType = (SkillGemType)Enum.ToObject(typeof(SkillGemType), randomNum); string gemName = ((SkillGemType)randomNum).ToString(); Debug.Log("Generating " + tier + " " + gemName); if (randomNum <= (int)SkillGemCategory.elementGem) { // Grab random castEffect and hitEffect EffectsList effectsList = GetEffectsList(tier); EffectGraphic effect = effectsList.RandomEffect; string castEffect = "", hitEffect = ""; castEffect = effect.cast.name; hitEffect = effect.hit.name; ElementGem gem = new ElementGem(gemName, "Random generated skillGem", "", tier, ItemType.skillGem, gemType, effect.castOffset, castEffect, hitEffect); Player.instance.inventory.AddItem(gem, 1); } else if (randomNum <= (int)SkillGemCategory.damageEffect) { float min = UnityEngine.Random.Range(1, 100); float max = min + UnityEngine.Random.Range(3, 50); EffectGem gem = new EffectGem(gemName, "Random generated skillGem", "", tier, ItemType.skillGem, gemType, new Damage(min, max, 1, false)); Player.instance.inventory.AddItem(gem, 1); } else if (randomNum <= (int)SkillGemCategory.healEffect) { EffectGem gem = new EffectGem(gemName, "Random generated skillGem", "", tier, ItemType.skillGem, gemType, new Heal(UnityEngine.Random.Range(10, 100), false)); Player.instance.inventory.AddItem(gem, 1); } else if (randomNum <= (int)SkillGemCategory.buffEffect) { EffectGem gem = new EffectGem(gemName, "Random generated skillGem", "", tier, ItemType.skillGem, gemType, new Buff(false, 60, new AttributeStats(), new CharStats(), new CombatStats())); Player.instance.inventory.AddItem(gem, 1); } else if (randomNum <= (int)SkillGemCategory.statusEffect) { EffectGem gem = new EffectGem(gemName, "Random generated skillGem", "", tier, ItemType.skillGem, gemType, new StatusEffect()); Player.instance.inventory.AddItem(gem, 1); } GenerateList(); }
public AnimationCommand(EffectGraphic graphic, EffectGraphicsView view) { this.graphic = graphic; this.view = view; }
public void AddToQueue(EffectGraphic newGraphic) { InformativeAnimationsQueue.Instance.AddAnimation(new AnimationCommand(newGraphic, this)); }