Exemplo n.º 1
0
    public void AddLighting(ICreature lighting_creature, float slow_time, float scale_time, float jump_scale)
    {
        //        time -= 0.2f;
        ClearLightingTarget();

#if !SH_ASSETBUNDLE
        if (ConfigData.Instance.UseBattleEffect == false)
        {
            scale_time = 0f;
        }
#endif

        foreach (var creature in m_LightingCreatures)
        {
            if (creature.Creature.IsTeam != lighting_creature.IsTeam)
            {
                creature.SetEnd(false);
            }
        }

        m_LightingCreatures.Add(new LightingCreature(lighting_creature, Mathf.Min(slow_time, 1.2f + BattleConfig.Instance.SkillDelay), scale_time, jump_scale));

        IsLighting = true;
        if (IsPause == ePauseType.None)
        {
            m_LightingStart = PlaybackTime;

            IsPause = ePauseType.Slow;
        }
        m_LightingEnd = 0f;
    }
Exemplo n.º 2
0
 void EndLighting()
 {
     if (IsLighting == true && m_LightingEnd == 0f)
     {
         m_LightingEnd = PlaybackTime;
         if (IsPause == ePauseType.Slow)
         {
             IsPause = ePauseType.None;
         }
     }
 }
Exemplo n.º 3
0
 protected void AppendCoroutine(IEnumerator cr, ePauseType pauseType, UnitCtrl unit)
 {
 }
Exemplo n.º 4
0
    virtual public void SetActionMode(bool set_mode, eActionMode mode, ICreature leader_creature, bool need_backup_scale)
    {
        if (BattleBase.CurrentBattleMode == eBattleMode.None)
        {
            return;
        }

        if (set_mode)
        {
            IsPause           = ePauseType.Pause;
            m_Light.intensity = 1f;
            TextManager.Instance.Clear();

            backup_container = leader_creature.Container;

            foreach (var creature in m_LightingCreatures)
            {
                creature.Creature.Character.transform.localScale = Vector3.one * creature.Creature.Scale;
            }

            List <ICreature> team_creatures  = null;
            List <ICreature> enemy_creatures = null;

            if (leader_creature.IsTeam)
            {
                leader_creature.Character.transform.SetParent(battle_layout.m_Mine.Center.transform, false);
                team_creatures  = characters;
                enemy_creatures = enemies;
            }
            else
            {
                leader_creature.Character.transform.SetParent(battle_layout.m_Enemy.Center.transform, false);
                team_creatures  = enemies;
                enemy_creatures = characters;
            }

            backup_scale = leader_creature.Scale;
            if (need_backup_scale)
            {
                leader_creature.Character.transform.localScale = Vector3.one;
                leader_creature.Scale = 1f;
            }

            foreach (var creature in team_creatures)
            {
                eCharacterDummyMode dummy_mode = eCharacterDummyMode.Hidden;
                if (creature == leader_creature)
                {
                    dummy_mode = eCharacterDummyMode.Active;
                }
                else if (mode == eActionMode.NotHidden || mode == eActionMode.EnemyHidden)
                {
                    dummy_mode = eCharacterDummyMode.Dummy;
                }

                creature.SetDummyMode(dummy_mode);
                if (dummy_mode == eCharacterDummyMode.Active)
                {
                    LightingTarget.SetType(creature.Character, eLightingType.Active);
                }
            }

            foreach (var creature in enemy_creatures)
            {
                eCharacterDummyMode dummy_mode = eCharacterDummyMode.Hidden;
                if (mode == eActionMode.NotHidden || mode == eActionMode.TeamHidden)
                {
                    dummy_mode = eCharacterDummyMode.Dummy;
                }
                creature.SetDummyMode(dummy_mode);
            }

            foreach (var particle in m_PlayingParticles)
            {
                particle.SetHidden(true);
            }

            m_SkillCamera.transform.localPosition = Vector3.zero;
            m_SkillCamera.transform.localRotation = Quaternion.identity;
            m_SkillCamera.gameObject.SetActive(true);
            backup_camera         = Camera.main;
            backup_camera.enabled = false;
            if (m_Bottom != null)
            {
                m_Bottom.SetActive(false);
            }
        }
        else
        {
            backup_camera.enabled = true;
            m_SkillCamera.gameObject.SetActive(false);
            IsPause = ePauseType.None;
            if (m_Bottom != null)
            {
                m_Bottom.SetActive(true);
            }

            leader_creature.Character.transform.SetParent(backup_container.transform, false);
            leader_creature.Scale = backup_scale;
            leader_creature.Character.transform.localScale = Vector3.one * backup_scale;
            backup_container = null;

            //             LightingTarget.SetType(leader_creature.Character, eLightingType.None);

            List <ICreature> team_creatures  = null;
            List <ICreature> enemy_creatures = null;
            if (leader_creature.IsTeam)
            {
                team_creatures  = characters;
                enemy_creatures = enemies;
            }
            else
            {
                team_creatures  = enemies;
                enemy_creatures = characters;
            }

            foreach (var creature in team_creatures)
            {
                if (creature != null)
                {
                    creature.SetDummyMode(eCharacterDummyMode.None);
                    var target = m_LightingTargets.Find(t => t.Character == creature.Character);
                    if (target != null)
                    {
                        target.SetType();
                    }
                    else
                    {
                        LightingTarget.SetType(creature.Character, eLightingType.None);
                    }
                }
            }
            foreach (var creature in enemy_creatures)
            {
                if (creature != null)
                {
                    creature.SetDummyMode(eCharacterDummyMode.None);
                    var target = m_LightingTargets.Find(t => t.Character == creature.Character);
                    if (target != null)
                    {
                        target.SetType();
                    }
                    else
                    {
                        LightingTarget.SetType(creature.Character, eLightingType.None);
                    }
                }
            }

            foreach (var particle in m_PlayingParticles)
            {
                particle.SetHidden(false);
            }
        }
    }