private void Awake() { //Ref: rb = GetComponent <Rigidbody2D>(); anim = gameObject.GetComponentInChildren <Animator>(); rend = GetComponentInChildren <SpriteRenderer>(); textMesh = GetComponent <TextMeshPro>(); stockCanvas = GameObject.FindGameObjectWithTag("StockCanvas").GetComponent <StockCanvas>(); //Dont Destroy: DontDestroyOnLoad(gameObject); bAbility = Manager.WorldOptions.bDefault; aAbility = Manager.WorldOptions.aDefault; xAbility = Manager.WorldOptions.xDefault; yAbility = Manager.WorldOptions.yDefault; }
public Evade(BAbility ability, float evadeChance) : base(ability) { EvadeChance = evadeChance; }
void SetAbility() { switch (abilityType) { case 0: var abilityListA = Manager.WorldOptions.availableAAbilities; var rA = Random.Range(0, abilityListA.Count); textMesh.text = abilityListA[rA].ToString(); newAAbility = abilityListA[rA]; //First get Enum length, then select one random: /*abilitySubType = UnityEngine.Random.Range(1,Enum.GetValues(typeof(AAbility)).Length); * foreach (int i in Enum.GetValues(typeof(AAbility))) * { * if(i == abilitySubType) * { * print((AAbility)i); * textMesh.text = Enum.GetName(typeof(AAbility), i); * newAAbility = (AAbility)i; * } * }*/ break; case 1: var abilityListX = Manager.WorldOptions.availableXAbilities; var rX = Random.Range(0, abilityListX.Count); textMesh.text = abilityListX[rX].ToString(); newXAbility = abilityListX[rX]; //First get Enum length, then select one random: /*abilitySubType = UnityEngine.Random.Range(1, Enum.GetValues(typeof(XAbility)).Length); * foreach (int i in Enum.GetValues(typeof(XAbility))) * { * if (i == abilitySubType) * { * print((XAbility)i); * textMesh.text = Enum.GetName(typeof(XAbility), i); * newXAbility = (XAbility)i; * } * }*/ break; case 2: var abilityListY = Manager.WorldOptions.availableYAbilities; var rY = Random.Range(0, abilityListY.Count); textMesh.text = abilityListY[rY].ToString(); newYAbility = abilityListY[rY]; //First get Enum length, then select one random: /*abilitySubType = UnityEngine.Random.Range(1, Enum.GetValues(typeof(YAbility)).Length); * foreach (int i in Enum.GetValues(typeof(YAbility))) * { * if (i == abilitySubType) * { * print((YAbility)i); * textMesh.text = Enum.GetName(typeof(YAbility), i); * newYAbility = (YAbility)i; * } * }*/ break; case 3: var abilityListB = Manager.WorldOptions.availableBAbilities; var rB = Random.Range(0, abilityListB.Count); textMesh.text = abilityListB[rB].ToString(); newBAbility = abilityListB[rB]; //First get Enum length, then select one random: /*abilitySubType = UnityEngine.Random.Range(1, Enum.GetValues(typeof(BAbility)).Length); * foreach (int i in Enum.GetValues(typeof(BAbility))) * { * if (i == abilitySubType) * { * print((BAbility)i); * textMesh.text = Enum.GetName(typeof(BAbility), i); * newBAbility = (BAbility)i; * } * }*/ break; default: break; } }
public Vulnerable(BAbility ability) : base(ability) { }
public Armored(BAbility ability, int armorCount) : base(ability) { ArmorCount = armorCount; }
public void ChangeBAbility(BAbility newBAbility) { bAbility = newBAbility; }
public Regular(BAbility ability) : base(ability) { }