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); }
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!!!"); } }
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 + ""; }
// Start is called before the first frame update void Start() { myAnim = GetComponent <Animator>(); target = FindObjectOfType <PlayerController>().transform; pStats = FindObjectOfType <EXPManager>(); audioMan = FindObjectOfType <AudioManager>(); }
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(); }
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"); }
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>(); }
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. } }
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; } }
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(); } }
private void Awake() { _instance = this; slider = GetComponent <Slider>(); }
/// <summary> /// Sets up the singleton /// </summary> void Awake() { instance = this; m_sacrificeCost = NextLevelEXP(m_clickExpLvl++); }