예제 #1
0
    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;
         }
     }
 }
예제 #4
0
    // スキルの発動時
    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;
        }
    }
예제 #5
0
 public ElementsInfo(BeseObject.Elements elements)
 {
     this.elements = elements;
     rate          = 0;
     sprite        = null;
 }