Esempio n. 1
0
    IEnumerator GoToUpdateResource(UpdateInfo info, AssetCheckData data)
    {
        float size = (float)info.totalSize / 1024;

        if (size < 0.1)
        {
            size = 0.1f;
        }
        data.msg = "更新大小:" + size.ToString("0.0") + "kb";
        int downLoadIdx = 0;

        foreach (KeyValuePair <string, string> pair in info.dict)
        {
            downLoadIdx++;
            data.value = (float)(downLoadIdx - 1) / (float)info.dict.Count;
            data.msg   = "更新文件:" + downLoadIdx + "/" + info.dict.Count + ";总大小:" + size.ToString("0.0") + "kb";
            //data.msg = "更新大小:" + size.ToString("0.0") + "M" ;
            UIManager.Intance.SendMsg(WindowID.AssetCheckUI, WindowMsgID.ShowLoadingTips, data);
            BeginDownload(pair.Value, pair.Key);
            while (!(IsDownOK(pair.Key)))
            {
                yield return(new WaitForEndOfFrame());
            }
        }
        yield return(new WaitForEndOfFrame());

        data.msg   = "更新完成, 准备进入游戏";
        data.value = 0f;
        Debug.Log("更新完成!!");
        UIManager.Intance.SendMsg(WindowID.AssetCheckUI, WindowMsgID.ShowLoadingTips, data);
        EventsMgr.Instance().TriigerEvent("EndUpdate", null);
    }
Esempio n. 2
0
 /*
  * =============个人=============
  * add dimond = 增加砖石
  * add coin =   增加金币
  * add love =   增加魅力值
  * add lv =    (全部卡片)等级
  * =============任务=============
  * add task id=    添加任务
  * finish task id =     完成任务
  * clear task 清除任务
  * =============关卡=============
  * pass all level  通关所有地图
  * reset all level 重置所有地图
  * pass map id=
  * =============图鉴=============
  * unlock all monster  解锁所有怪物
  * unlock all hero     解锁所有英雄
  * =============军队=============
  * unlock hero id =      添加一个英雄到阵型中
  * unlock monster id =      添加一个英雄到阵型中
  * =============抽奖=============
  * draw id =           指定抽奖
  * =============背包=============
  * add item id,count= 11;11     添加一个道具
  * clear bag  清除背包
  * =============背包=============
  * refresh id =  //立即刷新商品
  * remove id =   //清除一次性商品,重新可以购买
  * add taskitem id = //增加一个任务道具
  * =============事件=============
  * show all event
  * =============活动=============
  * login day=2 //两天前登陆的
  */
 public static void Parse(string line)
 {
     if (line.StartsWith("add_"))
     {
         HandleUserInfo(line);
     }
     else if (line.Contains("task_"))
     {
         HandleTask(line);
     }
     else if (line.Contains("card_"))
     {
         HandleCard(line);
     }
     else if (line.Contains("level_"))
     {
         HandleLevel(line);
     }
     else if (line.Contains("item_"))
     {
         HandleBag(line);
     }
     else if (line.Contains("shop_"))
     {
         HandleShop(line);
     }
     else if (line.StartsWith("show all event"))
     {
         EventsMgr.Instance().ToString();
     }
     else
     {
         CommonTip.Instance().ShowTip("<color=red>gm 执行错误</color>", TipType.PopTip);
     }
 }
Esempio n. 3
0
 public static EventsMgr GetInstance()
 {
     if (instance == null)
     {
         instance = new EventsMgr();
     }
     return(instance);
 }
Esempio n. 4
0
 public static EventsMgr GetInstance()
 {
     if (instance == null)
     {
         instance = new EventsMgr();
     }
     return instance;
 }
Esempio n. 5
0
        public void AddBuff(Skill skill, int round = 0)
        {
            m_BuffList = m_BuffList ?? new List <Buff>();
            Buff buff = new Buff();

            buff.AtRound = round;
            m_BuffList.Add(buff);
            EventsMgr.GetInstance().TriigerEvent(EventsType.Skill_AddBuff, buff);
        }
Esempio n. 6
0
 private void Awake()
 {
     EventsMgr.GetInstance().AttachEvent(EventsType.FrameItem_Refresh, (data) => {
         FrameData frameData = (FrameData)data;
         if (frameData.Type == m_Type)
         {
             this.m_Num.text = ((int)frameData.Value).ToString();
         }
     });
 }
Esempio n. 7
0
    void OnUpdateFailed(string file)
    {
        UnityTools.LogMust("更新失败!>" + file);
        AssetCheckData data = new AssetCheckData();

        data.msg   = "下次记得在有网络下的环境玩耍约!";
        data.value = 0f;
        UIManager.Intance.SendMsg(WindowID.AssetCheckUI, WindowMsgID.ShowLoadingTips, data);
        EventsMgr.Instance().TriigerEvent("EndUpdate", null);
    }
    void Start()
    {
        EventsMgr.GetInstance().Init();

        attachEvents();

        TriggerEvents();

        detachrEvents();
    }
Esempio n. 9
0
        public void Disperse(List <int> disperseList)
        {
            List <Buff> list = new List <Buff>();

            foreach (var buff in m_BuffList)
            {
                if (disperseList.Contains(buff.Skill.Attribute.Id))
                {
                    list.Add(buff);
                }
            }
            EventsMgr.GetInstance().TriigerEvent(EventsType.Skill_Disperse, list);
        }
Esempio n. 10
0
        public override void Start()
        {
            base.Start();
            //to-do 这里需要根据技能类型创建不同类型的伤害计算,这里简单的已处理加固定血量来模拟计算

            int result = this.m_Skill.Caculate(new FixAddHp());

            if (m_Result != null)
            {
                m_Result(result);
            }
            //注意: 伤害计算结束后需要触发伤害计算结束的事件,来终止任务的执行
            EventsMgr.GetInstance().TriigerEvent(EventsType.Skill_EndDmg, null);
        }
Esempio n. 11
0
 /// <summary>
 /// 结束解压
 /// </summary>
 void EndExtract(object msg)
 {
     EventsMgr.Instance().DetachEvent("EndExtract", EndExtract);
     DicDataManager.GetInstance().PreLoadCsvData();           //预加载全局表,为更新做准备
     if (bOpenUpdate)
     {
         EventsMgr.Instance().AttachEvent("EndUpdate", EndUpdate);
         UnityTools.TryAddComponent <ResUpdate> (gameObject);
     }
     else
     {
         EndUpdate(null);
     }
 }
Esempio n. 12
0
    void Start()
    {
        EventsMgr.GetInstance().Init();
        Debug.Log("RabbitJump JumpHeight:");
        attachEvents();

        TriggerEvents();

        MiniEventDispatcher ee = new MiniEventDispatcher();

        ee.Register("ee", ff);
        ee.Register("ee", ff);
        ee.Remove("ee", ff);
        ee.Broadcast("ee", 32, "sfs", 76);
        //detachrEvents();
    }
Esempio n. 13
0
 void Awake()
 {
     if (Connection.GetInstance().isHost)
     {
         objsCfgDic = new Dictionary <int, AppearObjectData>();
         EventsMgr.AddEvent(EventName.START_GAME, OnGameStart);
         if (levelData.appearSets != null && levelData.appearSets.Length > 0)
         {
             appearTag = new bool[levelData.appearSets.Length];
         }
         if (levelData.activeSets != null && levelData.activeSets.Length > 0)
         {
             activeTag = new bool[levelData.activeSets.Length];
         }
     }
 }
Esempio n. 14
0
    IEnumerator OnUpdateResource()
    {
        AssetCheckData data     = new AssetCheckData();
        string         dataPath = PathTools.DataPath;  //数据目录

        url = PathTools.GetWebURL();
        string random  = DateTime.Now.ToString("yyyymmddhhmmss");
        string listUrl = url + "files.txt?v=" + random;
        WWW    www     = new WWW(listUrl);

        yield return(www);

        if (www.error != null)
        {
            OnUpdateFailed(string.Empty);
            yield break;
        }
        else
        {
            if (!Directory.Exists(dataPath))
            {
                Directory.CreateDirectory(dataPath);
            }

            File.WriteAllBytes(dataPath + "files.txt", www.bytes);

            string     filesText = www.text;
            UpdateInfo info      = GetUpdateInfo(filesText);
            if (info.totalSize > 0)
            {
                CachUpdateInfo = info;
                CachCheckData  = data;
                StartCoroutine(GoToUpdateResource(CachUpdateInfo, CachCheckData));

                /*
                 * float size = (float)info.totalSize / 1024;
                 * UIManager.Intance.ShowMessageBox(string.Format("更新大小: {0} kb", size.ToString("0.0")), MessageBoxType.OK_Cancle, OnSureUpdateClick);
                 * yield break;*/
            }
            else
            {
                EventsMgr.Instance().TriigerEvent("EndUpdate", null);
            }
        }
    }
Esempio n. 15
0
        public void AddBuff(Skill skill, int round = 0)
        {
            m_BuffList = m_BuffList ?? new List <Buff>();
            skill      = new  Skill();
            Attribute attribute = new Attribute();

            attribute.Id          = 1;
            attribute.CostMp      = 5;
            attribute.m_DelayTime = 1;
            skill.Attribute       = attribute;

            Buff buff = new Buff();

            buff.Skill   = skill;
            buff.AtRound = round;
            m_BuffList.Add(buff);
            EventsMgr.GetInstance().TriigerEvent(EventsType.Skill_AddBuff, buff);
        }
Esempio n. 16
0
 //const string End_Key = "EndExtract2";
 void Awake()
 {
     UIManager.Intance.ShowWindow(WindowID.AssetCheckUI);
     if (GameManager.Instance.bClearOldExtract)
     {
         if (Directory.Exists(PathTools.DataPath))
         {
             Directory.Delete(PathTools.DataPath, true);
         }
     }
     //客户端存在并已经解压过了
     if (Util.HasExtracted())
     {
         EventsMgr.Instance().TriigerEvent("EndExtract", null);
     }
     else
     {
         StartCoroutine(OnExtractResource());
     }
 }
Esempio n. 17
0
    /// <summary>
    /// 结束更新
    /// </summary>
    void EndUpdate(object msg)
    {
        EventsMgr.Instance().DetachEvent("EndUpdate", EndUpdate);
        ResExtract compExtract = GetComponent <ResExtract> ();

        if (compExtract != null)
        {
            Destroy(compExtract);
        }
        ResUpdate compUpdate = GetComponent <ResUpdate> ();

        if (compUpdate != null)
        {
            Destroy(compUpdate);
        }
        if (!IsInitgame)
        {
            IsInitgame = true;
            InitGame();
        }
    }
Esempio n. 18
0
 /// <summary>
 /// 处理客户端的设置
 /// </summary>
 void HandleSetting()
 {
     if (bOpenFPS)
     {
         FPSCounter = UnityTools.TryAddComponent <FPS> (gameObject);
     }
     if (bClearStore)
     {
         //StoryManager.Instance ().ClearStory ();
     }
     if (bOpenExtract)
     {
         EventsMgr.Instance().AttachEvent("EndExtract", EndExtract);
         UnityTools.TryAddComponent <ResExtract> (gameObject);
         //UnityTools.LogMust (PathTools.DataPath);
     }
     else
     {
         EndExtract(null);
     }
 }
Esempio n. 19
0
 private void Start()
 {
     EventsMgr.AddEvent(EventName.START_GAME, OnGameStart);
 }
Esempio n. 20
0
 /// <summary>
 /// 处理结束解压
 /// </summary>
 void HandleEndExtract()
 {
     EventsMgr.Instance().TriigerEvent("EndExtract", null);
 }
Esempio n. 21
0
 void OnStartGmae(byte[] p)
 {
     EventsMgr.FireEvent(EventName.START_GAME);
     UnityEngine.Debug.Log("开始游戏");
 }
Esempio n. 22
0
 protected override void OnDestroyed()
 {
     EventsMgr.RemoveEvent(EventName.START_GAME, OnGameStart);
 }
 void TriggerEvents()
 {
     EventsMgr.GetInstance().TriigerEvent(eEventsKey.控制系统_兔子跳, 10.0f);
     EventsMgr.GetInstance().TriigerEvent(eEventsKey.控制系统_兔子向右走, 5.0f);
     EventsMgr.GetInstance().TriigerEvent(eEventsKey.控制系统_兔子停止向右走, 5.0f);
 }
Esempio n. 24
0
 public void Reset()
 {
     m_IsEventTrigger = false;
     EventsMgr.GetInstance().AttachEvent(m_EventType, EventHandle);
 }
Esempio n. 25
0
 /// <summary>
 /// 事件的处理函数
 /// </summary>
 /// <param name="go"></param>
 protected virtual void EventHandle(object go)
 {
     m_IsEventTrigger = true;
     EventsMgr.GetInstance().DetachEvent(m_EventType, EventHandle);
 }
Esempio n. 26
0
 public EventCondition(EventsType type)
 {
     m_EventType      = type;
     m_IsEventTrigger = false;
     EventsMgr.GetInstance().AttachEvent(type, EventHandle);
 }
 void detachrEvents()
 {
     EventsMgr.GetInstance().DetachEvent(eEventsKey.控制系统_兔子跳, RabbitJump);
     EventsMgr.GetInstance().DetachEvent(eEventsKey.控制系统_兔子向右走, RabbitRight);
     EventsMgr.GetInstance().DetachEvent(eEventsKey.控制系统_兔子停止向右走, RabbitStopRight);
 }
Esempio n. 28
0
 protected override void OnStart()
 {
     //doPath = gameObject.GetComponent<DOTweenPath>();
     //doPath.DOPause();
     EventsMgr.AddEvent(EventName.START_GAME, OnGameStart);
 }