少年修仙传客户端代码仓库
client_linchunjie
2018-11-05 a53d9c165c595b27f24c4165d77b37b68571ef55
4529【前端】【1.2】BOSS秀增加跳过按钮
5个文件已修改
228 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/ActorShowConfig.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/ActorShowConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BossShow/BossShowModel.cs 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BossShow/BossShowWin.cs 153 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BossShow/ShowActor.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/ActorShowConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:            第二世界
//    [  Date ]:           Tuesday, June 12, 2018
//    [  Date ]:           Monday, November 05, 2018
//--------------------------------------------------------
using UnityEngine;
@@ -9,8 +9,8 @@
namespace TableConfig {
    
    public partial class ActorShowConfig : ConfigBase {
    public partial class ActorShowConfig : ConfigBase {
        public int ID { get ; private set ; }
        public int NpcID { get ; private set ; }
        public int MapID { get ; private set ; }
@@ -34,15 +34,16 @@
        public int Dialogue { get ; private set ; }
        public int soundId { get ; private set ; }
        public int soundTime { get ; private set ; }
        public int step { get ; private set ; }
        public override string getKey()
        {
            return ID.ToString();
        public override string getKey()
        {
            return ID.ToString();
        }
        public override void Parse() {
            try
            {
            try
            {
                ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; 
            
                NpcID=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; 
@@ -118,10 +119,12 @@
                soundId=IsNumeric(rawContents[21]) ? int.Parse(rawContents[21]):0; 
            
                soundTime=IsNumeric(rawContents[22]) ? int.Parse(rawContents[22]):0; 
            }
            catch (Exception ex)
            {
                DebugEx.Log(ex);
                step=IsNumeric(rawContents[23]) ? int.Parse(rawContents[23]):0;
            }
            catch (Exception ex)
            {
                DebugEx.Log(ex);
            }
        }
    
Core/GameEngine/Model/Config/ActorShowConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: bda508e995d835441ae75633251ca0d2
timeCreated: 1528814998
timeCreated: 1541416287
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/BossShow/BossShowModel.cs
@@ -33,6 +33,7 @@
        public List<ShowActor> showTargetList { get; private set; }
        public bool BossShowing { get; private set; }
        public Camera showCamera { get; private set; }
        public bool satisfyStep { get; private set; }
        private bool serverNotify = false;
        private int cacheMapId = 0;
        private const string BOSS_SHOW_KEY = "BossShow";
@@ -48,6 +49,8 @@
                {
                    return;
                }
                satisfyStep = SatisfyBossShowStep(actorShowModel);
                SaveBossShowStep(actorShowModel);
                if (actorShowModel.BindMissionID != 0)
                {
                    MissionDetailDates missionDetailDates = null;
@@ -179,6 +182,12 @@
                    _hero.Behaviour.StartHandupAI();
                }
            }
            TimeMgr.Instance.UnRegister(TimeMgr.SyntonyType.BossShow);
            TimeMgr.Instance.UnRegister(TimeMgr.SyntonyType.BossShowName);
            TimeMgr.Instance.UnRegister(TimeMgr.SyntonyType.BossShowDialogue);
            TimeMgr.Instance.UnRegister(TimeMgr.SyntonyType.BossShowSound);
            if (bossShowCompletedEvent != null)
            {
                bossShowCompletedEvent();
@@ -457,20 +466,20 @@
            cacheMapId = PlayerDatas.Instance.baseData.MapID;
            var dic = Config.Instance.GetAllValues<ActorShowConfig>();
            var list = Config.Instance.GetAllValues<ActorShowConfig>();
            ActorShowConfig _showModel = null;
            foreach (var cfg in dic)
            foreach (var config in list)
            {
                if (cfg.MapID == PlayerDatas.Instance.baseData.MapID
                    && (cfg.line == 1000 || cfg.line == reqDungeonLineId)
                    && cfg.type == 2)
                if (config.MapID == PlayerDatas.Instance.baseData.MapID
                    && (config.line == 1000 || config.line == reqDungeonLineId)
                    && config.type == 2)
                {
                    _showModel = cfg;
                    _showModel = config;
                    break;
                }
                else if (cfg.MapID == PlayerDatas.Instance.baseData.MapID && cfg.type == 3)
                else if (config.MapID == PlayerDatas.Instance.baseData.MapID && config.type == 3)
                {
                    SnxxzGame.Instance.StartCoroutine(Co_StartSceneShow(cfg));
                    SnxxzGame.Instance.StartCoroutine(Co_StartSceneShow(config));
                    return;
                }
            }
@@ -602,6 +611,26 @@
            DemonJar = 201,
            FairyLand = 202,
        }
        private void SaveBossShowStep(ActorShowConfig config, bool value = true)
        {
            if (config.step == 0)
            {
                return;
            }
            var playerId = PlayerDatas.Instance.baseData.PlayerID;
            LocalSave.SetBool(StringUtility.Contact("BossShowStep_", playerId, "_", config.MapID, "_", config.NpcID), value);
        }
        private bool SatisfyBossShowStep(ActorShowConfig config)
        {
            if (config.step == 0)
            {
                return false;
            }
            var playerId = PlayerDatas.Instance.baseData.PlayerID;
            return LocalSave.GetBool(StringUtility.Contact("BossShowStep_", playerId, "_", config.MapID, "_", config.NpcID));
        }
    }
}
System/BossShow/BossShowWin.cs
@@ -1,76 +1,77 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Wednesday, November 15, 2017
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    public class BossShowWin : Window
    {
        [SerializeField] UIEffect bossNameEffect;
        [SerializeField] Button skipBtn;
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            skipBtn.onClick.AddListener(OnSkipBtn);
        }
        private void OnSkipBtn()
        {
            BossShowModel.Instance.StopBossShow();
        }
        protected override void OnPreOpen()
        {
            BossShowModel.Instance.OnBossNameEvent += OnBossNameEvent;
        }
        private void OnBossNameEvent()
        {
            ActorShowConfig actorShowModel = null;
            if (ActorShowConfig.GetActorShowModel(PlayerDatas.Instance.baseData.MapID, BossShowModel.Instance.NpcID, out actorShowModel))
            {
                bossNameEffect.effect = actorShowModel.uieffect;
                bossNameEffect.keep = true;
                bossNameEffect.Play();
                bossNameEffect.SetLayer(LayerUtility.UILayer);
                return;
            }
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            BossShowModel.Instance.OnBossNameEvent -= OnBossNameEvent;
            bossNameEffect.StopImediatly();
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
    }
}
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Wednesday, November 15, 2017
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    public class BossShowWin : Window
    {
        [SerializeField] UIEffect bossNameEffect;
        [SerializeField] Button skipBtn;
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            skipBtn.onClick.AddListener(OnSkipBtn);
        }
        private void OnSkipBtn()
        {
            BossShowModel.Instance.StopBossShow();
        }
        protected override void OnPreOpen()
        {
            BossShowModel.Instance.OnBossNameEvent += OnBossNameEvent;
            skipBtn.gameObject.SetActive(BossShowModel.Instance.satisfyStep);
        }
        private void OnBossNameEvent()
        {
            ActorShowConfig actorShowModel = null;
            if (ActorShowConfig.GetActorShowModel(PlayerDatas.Instance.baseData.MapID, BossShowModel.Instance.NpcID, out actorShowModel))
            {
                bossNameEffect.effect = actorShowModel.uieffect;
                bossNameEffect.keep = true;
                bossNameEffect.Play();
                bossNameEffect.SetLayer(LayerUtility.UILayer);
                return;
            }
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            BossShowModel.Instance.OnBossNameEvent -= OnBossNameEvent;
            bossNameEffect.StopImediatly();
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
    }
}
System/BossShow/ShowActor.cs
@@ -94,6 +94,7 @@
            if (m_Animator != null)
            {
                m_Animator.enabled = true;
                m_Animator.Play(Animator.StringToHash("Show"), 0, 0);
                nextAction = GAStaticDefine.Act_Show;
            }
        }