Enemy EnemyScript; //enemy script // Use this for initialization void Start() { Debug.Log("バトル発生"); player = GameObject.Find("Chara1"); CharaScript = player.GetComponent <CharaStatus>(); //味方ステータス読み込み enemy = GameObject.Find("enemy"); EnemyScript = enemy.GetComponent <Enemy>(); //敵ステータス読み込み Debug.Log("CharaScript.HP" + CharaScript.HP); Debug.Log("EnemyScript.HP" + EnemyScript.HP); //ステータス表示パネル表示 int turn; turn = 1; while (turn <= 4) { //speed define i++ for (int i = 0; i < ActionCharas().Length; i++) { Debug.Log(ActionCharas()[i]); } //while array speed >= 100 //action 敵味方のスクリプトに作った行動を読み取る private functionとか //statusdefine // // break 敵味方どちらかが全滅するまで // chara.speed = 0 Debug.Log("turn" + turn); turn++; } //speed array = 0 }
//// Update is called once per frame //void Update() //{ //} public void Attack(GameObject enemyChara)// 攻撃関数,攻撃する相手を引数として渡す { CharaStatus enemyStatus = enemyChara.GetComponent <CharaStatus>(); int enemyHP = enemyStatus.hp; int enemyDefense = enemyStatus.defense; if (actionFlag == true) { if (farAttacker == false && magicAttacker == false) { if (attack > enemyDefense) { enemyHP -= (attack - enemyDefense);//現在hpから(攻撃から防御だけ)引いた値。例 100-(20-10)=90 } } if (farAttacker == true && magicAttacker == false) { if (attack > enemyDefense) { enemyHP -= (attack - enemyDefense);//現在hpから(攻撃から防御だけ)引いた値。例 100-(20-10)=90 } } if (farAttacker == true && magicAttacker == true) { enemyHP -= attack;//魔法攻撃は防御力関係なくダメージを与えられる。例 90 - 15 + 0 = 75 } enemyStatus.hp = enemyHP; } AfterMoving(false); }
static void Main(string[] args) { Console.WriteLine("攻撃側 : [リザードン][レベル50][いじっぱり][6V][AS252振り][もうか][もくたん][フレアドライブ][攻撃ランク+2][晴れ]"); Console.WriteLine("防御側 : [ゴンベ][レベル50][わんぱく][6V][HB252振り][あついしぼう][しんかのきせき][リフレクター][防御ランク-1]"); CharaStatus attacker = GetAttackerStatus(); CharaStatus defender = GetDefenderStatus(); int techniquePower = 120; // 攻撃側技 フレアドライブ 威力120 float attackerItem = 1.2f; // 攻撃側持ち物 もくたん 威力*1.2倍 float attackerCharacteristic = 1.5f; // 攻撃側特性 もうか こうげき*1.5倍 int attackerRank = 2; // 攻撃側ランク補正 +2 float defenderItem = 1.5f; // 攻撃側持ち物 しんかのきせき ぼうぎょ*1.5倍 float defenderCharacteristic = 0.5f; // 防御側特性 あついしぼう 攻撃側のこうげき*0.5倍 int defenderRank = -1; // 防御側ランク補正 -1 float defenderReflector = 0.5f; // 防御側リフレクター 0.5倍 int finalPower = DamageCalculatier.GetFinalPower(techniquePower, new float[] { attackerItem }); int finalAttackPower = DamageCalculatier.GetFinalAttackPower(attacker.Values[(int)CharaStatusType.PhysicsAttack], attackerRank, false, false, new float[] { attackerCharacteristic, defenderCharacteristic }); int finalDefensePower = DamageCalculatier.GetFinalDefensePower(defender.Values[(int)CharaStatusType.PhysicsDamage], defenderRank, false, true, new float[] { defenderItem }); FinalCorrection finalCorrection = new FinalCorrection(); finalCorrection.IsTypeMatch = true; // タイプ一致 1.5倍 finalCorrection.RandomNumber = 1.0f; // 乱数 1.0倍(最高乱数) finalCorrection.IsWeatherEnhancement = true; // 天候晴れ補正 1.5倍 finalCorrection.DamageCorrections = new float[] { defenderReflector }; // リフレクター 0.5倍 (急所の場合は設定しない) int maxDamage = DamageCalculatier.GetFinalDamage(50, finalPower, finalAttackPower, finalDefensePower, finalCorrection); finalCorrection.RandomNumber = 0.85f; // 乱数 1.0倍(最高乱数) int minDamage = DamageCalculatier.GetFinalDamage(50, finalPower, finalAttackPower, finalDefensePower, finalCorrection); Console.WriteLine("ダメージ : " + minDamage + " ~ " + maxDamage); Console.ReadLine(); }
/// <summary> /// [ゴンベ][レベル50][わんぱく][6V][HB252振り]のステータス実数値を取得する /// </summary> /// <returns></returns> private static CharaStatus GetDefenderStatus() { // レベルを設定する int level = 50; // 性格を設定する Personality personality = Personality.CreatePresonality(PersonalityType.Impish); // 種族値を設定する CharaStatus raceValue = new CharaStatus(); raceValue.Values[(int)CharaStatusType.Hp] = 135; raceValue.Values[(int)CharaStatusType.PhysicsAttack] = 85; raceValue.Values[(int)CharaStatusType.PhysicsDamage] = 40; raceValue.Values[(int)CharaStatusType.SpecialAttack] = 40; raceValue.Values[(int)CharaStatusType.SpecialDamage] = 85; raceValue.Values[(int)CharaStatusType.Speed] = 5; // 努力値を設定する CharaStatus effortValue = new CharaStatus(); for (int i = 0; i < System.Enum.GetValues(typeof(CharaStatusType)).Length; i++) { effortValue.Values[i] = 0; } effortValue.Values[(int)CharaStatusType.Hp] = 252; effortValue.Values[(int)CharaStatusType.PhysicsDamage] = 252; effortValue.Values[(int)CharaStatusType.SpecialDamage] = 4; // 個体値を設定する CharaStatus individualValue = new CharaStatus(); for (int i = 0; i < System.Enum.GetValues(typeof(CharaStatusType)).Length; i++) { individualValue.Values[i] = 31; } return(CharaStatus.GetRealStatus(level, personality, raceValue, effortValue, individualValue)); }
public Chara SpawnChar(CharaData.CharClassType classType,int charModelType,int camp,int level,Vector3 pos,Vector3 dir,CharaStatus.Pose pose) { this.START_METHOD("SpawnChar"); Chara tempChar = null; if(classType==CharaData.CharClassType.CHARACTER) { } else if(classType==CharaData.CharClassType.BUILDING) { if((CharaData.buildingModel)charModelType==CharaData.buildingModel.BARRACK) { Barrack chara = new Barrack();//TODO: need change class to resource pool chara.SetPos(pos); chara.SetDir(dir); chara.SetCamp(camp); tempChar = chara; } if (tempChar != null) building.Add(tempChar); else throw new UnityException("no current building type to spawn!!"); } allChara.Add(tempChar); this.END_METHOD("SpawnChar"); return tempChar; }
public void Setup(CharaStatus status) { _status = status; _status.EquipAttack.SetMax(999); _status.EquipDefence.SetMax(999); }
void Start() { status = Player.GetComponent<CharaStatus>(); this.UpdateAsObservable() .Subscribe(_ => PlayerHPMaxText.text = "PlayerHPMax:" + status.Max_HP); PlayerHPMax.SubscribeToText(PlayerHPMaxText); }
//public IEnumerable<IEnumerable<T>> Do<T>(IEnumerable<IEnumerable<T>> values) //{ // return IEnumerable.Range(0, values.Max(c => c.Count())).Select(i => values.Max(c => i < c.Count() ? c.ElementAt(i) : default)); //} public void ObjectInformation(ref int[,] obstacleMap, ref GameObject[,] charaMap)//キャラのいる所を通行不可にするメソッド { GameObject[] ally = GameObject.FindGameObjectsWithTag("ally"); GameObject[] enemy = GameObject.FindGameObjectsWithTag("enemy"); GameObject[] bomb = GameObject.FindGameObjectsWithTag("bomb"); GameObject[] chara = new GameObject[ally.Length + enemy.Length + bomb.Length]; int i2 = 0; for (int i = 0; i < ally.Length; i++) { chara[i2] = ally[i]; i2++; } for (int i = 0; i < enemy.Length; i++) { chara[i2] = enemy[i]; i2++; } for (int i = 0; i < bomb.Length; i++) { chara[i2] = bomb[i]; i2++; } CharaStatus[] charaStatuses = new CharaStatus[chara.Length]; for (int xcount = 0; xcount < mapRangeX; xcount++) { for (int ycount = 0; ycount < mapRangeY; ycount++) { obstacleMap[xcount, ycount] = obstaclemap[xcount, ycount]; } } charaMap = new GameObject[mapRangeX, mapRangeY]; for (int i = 0; i < chara.Length; i++) { //Debug.Log(chara[i]); charaStatuses[i] = chara[i].GetComponent <CharaStatus>(); int x = charaStatuses[i].posX; int y = charaStatuses[i].posY; charaMap[x, y] = chara[i]; obstacleMap[x, y] = 1; } //for (int y = 0; y < 10; y++) //{ // for (int x = 0; x < 20; x++) // { // if (charamap[y, x] != null) // { // obstaclemap[y, x] = 1; // } // else // { // obstaclemap[y, x] = 0; // } // } //} }
///<summery> ///エネミー情報入力 //別途クラス用意検討 ///</summery> public void SetEnemyStatus(GameObject e) { //ランダムなエネミー情報を取得・生成 int rnd = Random.Range(0, enemyManager.enemyStatusList.Count); CharaStatus status = enemyManager.enemyStatusList[rnd]; EnemyStatus enemyStatus = e.GetComponent <EnemyStatus>(); enemyStatus.SetStatus(status, enemyObjList.Count - 1); }
}//演出の挿入以外完成 //enemyTurnCount(何番目の敵のターンか)から、次の敵をactiveCharaに代入 private void ActivateEnemy(int enemyNum)//アクティブ状態の敵キャラ { Debug.Log("ActivateEnemy"); //obstaclemap = mapPosition.obstaclemap; mapPosition.ObjectInformation(ref obstaclemap, ref charamap); activeChara = enemyArray[enemyNum]; activeCharaStatus = activeChara.GetComponent <CharaStatus>(); activeCharaPos[0] = activeCharaStatus.posX; activeCharaPos[1] = activeCharaStatus.posY; StartCoroutine("EnemyCommandCall");//敵AIの呼び出し }//一応完成
public void OnHited() { CharaStatus status = curTarget.GetComponent <CharaStatus> (); SkillManager.Instance.CalcSkillDamage(parent, status.Parent); if (status.Parent.Life <= 0) { Cannon cannon = parent as Cannon; cannon.curEnemy = null; } GameObject.Destroy(gameObject); }
///<summary> ///UIオブジェクトの取得・値の受け渡し ///</summary> public IEnumerator SetElements(CharaStatus status) { elements[0].GetComponent <StatusBarManager>().SetValue(status.hp, status.maxHp); elements[1].GetComponent <StatusBarManager>().SetValue(status.exp, status.maxExp); elements[2].GetComponent <StatusTextManager>().SetText(status.name.ToString()); elements[3].GetComponent <StatusTextManager>().SetLevel(status.level.ToString()); elements[4].GetComponent <StatusTextManager>().SetPower(status.power.ToString()); elements[5].GetComponent <StatusTextManager>().SetMoney(status.money.ToString()); //UI表示位置へ移動 rect.DOLocalMoveY(yPos * (-1), 1f).SetRelative(); yield return(null); }
int[] attackpos = new int[2]; //攻撃先座標 #endregion //###################################################################################################### //# 変数、配列の初期化 //###################################################################################################### //ゲームオブジェクトの格納、インスタンスの作成など // Use this for initialization void Start() { mapPosition = GameObject.Find("ObjectManager").GetComponent <MapPosition>(); battleMapManager = GameObject.Find("BattleMapManager").GetComponent <BattleMapManager>();//オブジェクト名入力 encampmentnum = GameObject.FindGameObjectsWithTag("flag").Length; gameManagement = GameObject.Find("Main Camera").GetComponent <GameManagement>(); enemyStatus = this.GetComponent <CharaStatus>(); playerStatus = new CharaStatus[4]; player = GameObject.FindGameObjectsWithTag("ally"); for (int i = 0; i < player.Length; i++) { playerStatus[i] = player[i].GetComponent <CharaStatus>(); } }
///<summery> ///プレイヤー情報入力 //別途クラス用意検討 ///</summery> public void SetPlayerStatus(GameObject p) { CharaStatus status = new CharaStatus( "fusa", image, 1, 1000, 500, 50, 1500 ); PlayerStatus playerStatus = p.GetComponent <PlayerStatus>(); playerStatus.SetStatus(status); }
///<summary> ///エネミーターン ///</summary> public IEnumerator EnemyTurnCoroutine(GameObject enemy) { //カメラ移動メソッド呼び出し cameraController.SetTarget(enemy); cameraController.ZoomInCamera(); CharaStatus status = enemy.GetComponent<EnemyStatus>().GetStatus(); //名前出力 StartCoroutine(TextManager.textManager.TextCoroutine(status.name + "のターン")); // //player順にサイコロ・移動メソッド // PlayerMoveCounter.pmCounter.InstantiateDice(); // yield return StartCoroutine(PlayerMoveCounter.pmCounter.MoveCountCoroutine(player)); // Debug.Log("ok"); cameraController.ZoomOutCamera(); yield return new WaitForSeconds(turnInterval); }
/// <summary> /// 実数値を取得する /// </summary> /// <param name="level">レベル</param> /// <param name="raceValue">種族値</param> /// <param name="effortValue">努力値</param> /// <param name="individualValue">個体値</param> public static CharaStatus GetRealStatus(int level, Personality personality, CharaStatus raceValue, CharaStatus effortValue, CharaStatus individualValue) { CharaStatus realStatus = new CharaStatus(); for (int i = 0; i < System.Enum.GetValues(typeof(CharaStatusType)).Length; i++) { CharaStatusType type = (CharaStatusType)i; if (type == CharaStatusType.Hp) { realStatus.Values[i] = GetRealHp(level, raceValue.Values[i], effortValue.Values[i], individualValue.Values[i]); } else { float personalityCorrection = personality.GetCorrection(type); realStatus.Values[i] = GetRealOtherThanHp(level, personalityCorrection, raceValue.Values[i], effortValue.Values[i], individualValue.Values[i]); } } return(realStatus); }
}//一応完成 //味方を private IEnumerator ActivateAlly()//アクティブ状態の味方キャラ { //obstaclemap = mapPosition.obstaclemap; mapPosition.ObjectInformation(ref obstaclemap, ref charamap); Debug.Log("ActivateAlly"); yield return(null); bool charaChoice = false; while (charaChoice == false) { if (Input.GetMouseButtonDown(0)) { mouseUpdate(); //Debug.Log(onMouseObject); if (onMouseObject.tag == "ally") { //Debug.Log("actionFlag = " + onMouseObject.GetComponent<CharaStatus>().actionFlag); if (onMouseObject.GetComponent <CharaStatus>().actionFlag == true) { activeChara = onMouseObject; activeCharaStatus = activeChara.GetComponent <CharaStatus>(); charaChoice = true; activeCharaPos[0] = activeCharaStatus.posX; activeCharaPos[1] = activeCharaStatus.posY; activeCharaPrePos = activeChara.transform.position; } } else { } } yield return(null); } StartCoroutine("MouseButtonCheck"); yield break; }//一応完成
///<summary> ///プレイヤーターン ///</summary> public IEnumerator PlayerTurnCoroutine(GameObject player) { //カメラ移動メソッド呼び出し cameraController.SetTarget(player); cameraController.ZoomInCamera(); CharaStatus status = player.GetComponent<PlayerStatus>().GetStatus(); //名前出力 StartCoroutine(TextManager.textManager.TextCoroutine(status.name + "のターン")); //statusUI出力 yield return StartCoroutine(pUIMana.SetElements(status)); //player順にサイコロ・移動メソッド PlayerMoveCounter.pmCounter.InstantiateDice(); yield return StartCoroutine(PlayerMoveCounter.pmCounter.MoveCountCoroutine(player)); //tileごとのイベント cameraController.ZoomOutCamera(); yield return StartCoroutine(pUIMana.RemoveUI()); yield return new WaitForSeconds(turnInterval); }
public void Heal(GameObject allyChara)//回復関数,回復させる相手を引数として渡す(自分の場合は自分が引数になる) { CharaStatus allyStatus = allyChara.GetComponent <CharaStatus>(); int charaHP = allyStatus.hp; int charaMaxHP = allyStatus.maxhp; if (actionFlag == true) { if (charaMaxHP < charaHP + heal) { charaHP = charaMaxHP; } else { charaHP = charaHP + heal; } Debug.Log(battleMapManager.turn); actionLevel[battleMapManager.turn] = 1; } allyStatus.hp = charaHP; AfterMoving(false); }
void Start() { status = player.GetComponent<CharaStatus>(); this.UpdateAsObservable() .Subscribe(_ => lineGauge.fillAmount = status.HP > 75 ? (status.HP - 75)/100.0f : 0.0f); }
void Start() { status = player.GetComponent<CharaStatus>(); this.UpdateAsObservable() .Subscribe(_ => baseCircleGauge.fillAmount = status.Max_HP > 75 ? 0.75f : status.Max_HP / 100.0f); }
public IEnumerator PlayerBattleCommand()//コマンド表示→コマンド選択を待つ→それぞれの処理を呼び出す(攻撃,回復の場合はキャラを選ぶという処理もここに書いたうえで) { yield return(null); Debug.Log("PlayerBattleCommand"); ////攻撃範囲内に敵味方がいるかの判定(途中でわけ分からんことになったからとりあえずコメントアウト) //int arrayX = activeChara.GetComponent<Charastatus>().posX;//味方キャラのx座標 //int arrayY = activeChara.GetComponent<Charastatus>().posY;//味方キャラのy座標 //int attackDistance = activeChara.GetComponent<Charastatus>().attackDistance;//味方キャラの攻撃範囲 //GameObject[,] charamap = GameObject.Find("ObjectManager").GetComponent<MapPosition>().charamap; //bool attackFlag = false; //for (int i = 0; i < 20; i++) //{ // for (int j = 0; j < 10; j++) // { // if (Mathf.Abs(i - arrayX) + Mathf.Abs(j - arrayY) <= attackDistance) // { // if (charamap[i, j].tag == "enemy") // { // attackFlag = true; // } // } // } //} //1.コマンド表示 //コマンドとマウスの当たり判定については後々 Canvas.SetActive(true); while (choosingchoice == 0) { yield return(null); } Canvas.SetActive(false); mapPosition.ObjectInformation(ref obstaclemap, ref charamap); int attackDistance = activeCharaStatus.attackDistance;//味方キャラの攻撃範囲 //コマンドが選択された後の処理 bool targetFlag = false; //クリックしたキャラが敵キャラであった場合true if (choosingchoice == 1) //攻撃を選択 { //マスの色付け for (int countX = 0; countX < maprange[0]; countX++) { for (int countY = 0; countY < maprange[1]; countY++) { if (Mathf.Abs(countX - activeCharaPos[0]) + Mathf.Abs(countY - activeCharaPos[1]) <= attackDistance) { maptips[countX, countY].GetComponent <SpriteRenderer>().color = attackColor; } } } while (targetFlag == false) { if (Input.GetMouseButtonDown(0)) { mapPosition.ObjectInformation(ref obstaclemap, ref charamap); mouseUpdate(); if (Mathf.Abs(mousePos[0] - activeCharaPos[0]) + Mathf.Abs(mousePos[1] - activeCharaPos[1]) <= attackDistance) { if (onMouseObject != null) { if (onMouseObject.tag == "enemy") { attackedChara = onMouseObject; targetFlag = true; } if (onMouseObject.tag == "bomb") { attackedChara = onMouseObject; targetFlag = true; } } } if (targetFlag == false)//攻撃対象をクリックしなかった場合この関数をもう一度開始 { yield return(null); choosingchoice = 0; MaptipsReset(); StartCoroutine("PlayerBattleCommand"); yield break; } } yield return(null); } MaptipsReset(); } if (choosingchoice == 2) //回復を選択 { bool magicAttacker = activeCharaStatus.magicAttacker; //兵種選別用の変数の呼び出し if (magicAttacker == false) //魔導士以外のキャラだったら { attackedChara = activeChara; //activeChara.GetComponent<CharaStatus>().Heal(attackedChara);//選択している味方キャラ(onMouseObject)の回復関数を呼び出し } if (magicAttacker == true)//魔導士だったら { for (int xcount = 0; xcount <= maprange[0] - 1; xcount++) { for (int ycount = 0; ycount <= maprange[1] - 1; ycount++) { if (Mathf.Abs(xcount - activeCharaPos[0]) + Mathf.Abs(ycount - activeCharaPos[1]) <= 1) { maptips[xcount, ycount].GetComponent <SpriteRenderer>().color = healColor; } } } while (targetFlag == false) { if (Input.GetMouseButtonDown(0)) { mouseUpdate(); if (Mathf.Abs(mousePos[0] - activeCharaPos[0]) + Mathf.Abs(mousePos[1] - activeCharaPos[1]) <= 1)//選択したキャラが回復範囲内なら { if (onMouseObject.tag == "ally") { attackedChara = onMouseObject; targetFlag = true; } } else { yield return(null); choosingchoice = 0; //マスの色消し MaptipsReset(); StartCoroutine("PlayerBattleCommand"); yield break; } } yield return(null); } //マスの色消し MaptipsReset(); } } if (choosingchoice == 3)//待機を選択 { attackedChara = activeChara; //Debug.Log("activeCharaPos[0](待機選択直後)" + activeCharaPos[0]+","+ "activeCharaPos[1]" + activeCharaPos[1]); } if (choosingchoice == 4) { choosingchoice = 0; activeCharaPos[0] = activeCharaStatus.posX; activeCharaPos[1] = activeCharaStatus.posY; yield return(null); StartCoroutine("MouseButtonCheck"); yield break; } attackedCharaStatus = attackedChara.GetComponent <CharaStatus>(); activeCharaStatus.posX = activeCharaPos[0]; activeCharaStatus.posY = activeCharaPos[1]; //Debug.Log( "移動後の座標(activecharaStatus,activeCharaPos)"+ activeCharaStatus.posX + "," + activeCharaStatus.posY + "," + activeCharaPos[0]+","+activeCharaPos[1]); yield return(null); IEnumerator coroutine = CharaActionWait(attackedChara, (Command)choosingchoice); StartCoroutine(coroutine);//ここで攻撃,回復,待機の実際の処理を行う関数をコルーチンで呼び出し,開始 choosingchoice = 0; yield break; }//コマンド表示、
/* * public string name; * public Sprite image; * public int level; * public int maxHp; * public int hp; * public int maxExp; * public int exp; * public int power; * public int money; */ ///<summary> ///オブジェクト生成時に外部からSET ///</summary> public void SetStatus(CharaStatus data) { status = data; SetSprite(); }
// Use this for initialization void Start() { status = GetComponent<CharaStatus>(); }
void Update() { //if (isFadeIn) //{ // if (junban == (int)Turn.ALLY) // { // YourFadeIn(); // } // if (junban == (int)Turn.ENEMY) // { // EnemyFadeIn(); // } //} //if (isFadeOut) //{ // if (junban == (int)Turn.ALLY) // { // YourFadeOut(); // } // if (junban == (int)Turn.ENEMY) // { // EnemyFadeOut(); // } //} /*例キャストの処理をいったんコメントアウト * * Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); * // Rayの当たったオブジェクトの情報を格納する * RaycastHit hit = new RaycastHit(); * // オブジェクトにrayが当たった時 * if (Physics.Raycast(ray, out hit, distance)) * { * string objectName = hit.collider.gameObject.name;// rayが当たったオブジェクトの名前を取得 * * string objectTag = hit.collider.gameObject.tag;// rayが当たったオブジェクトのタグを取得 * * * if (One) * { * if (objectTag == "Ally")//味方 * { * Charaste = GameObject.Find(objectName).GetComponent<CharaStatus>(); * CharaLEVEL = Charaste.Lv; * CharaHP = Charaste.hp; * CharaATTACK = Charaste.attack; // (/ω・\) * CharaDEFENCE = Charaste.defense; * CharaEXP = Charaste.Exp; * Debug.Log("みかた"); * Panel.SetActive(true); * * StatusText.text = * objectName + "\n" + * "Lv " + CharaLEVEL + "\n" + * "経験値 " + CharaEXP + "\n" + * "HP " + CharaHP + "\n" + * "攻撃力 " + CharaATTACK + "\n" + * "防御力 " + CharaDEFENCE; * * * * * One = false; * * } * * else if (objectTag == "Enemy")//敵 * { * Charaste = GameObject.Find(objectName).GetComponent<CharaStatus>(); * CharaHP = Charaste.hp; * CharaATTACK = Charaste.attack; * CharaDEFENCE = Charaste.defense; * Debug.Log("てき"); * Panel.SetActive(true); * * StatusText.text = * objectName + "\n" + * "HP " + CharaHP + "\n" + * "攻撃力 " + CharaATTACK + "\n" + * "防御力 " + CharaDEFENCE; * * One = false; * } * else * { * Panel.SetActive(false); * } * * } * * } * else //オブジェクトにRayが当たらないorRayが外れた時 * { * Panel.SetActive(false); * One = true; * } * */ battleMapManager.mouseUpdate(); GameObject charactor = battleMapManager.onMouseObject;// rayが当たったオブジェクトの名前を取得 waitFrame++; if (waitFrame > 50) { if (charactor.tag == "ally")//味方 { Charaste = charactor.GetComponent <CharaStatus>(); CharaLEVEL = Charaste.Lv; CharaHP = Charaste.hp; CharaATTACK = Charaste.attack; // (/ω・\) CharaDEFENCE = Charaste.defense; CharaEXP = Charaste.Exp; //Debug.Log("みかた"); Panel.SetActive(true); StatusText.text = Charaste.charaName + "\n" + "Lv " + CharaLEVEL + "\n" + "経験値 " + CharaEXP + "\n" + "HP " + CharaHP + "\n" + "攻撃力 " + CharaATTACK + "\n" + "防御力 " + CharaDEFENCE; One = false; } else if (charactor.tag == "enemy")//敵 { Charaste = charactor.GetComponent <CharaStatus>(); Occupation charaOccupation = (Occupation)Charaste.occupation; CharaHP = Charaste.hp; CharaATTACK = Charaste.attack; CharaDEFENCE = Charaste.defense; //Debug.Log("てき"); Panel.SetActive(true); StatusText.text = charaOccupation + "\n" + "HP " + CharaHP + "\n" + "攻撃力 " + CharaATTACK + "\n" + "防御力 " + CharaDEFENCE; One = false; } else { waitFrame = 0; Panel.SetActive(false); } } // マウス関係のイベントを関数にまとめる this.CameraPos(); return; }
///<summary> ///オブジェクト生成時に外部からSET ///</summary> public void SetStatus(CharaStatus data, int num) { status = data; listNum = num; SetSprite(); }