/// <summary> /// Playerとアイテムのあたり判定 /// </summary> /// <param name="chara">Player</param> /// <param name="ui">UI表示用()Debug</param> public void ItemCollision(CharacterBase chara, DungeonUI ui) { int index = 0; DungeonHintUI hint = ui.HintUI; hint.Switch(false); //UIを非表示 items.ForEach(i => { if (chara.Collision.IsCollision(i.Collisiton)) { string itemName = i.GetItem().GetItemName(); hint.Switch(true); //当たっていれば表示 hint.SetMessage("拾う:Space " + itemName); //表示するメッセージ bool result = false; if (hint.IsPush(Keys.Space)) //拾ったらもらう処理 { result = GetItem(index, ui); } if (result) //道具欄に追加成功したらメッセージをOFF { hint.Switch(false); } return; } index++; }); }
/// <summary> /// ヒントUIの更新 /// </summary> private void UpdateHint() { hintUI.Update(); Vector2 pos = Vector2.Lerp(hintPos + new Vector2(200, 0), hintPos, hintUI.CurrentAlpha()); hintUI.SetPosition(pos); //文字位置調整 if (onButton == ButtonEnum.NULL) //マウスがボタン上でない場合 { hintUI.Switch(false); //表示しない return; } hintUI.Switch(true); //表示する hintUI.SetMessage(hint[(int)onButton]); //Hint文字設定 }
/// <summary> /// ヒントUI、メッセージを初期化 /// </summary> private void InitHint() { hintPos = new Vector2(30, Def.WindowDef.WINDOW_HEIGHT - 30); hintUI = new DungeonHintUI(gameDevice); hintUI.SetPosition(hintPos); hintUI.Switch(false); hintUI.SetSpeed(0.07f); hint = new string[(int)ButtonEnum.NULL]; hint[(int)ButtonEnum.Dungeonbutton] = "ダンジョン:ダンジョンへ冒険する"; hint[(int)ButtonEnum.Guildtbutton] = "ギルド:ギルドから依頼を受ける"; hint[(int)ButtonEnum.Shopbutton] = "ショップ:アイテムを売買できる"; hint[(int)ButtonEnum.Upgradebutton] = "鍛冶屋:武器や防具の強化ができる"; hint[(int)ButtonEnum.Depotbutton] = "倉庫:アイテムを保存できる"; }