Пример #1
0
        public async Task CheckMessage(SocketUserMessage message)
        {
            if (message == null)
            {
                return;
            }

            SocketCommandContext context = new SocketCommandContext(_client, message);

            if (context.Guild == null || message.Author.IsBot)
            {
                return;
            }

            //Checks dictionary
            if (lastMessages.TryGetValue(message.Author.Id, out DateTime time))
            {
                if (DateTime.UtcNow.Subtract(time) < TimeSpan.FromMinutes(1))
                {
                    return;
                }
            }
            lastMessages[message.Author.Id] = message.Timestamp.UtcDateTime;
            await EXPManager.AddEXP(context);
        }
Пример #2
0
    private void Awake()
    {
        #region Make Singleton
        //Check if instance already exists
        if (instance == null)
        {
            //if not, set instance to this
            instance = this;
        }

        //If instance already exists and it's not this:
        else if (instance != this)
        {
            //Then destroy this. This enforces our singleton pattern, meaning there can only ever be one instance of a GameManager.
            Destroy(gameObject);
        }

        //Sets this to not be destroyed when reloading scene
        DontDestroyOnLoad(gameObject);
        #endregion

        //ForceName
        this.name = "[MANAGER]EXP_MANAGER";

        //Check Tag
        if (!this.gameObject.CompareTag("Manager"))
        {
            XDebug.LogErrorRed(this.name + "'s Tag is not set to Manager", "!!!ERROR!!!");
        }
    }
Пример #3
0
    private void UpdateTargetStateUI(Sprite icon, float hp, float maxHp, float mp, float maxMp, int level)
    {
        targetIcon.sprite      = icon;
        targetHpBar.fillAmount = hp / maxHp;
        targetHpText.text      = Mathf.Clamp(hp, 0, maxHp) + " / " + maxHp;
        targetMpBar.fillAmount = mp / maxMp;
        targetMpText.text      = Mathf.Clamp(mp, 0, maxMp) + " / " + maxMp;

        if (target.Level >= Player.Instance.Level + 5)              // >5
        {
            targetLevelText.color = Color.red;
        }
        else if (target.Level >= Player.Instance.Level + 3)         //3~4
        {
            targetLevelText.color = new Color32(255, 124, 0, 255);
        }
        else if (target.Level >= Player.Instance.Level - 2)         //-2~2
        {
            targetLevelText.color = Color.yellow;
        }
        else if (target.Level <= Player.Instance.Level - 3 && target.Level > EXPManager.CalculateGrayLevel())
        {
            targetLevelText.color = Color.green;
        }
        else
        {
            targetLevelText.color = Color.grey;
        }

        targetLevelText.text = level + "";
    }
Пример #4
0
 // Start is called before the first frame update
 void Start()
 {
     myAnim   = GetComponent <Animator>();
     target   = FindObjectOfType <PlayerController>().transform;
     pStats   = FindObjectOfType <EXPManager>();
     audioMan = FindObjectOfType <AudioManager>();
 }
Пример #5
0
        public static async Task SetUp()
        {
            var config = new DiscordSocketConfig
            {
                AlwaysDownloadUsers = true,
                ConnectionTimeout   = 6000,
                MessageCacheSize    = 120,
                ExclusiveBulkDelete = false,
                DefaultRetryMode    = RetryMode.AlwaysRetry
            };

            client        = new DiscordSocketClient(config);
            client.Ready += Ready;
            client.Log   += Log;
            MessageHandler messageHandler = new MessageHandler(client);
            var            serviceConfig  = new CommandServiceConfig
            {
                DefaultRunMode  = RunMode.Async,
                IgnoreExtraArgs = true
            };
            CommandService service   = new CommandService(serviceConfig);
            CommandHandler handler   = new CommandHandler(client, service);
            EXPManager     XPManager = new EXPManager(client);
            await handler.InstallCommandsAsync();

            await client.LoginAsync(TokenType.Bot, HiddenInfo.mainToken);

            await client.StartAsync();
        }
Пример #6
0
 public override void Die()
 {
     base.Die();
     ActivateLayer("DeathLayer");
     myAnimator.SetBool("Die", dead);
     GameManager.Instance.EnemyOnDaed(this);
     Player.Instance.AddExp(EXPManager.CalculateEXP(this));
     gameObject.layer = LayerMask.NameToLayer("Interactable");
 }
Пример #7
0
 private void Awake()
 {
     inventory       = GetComponent <Inventory>();
     dialogueManager = GetComponent <DialogueManager>();
     questManager    = GetComponent <QuestManager>();
     moneyManager    = GetComponent <MoneyManager>();
     saveManager     = GetComponent <SaveManager>();
     expManager      = GetComponent <EXPManager>();
     musicManager    = GetComponentInChildren <MusicManager>();
     itemManager     = GetComponent <ItemManager>();
 }
Пример #8
0
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
         // DontDestroyOnLoad(gameObject); //We dont need this here because its a child gameobject of the main UI which is already set to Dont Destroy on load.
     }
     else
     {
         Destroy(gameObject); //Failsafe we shoud (hopefully) NEVER have to use this due to the starting level.
     }
 }
Пример #9
0
    public void ShowTargetFrame(Enemy target)
    {
        targetFrame.SetActive(true);
        enemyHealthStat.Initialize(target.MyHealth.MyCurrentValue, target.MyHealth.MyMaxValue);

        enemyLevelText.text = target.MyLevel.ToString();
        enemyNameText.text  = target.MyName;

        // I have an event on target called healthchanged,
        // updatetargetframe listens for a change in HealthChanged
        // if event is triggered, it executes function UpdateTargetFrame
        target.healthChanged += new HealthChanged(UpdateTargetFrame);

        target.characterRemoved += new CharacterRemoved(HideTargetFrame);

        // change level text colour of enemy relative to player's level
        if (target.MyLevel >= Player.MyInstance.MyLevel + 5)
        {
            enemyLevelText.color = Color.red;
        }
        else if (target.MyLevel == Player.MyInstance.MyLevel + 3 || target.MyLevel == Player.MyInstance.MyLevel + 4)
        {
            enemyLevelText.color = new Color32(255, 124, 0, 255);
        }
        else if (target.MyLevel >= Player.MyInstance.MyLevel - 2 && target.MyLevel <= Player.MyInstance.MyLevel + 2)
        {
            enemyLevelText.color = Color.yellow;
        }
        else if (target.MyLevel <= Player.MyInstance.MyLevel - 3 && target.MyLevel > EXPManager.CalculateGrayLevel())
        {
            enemyLevelText.color = Color.green;
        }
        else
        {
            enemyLevelText.color = Color.gray;
        }
    }
Пример #10
0
    public void CompleteQuest()
    {
        if (selectedQuest.IsComplete)
        {
            foreach (CollectObjective collectObjective in selectedQuest.CollectObjectives)
            {
                Inventory.Instance.itemCountChangedEvent -= collectObjective.UpdateItemCount;
                collectObjective.Complete();
            }

            foreach (KillObjective collectObjective in selectedQuest.KillObjectives)
            {
                GameManager.Instance.EnemyOnDeadEvent -= collectObjective.UpdateKillCount;
            }

            Player.Instance.AddExp(EXPManager.CalculateEXP(selectedQuest));

            selectedQuestGiver.CompleteQuest(selectedQuest);

            Questlog.Instance.RemoveQuest(selectedQuest);

            Back();
        }
    }
Пример #11
0
 private void Awake()
 {
     _instance = this;
     slider    = GetComponent <Slider>();
 }
Пример #12
0
 /// <summary>
 /// Sets up the singleton
 /// </summary>
 void Awake()
 {
     instance        = this;
     m_sacrificeCost = NextLevelEXP(m_clickExpLvl++);
 }