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; }
void EndLighting() { if (IsLighting == true && m_LightingEnd == 0f) { m_LightingEnd = PlaybackTime; if (IsPause == ePauseType.Slow) { IsPause = ePauseType.None; } } }
protected void AppendCoroutine(IEnumerator cr, ePauseType pauseType, UnitCtrl unit) { }
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); } } }