// Start is called before the first frame update void Start() { playerRigidbody = GetComponent <Rigidbody2D>(); anim = GetComponent <Animator>(); spriteRenderer = GetComponent <SpriteRenderer>(); defaultMoveSpeed = moveSpeed; ic = GetComponent <ItemChecker>(); }
void Start() { _ARTrackedImage = GetComponent <ARTrackedImage>(); //CheckName(_ARTrackedImage.referenceImage.name); itemCheckerObject = GameObject.Find("ItemChecker"); itemChecker = itemCheckerObject.GetComponent <ItemChecker>(); itemRestart = itemCheckerObject.GetComponent <Restart>(); CheckNamesOfItems(); }
// Update is called once per frame void Update() { operation = GameObject.FindGameObjectWithTag("Operation"); op = operation.GetComponent <Operation>(); iChecker = GameObject.FindGameObjectWithTag("ItemChecker"); ic = iChecker.GetComponent <ItemChecker>(); operation = GameObject.FindGameObjectWithTag("Operation"); ItemDisplay(); }
// Update is called once per frame void Update() { iChecker = GameObject.FindGameObjectWithTag("ItemChecker"); ic = iChecker.GetComponent <ItemChecker>(); if (Operation.mageFlag) { //当たり判定 オン collider2D.enabled = true; //マウスのほうへ向く //プレイヤーのスクリーン座標を計算する var screenPos = Camera.main.WorldToScreenPoint(transform.position); //プレイヤーから見たマウスカーソルの方向を計算する var direction = Input.mousePosition - screenPos; magicAngle = Utils.GetAngle(Vector3.zero, direction); var angles = transform.localEulerAngles; angles.z = magicAngle; //方向指定 PlayerRote(magicAngle); attackCount += Time.deltaTime; //メニューが閉じているなら if (Time.timeScale > 0) { //攻撃カウントが足りているなら if (attackInterval <= attackCount) { //攻撃する Attack(); } } //Teleport(teleportRange, slopeRange); if (!ic.SpeedFlag) { moveSpeed = defaultMoveSpeed; } } else { //Mp回復 mpCount += Time.deltaTime; if (mpCount >= 1 && playerMaxMp > playerMp) { playerMp += 5; mpCount = 0; } collider2D.enabled = false; var direction = Archer.instance.transform.position - transform.position; var angle = Utils.GetAngle(Vector3.zero, direction); //向き指定 PlayerRote(angle); Tracking(); } }
void Awake() { if (instance == null) { instance = this; } else if (instance == this) { Destroy(this.gameObject); } }
//ダメージを与える public void Damage(int damage) { ic = GetComponent <ItemChecker>(); if (ic.ArmorFlag) { playerHp -= damage / 4; } else if (!ic.ArmorFlag) { playerHp -= damage; } //HPがまだある場合、ここで処理を終える if (0 < playerHp) { return; } //gameObject.SetActive(false); }
// Start is called before the first frame update void Start() { iChecker = GameObject.FindGameObjectWithTag("ItemChecker"); ic = iChecker.GetComponent <ItemChecker>(); }
// Update is called once per frame void Update() { iChecker = GameObject.FindGameObjectWithTag("ItemChecker"); ic = iChecker.GetComponent <ItemChecker>(); //操作モード if (Operation.knightFlag) { //当たり判定 オン collider2D.enabled = true; //マウスを向けた方向を向く //プレイヤーのスクリーン座標を計算する var screenPos = Camera.main.WorldToScreenPoint(transform.position); //プレイヤーから見たマウスカーソルの方向を計算する var direction = Input.mousePosition - screenPos; var angle = Utils.GetAngle(Vector3.zero, direction); var angles = transform.localEulerAngles; angles.z = angle; PlayerRote(angle); //Mpが足りているなら if (playerMp >= guardMp) { //ガードする Guard(); } else { isGuard = false; //速さをもとに戻す moveSpeed = speed; //オブジェクトを削除する Destroy(guard_Prefab); //アニメーションオフ anim.SetBool("Guard@Down", false); anim.SetBool("Guard@DownRight", false); anim.SetBool("Guard@DownLeft", false); anim.SetBool("Guard@UpRight", false); anim.SetBool("Guard@UpLeft", false); anim.SetBool("Guard@Up", false); anim.SetBool("Guard@Right", false); anim.SetBool("Guard@Left", false); } attackCount += Time.deltaTime; //メニューが閉じているなら if (Time.timeScale > 0) { //ガードしていない時 if (!isGuard) { //Mpがあるなら if (playerMp > shootMp) { //攻撃カウントが足りているなら if (attackInterval <= attackCount) { //攻撃する Attack(); } } } } //ガード中なら if (isGuard) { //Mpカウントプラス guardMpCount += Time.deltaTime; if (guardMpCount > 0.5) { //Mp消費 playerMp -= guardMp; guardMpCount = 0; } } //プレイヤーHpがMaxを超えたらMaxまで戻す if (playerHp >= playerMaxHp) { playerHp = playerMaxHp; } if (playerHp <= 0 && !ic.RevivalFlag) { gameObject.SetActive(false); Invoke("Death", 0.51f); } if (!ic.SpeedFlag) { moveSpeed = defaultMoveSpeed; } } //追尾モード else { //Mp回復 mpCount += Time.deltaTime; if (mpCount >= 1 && playerMaxMp > playerMp) { playerMp += 10; mpCount = 0; } //当たり判定オフ collider2D.enabled = false; //追尾モード Tracking(); var direction = Mage.instance.transform.position - transform.position; var angle = Utils.GetAngle(Vector3.zero, direction); //向き指定 PlayerRote(angle); } }
public async Task <Guid> Handle(Command request, CancellationToken cancellationToken) { var dictionary = await _context.Dictionaries.FindAsync(request.DictionaryId); if (dictionary == null) { throw new RestException(HttpStatusCode.NotFound, ErrorType.DictionaryNotFound); } if (dictionary.WordsCount + dictionary.PhrasesCount == 8000) { throw new RestException(HttpStatusCode.BadRequest, ErrorType.ItemsLimitReached); } var originalLower = request.Original.ToLower(); var translationLower = request.Translation.ToLower(); if (ItemChecker.AreEqual(originalLower, translationLower)) { throw new RestException(HttpStatusCode.BadRequest, ErrorType.ItemOriginalOrTranslationContainEachOther); } if (request.Definition != null && ItemChecker.DoesDefinitionContainItem(request.Definition, originalLower, translationLower)) { throw new RestException(HttpStatusCode.BadRequest, ErrorType.ItemDefinitionContainsOriginalOrTranslation); } var item = new Item { Dictionary = dictionary, Original = request.Original, Translation = request.Translation, Definition = request.Definition, DefinitionOrigin = request.DefinitionOrigin, Type = request.Type, CreationDate = DateTime.Now, IsStarred = request.IsStarred, GoesForNextDay = request.IsStarred, }; if (item.Type == ItemType.Word) { dictionary.WordsCount++; } else { dictionary.PhrasesCount++; } _context.Items.Add(item); var success = await _context.SaveChangesAsync() > 0; if (success) { return(item.Id); } throw new RestException(HttpStatusCode.InternalServerError, ErrorType.SavingChangesError); }
public async Task <Unit> Handle(Command request, CancellationToken cancellationToken) { var dictionary = await _context.Dictionaries.FindAsync(request.DictionaryId); if (dictionary == null) { throw new RestException(HttpStatusCode.NotFound, ErrorType.DictionaryNotFound); } var item = await _context.Items.FindAsync(request.ItemId); if (item == null) { throw new RestException(HttpStatusCode.NotFound, ErrorType.ItemNotFound); } var originalLower = request.Original.ToLower(); var translationLower = request.Translation.ToLower(); if (request.Definition != null && ItemChecker.DoesDefinitionContainItem(request.Definition, originalLower, translationLower)) { throw new RestException(HttpStatusCode.BadRequest, ErrorType.ItemDefinitionContainsOriginalOrTranslation); } if (!item.Original.ToLower().Equals(originalLower) || !item.Translation.ToLower().Equals(translationLower)) { if (ItemChecker.AreEqual(originalLower, translationLower)) { throw new RestException(HttpStatusCode.BadRequest, ErrorType.ItemOriginalOrTranslationContainEachOther); } if (item.IsLearned) { if (item.Type == ItemType.Word) { dictionary.LearnedWordsCount--; } else { dictionary.LearnedPhrasesCount--; } } item.IsLearned = false; item.CorrectAnswersToCompletionCount = 0; item.CreationDate = DateTime.Now; } item.Original = request.Original; item.Translation = request.Translation; item.Definition = request.Definition; item.DefinitionOrigin = request.DefinitionOrigin; var success = await _context.SaveChangesAsync() > 0; if (success) { return(Unit.Value); } throw new RestException(HttpStatusCode.InternalServerError, ErrorType.SavingChangesError); }