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
    }
예제 #2
0
        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);
        }