public void RnadomElement() { int totalRate = 0; int random = UnityEngine.Random.Range(0, 101); // 属性を決める BackGround backGround = gameObject.transform.parent.GetComponent <BackGround>(); for (int i = 0; i < backGround.elementsSprite.Length; i++) { if (((totalRate + backGround.elementsSprite[i].rate) >= random) && (random >= totalRate)) { elementInfo = backGround.elementsSprite[i]; break; } totalRate += backGround.elementsSprite[i].rate; } // 画像を決める if (elementInfo != null) { random = UnityEngine.Random.Range(0, elementInfo.sprite.Length); if (elementInfo.sprite[random]) { gameObject.GetComponent <SpriteRenderer>().sprite = elementInfo.sprite[random]; elements = elementInfo.elements; } } }
public void AdvanceSkillTime(BeseObject.Elements elements) { AdvanceSkillTimeIcon(first, elements); AdvanceSkillTimeIcon(second, elements); AdvanceSkillTimeIcon(third, elements); AdvanceSkillTimeIcon(friend, elements); }
public void AdvanceSkillTimeIcon(CharacterQuestIcon icon, BeseObject.Elements elements) { if (icon.playerInfo.chara[(int)icon.charaNum]) { if (icon.playerInfo.chara[(int)icon.charaNum].status.specialtyElement == elements) { icon.timeToActivate -= icon.playerInfo.chara[(int)icon.charaNum].status.skillStatus.timeToActivate * 0.1f; } } }
// スキルの発動時 public void ActivateSkill() { timeToActivate = playerInfo.chara[(int)charaNum].status.skillStatus.timeToActivate; // エフェクトの処理 GameObject.Find("SkillEffectManager").GetComponent <SkillEffectManager>().SkillEffectPlay(); if (charaNum == PlayerInfo.CharaNum.First) { GameObject.Find("SkillIconEffectManager").GetComponent <SkillIconEffectManager>().SkillIconBigEffectPlay(effectPos.position); } else { GameObject.Find("SkillIconEffectManager").GetComponent <SkillIconEffectManager>().SkillIconEffectPlay(effectPos.position); } // 弾を全部消す GameObject[] bullet = GameObject.FindGameObjectsWithTag("Bullet"); foreach (GameObject obj in bullet) { obj.GetComponent <Bullet>().Destroy(); } if (iconFramePlay) { gameObject.transform.Find("flame").GetComponent <Image>().sprite = iconFramePlay; } buf = player.status.bulletElement; player.status.upSkillStatus.Add(playerInfo.chara[(int)charaNum].status.skillStatus); // 回復のスキル処理 player.status.valueStatus.HP += playerInfo.chara[(int)charaNum].status.skillStatus.CureHP; // プレイヤーの属性を変更 buf = player.status.bulletElement; if (playerInfo.chara[(int)charaNum].status.skillStatus.ChangeElement != BeseObject.Elements.Max && playerInfo.chara[(int)charaNum].status.skillStatus.ChangeElement != BeseObject.Elements.None) { player.status.bulletElement = playerInfo.chara[(int)charaNum].status.skillStatus.ChangeElement; } }
public ElementsInfo(BeseObject.Elements elements) { this.elements = elements; rate = 0; sprite = null; }