private void Update() { if (primaryCoolDown != 0) { primaryCoolDown += Time.deltaTime; } if (secondCoolDown != 0) { secondCoolDown += Time.deltaTime; } if (primaryCoolDown >= primaryMaxCool) { primaryCoolDown = 0; } if (secondCoolDown >= secondMaxCool) { secondCoolDown = 0; } if (primaryCoolDown == 0 && input.primaryPressed) { GameObject g = Instantiate(primaryAttack, transform.position + transform.forward * 1.5f, Quaternion.identity); g.GetComponent <Missile>().direction = _camera.transform.forward; g.GetComponent <Magic>().SetOwner(this); primaryCoolDown += 0.0001f; } if (secondCoolDown == 0 && input.secondaryPressed) { GameObject g = Instantiate(secondaryAttack, new Vector3(transform.position.x, transform.position.y - 0.25f, transform.position.z), Quaternion.identity); g.GetComponent <Magic>().SetOwner(this); secondCoolDown += 0.0001f; } if (xp >= maxXp) { xp -= maxXp; level++; levelUpEvent.Invoke(level); maxXp = 100 * level; } #if UNITY_EDITOR if (Input.GetKeyDown(KeyCode.C)) { Debug.Log(inventory.GetInventory().Count); foreach (IBaubleItem item in inventory.GetInventory().Keys) { Debug.Log(item.Name); } } if (Input.GetKeyDown(KeyCode.V)) { Cursor.lockState = CursorLockMode.None; SceneManager.LoadScene(1); } #endif }
void LevelUp(long userid, int level) { LevelEntry data = context.GetModule <PlayerLevelModule>().GetLevelData(level); if (data == null) { Logger.Warning(this, $"No data found for levelup to character level {level}"); return; } context.Database.Update <Player>() .Set(p => p.Level == level, p => p.Experience == p.Experience - data.Experience, p => p.CurrentHP == data.Health, p => p.MaximumHP == data.Health, p => p.CurrentMP == data.Mana, p => p.MaximumMP == data.Mana, p => p.Strength == data.Strength, p => p.Dexterity == data.Dexterity, p => p.Fitness == data.Fitness, p => p.Luck == data.Luck, p => p.Intelligence == data.Intelligence) .Where(p => p.UserID == userid) .Execute(); PlayerLevelUp?.Invoke(userid); }