示例#1
0
 public void LoadTarget(string path)
 {
     _target = path;
     EventMessanger?.Invoke($"\nStart load target: {path}");
     _protocol.LoadTarget(path);
     EventMessanger?.Invoke($"\nFinish load target: {path}");
 }
 private void KO()
 {
     StopAllCoroutines();
     arm.localEulerAngles = new Vector3(0, 0, 0);
     state = DarkPlayerState.DoNothing;
     EventMessanger.GetInstance().TriggerEvent(new DeleteAttacksEvent(gameObject));
 }
示例#3
0
 void Start()
 {
     currentHealth     = maxHealth;
     phaseTransitioner = GetComponent <IPhaseTransition>();
     EventMessanger.GetInstance().TriggerEvent(new EnemyMaxHealthEvent(maxHealth));
     EventMessanger.GetInstance().TriggerEvent(new EnemyCurrentHealthEvent(maxHealth));
 }
示例#4
0
 void KO()
 {
     print("KO'ed");
     playerSpriteRenderer.enabled    = false;
     playerArmSpriteRenderer.enabled = false;
     EventMessanger.GetInstance().TriggerEvent(new PlayerDefeatEvent());
 }
 void OnDisable()
 {
     EventMessanger.GetInstance().UnsubscribeEvent(typeof(PlayerVictoryEvent), this);
     EventMessanger.GetInstance().UnsubscribeEvent(typeof(PlayerDefeatEvent), this);
     EventMessanger.GetInstance().UnsubscribeEvent(typeof(EnemyStartingDataEvent), this);
     EventMessanger.GetInstance().UnsubscribeEvent(typeof(PhaseTransitionEvent), this);
 }
 void Update()
 {
     if (Input.GetButtonDown("Start"))
     {
         AudioManager.GetInstance().PlaySound(Sound.MenuClick);
         if (menuActive == false)
         {
             Time.timeScale           = 0;
             menuActive               = true;
             menuGroup.alpha          = 1f;
             menuGroup.blocksRaycasts = true;
             menuGroup.interactable   = true;
             EventMessanger.GetInstance().TriggerEvent(new WorldMapMenuEvent(true));
         }
         else
         {
             Time.timeScale           = 1;
             menuActive               = false;
             menuGroup.alpha          = 0f;
             menuGroup.blocksRaycasts = false;
             menuGroup.interactable   = false;
             EventMessanger.GetInstance().TriggerEvent(new WorldMapMenuEvent(false));
         }
     }
 }
 void OnDisable()
 {
     EventMessanger.GetInstance().UnsubscribeEvent(typeof(PlayerVictoryEvent), this);
     EventMessanger.GetInstance().UnsubscribeEvent(typeof(PlayerDefeatEvent), this);
     EventMessanger.GetInstance().UnsubscribeEvent(typeof(ConversationEndEvent), this);
     EventMessanger.GetInstance().UnsubscribeEvent(typeof(FinalBossDefeatedEvent), this);
 }
        private IEnumerator MoveToNewNode(WorldMapNode newNode)
        {
            AudioManager.GetInstance().PlaySound(Sound.WhooshSmall);

            canMove = false;

            // Make the player sprite face in the movement direction

            bool facingRight = newNode.Position.x > CURRENT_NODE.Position.x;

            spriteTransform.localScale = new Vector3(facingRight ? 1f : -1f, 1f, 1f);

            // Play an animation of moving to the new node

            float distance = Vector3.Distance(CURRENT_NODE.Position, newNode.Position);
            float length   = distance / movementSpeed;

            for (float f = 0; f < length; f += Time.deltaTime)
            {
                float t = Mathf.SmoothStep(0, 1, f / length);
                transform.position = Vector3.Lerp(CURRENT_NODE.Position, newNode.Position, t);

                yield return(null);
            }

            // Set the current node to the new node and allow movement again

            transform.position = newNode.Position;
            CURRENT_NODE       = newNode;

            EventMessanger.GetInstance().TriggerEvent(new WorldMapMovementEvent(CURRENT_NODE));

            canMove = true;
        }
 void OnEnable()
 {
     EventMessanger.GetInstance().SubscribeEvent(typeof(ConversationEndEvent), this);
     EventMessanger.GetInstance().SubscribeEvent(typeof(EnemyCurrentHealthEvent), this);
     EventMessanger.GetInstance().SubscribeEvent(typeof(PhaseTransitionEvent), this);
     EventMessanger.GetInstance().SubscribeEvent(typeof(TutorialSkillSwapEvent), this);
     EventMessanger.GetInstance().SubscribeEvent(typeof(TutorialPlayerMovedEvent), this);
 }
示例#10
0
 void TransitionPhases(int nextPhase)
 {
     maxHealth     = phaseTransitioner.GetPhaseMaxHP(nextPhase, this.level);
     currentHealth = maxHealth;
     EventMessanger.GetInstance().TriggerEvent(new EnemyMaxHealthEvent(maxHealth));
     EventMessanger.GetInstance().TriggerEvent(new EnemyCurrentHealthEvent(currentHealth));
     phaseTransitioner.PhaseTransition(nextPhase);
 }
示例#11
0
 void OnDisable()
 {
     EventMessanger.GetInstance().UnsubscribeEvent(typeof(PlayerVictoryEvent), this);
     EventMessanger.GetInstance().UnsubscribeEvent(typeof(PlayerDefeatEvent), this);
     EventMessanger.GetInstance().UnsubscribeEvent(typeof(ConversationStartEvent), this);
     EventMessanger.GetInstance().UnsubscribeEvent(typeof(ConversationEndEvent), this);
     EventMessanger.GetInstance().UnsubscribeEvent(typeof(EnemyStartingDataEvent), this);
 }
示例#12
0
 void CheckSwapSkill()
 {
     if (Input.GetButtonDown("X"))
     {
         ChangeActiveSkill();
         EventMessanger.GetInstance().TriggerEvent(new TutorialSkillSwapEvent());
     }
 }
示例#13
0
 void KO()
 {
     if (!defeated)
     {
         defeated = true;
         EventMessanger.GetInstance().TriggerEvent(new PlayerVictoryEvent());
     }
 }
示例#14
0
 void KO()
 {
     playerSpriteRenderer.enabled     = false;
     playerArmSpriteRenderer.enabled  = false;
     playerHeadSpriteRenderer.enabled = false;
     EventMessanger.GetInstance().TriggerEvent(new PlayerDefeatEvent());
     EventMessanger.GetInstance().TriggerEvent(new DeleteAttacksEvent(gameObject));
 }
    void OnDisable()
    {
        EventMessanger.GetInstance().UnsubscribeEvent(typeof(PhaseTransitionEvent), this);
        EventMessanger.GetInstance().UnsubscribeEvent(typeof(EnemyStartingDataEvent), this);
        EventMessanger.GetInstance().UnsubscribeEvent(typeof(PlayerVictoryEvent), this);

        EventMessanger.GetInstance().TriggerEvent(new DeleteAttacksEvent(gameObject));
    }
示例#16
0
 public void gainEnergy(float energy)
 {
     if (energy > 0)
     {
         currentEnergy += energy;
     }
     EventMessanger.GetInstance().TriggerEvent(new PlayerCurrentEnergyEvent(currentEnergy));
 }
示例#17
0
        public void Init()
        {
            EventMessanger?.Invoke($"\nStart load origin: {_origin}");
            _protocol.Read(_origin);
            _protocol.Objectivation(false);
            EventMessanger?.Invoke($"\nFinish load origin: {_origin}");

            EventMessanger?.Invoke("ToolModXd is ready\n");
        }
示例#18
0
 void TransitionPhases(int nextPhase)
 {
     EventMessanger.GetInstance().TriggerEvent(new PhaseTransitionEvent(nextPhase));
     invulnerabilityTimer = 1.5f;
     currentHealth        = maxHealth;
     EventMessanger.GetInstance().TriggerEvent(new EnemyMaxHealthEvent(maxHealth));
     EventMessanger.GetInstance().TriggerEvent(new EnemyHealthTransitionEvent(1.5f, nextPhase));
     EventMessanger.GetInstance().TriggerEvent(new PhaseTransitionEvent(nextPhase));
 }
示例#19
0
 void ChangeActiveSkill()
 {
     activeSkill.SetInactiveSkill();
     activeSkillIndex++;
     activeSkillIndex %= equipedSkills.Length;
     activeSkill       = equipedSkills[activeSkillIndex];
     activeSkill.SetActiveSkill();
     EventMessanger.GetInstance().TriggerEvent(new SkillIconEvent(activeSkillIndex + 1));
 }
示例#20
0
    void OnDisable()
    {
        EventMessanger.GetInstance().UnsubscribeEvent(typeof(ConversationEndEvent), this);
        EventMessanger.GetInstance().UnsubscribeEvent(typeof(EnemyCurrentHealthEvent), this);
        EventMessanger.GetInstance().UnsubscribeEvent(typeof(PhaseTransitionEvent), this);
        EventMessanger.GetInstance().UnsubscribeEvent(typeof(TutorialSkillSwapEvent), this);
        EventMessanger.GetInstance().UnsubscribeEvent(typeof(TutorialPlayerMovedEvent), this);

        EventMessanger.GetInstance().TriggerEvent(new DeleteAttacksEvent(gameObject));
    }
示例#21
0
 public void ResumeButton()
 {
     AudioManager.GetInstance().PlaySound(Sound.MenuClick);
     Time.timeScale           = 1;
     menuActive               = false;
     menuGroup.alpha          = 0f;
     menuGroup.blocksRaycasts = false;
     menuGroup.interactable   = false;
     EventMessanger.GetInstance().TriggerEvent(new WorldMapMenuEvent(false));
 }
示例#22
0
 void OnEnable()
 {
     EventMessanger.GetInstance().SubscribeEvent(typeof(DeleteAttacksEvent), this);
     centerPoint  = transform.position;
     timeCounter  = 0;
     speed        = 10;
     deactivating = false;
     StopAllCoroutines();
     anim.SetTrigger("Appear");
     GetComponent <SpriteRenderer>().enabled = true;
 }
示例#23
0
    void OnEnable()
    {
        timeCounter = 0;
        if (bounces == 0)
        {
            bounces = 2;
        }
        moveSpeed = 5;

        EventMessanger.GetInstance().SubscribeEvent(typeof(DeleteAttacksEvent), this);
    }
 void LoadEnemy()
 {
     if ((int)enemyType > enemyPrefabs.Length)
     {
         Instantiate(enemyPrefabs[0]);
     }
     else
     {
         Instantiate(enemyPrefabs[(int)enemyType]);
     }
     EventMessanger.GetInstance().TriggerEvent(new EnemyStartingDataEvent(enemyLevel, enemyMaxPhase, enemyType));
 }
示例#25
0
 public void HealHealthPortion(float portion)
 {
     if (portion > 0)
     {
         currentHealth += maxHealth * portion;
         if (currentHealth > maxHealth)
         {
             currentHealth = maxHealth;
         }
         EventMessanger.GetInstance().TriggerEvent(new EnemyCurrentHealthEvent(currentHealth));
     }
 }
示例#26
0
 public void HealHealth(float healthHealed)
 {
     if (healthHealed > 0)
     {
         currentHealth += healthHealed;
         if (currentHealth > maxHealth)
         {
             currentHealth = maxHealth;
         }
         EventMessanger.GetInstance().TriggerEvent(new EnemyCurrentHealthEvent(currentHealth));
     }
 }
示例#27
0
 public void ConsumeEvent(IEvent e)
 {
     if (e.GetType() == typeof(PostBattleDialogStartEvent))
     {
         PostBattleDialogStartEvent dialogStartEvent = e as PostBattleDialogStartEvent;
         if (dialogStartEvent.phase == 3 && dialogStartEvent.playerVictory == true)
         {
             EventMessanger.GetInstance().TriggerEvent(new FinalBossDefeatedEvent());
         }
         Converse(dialogStartEvent.phase, dialogStartEvent.playerVictory);
     }
 }
示例#28
0
    void SetStats(int level)
    {
        EnemyStatus enemyStatus = GetComponent <EnemyStatus>();
        KnifeDummy  knifeDummy  = GetComponent <KnifeDummy>();

        EventMessanger.GetInstance().TriggerEvent(new EnemyDisplayLevelEvent(level));
        enemyStatus.maxHealth = 5 * (level + 1);
        knifeDummy.SetSecondForm(level >= 40);
        GameObject player = GameObject.FindGameObjectWithTag("Player");

        knifeDummy.SetPlayerTransform(player.transform);
    }
示例#29
0
 void KO()
 {
     if (!defeated)
     {
         defeated = true;
         LoadBattleSceneScript loadBattleSceneScript = FindObjectOfType <LoadBattleSceneScript>();
         GameJolt.API.Scores.Add(
             new Score((int)Time.timeSinceLevelLoad,
                       Time.timeSinceLevelLoad.ToString(), "Someone w/ " + SystemInfo.deviceModel),
             HighscoresManager.GetHighscoresIndex(loadBattleSceneScript.EnemyType, loadBattleSceneScript.EnemyLevel), isSuccess => Debug.Log("Highscores update success=" + isSuccess));
         EventMessanger.GetInstance().TriggerEvent(new PlayerVictoryEvent());
     }
 }
示例#30
0
    void OnEnable()
    {
        this.deactivating    = false;
        spriteRenderer.color = new Color(1, 1, 1, 1);
        speed = START_SPEED;
        transform.localScale        = STARTING_SCALE;
        remainingTime               = BASE_TIME;
        spriteRenderer.sortingOrder = 200;
        SetAnglesFromRotation();
        transform.rotation = Quaternion.Euler(Vector3.zero);

        EventMessanger.GetInstance().SubscribeEvent(typeof(DeleteAttacksEvent), this);
    }