using UnityEngine;  
 | 
using System.Collections;  
 | 
using UnityEngine.UI;  
 | 
  
 | 
using System.Collections.Generic;  
 | 
using System;  
 | 
  
 | 
//用于记录主界面的一些信息  
 | 
  
 | 
public class PlayerMainDate : GameSystemManager<PlayerMainDate>  
 | 
{  
 | 
    public event Action AddPowerEvent;  
 | 
  
 | 
  
 | 
    //-------用于每分钟经验的获取  
 | 
    public delegate void OnExperience(int _source, int _ExpPoint, int _Exp);//(1.单位经验亿点,2.经验单位点)  
 | 
    public static event OnExperience Event_Experience;  
 | 
  
 | 
    //--------------------用于战斗力滚动  
 | 
  
 | 
    public long prowNum = 0;    //滚动前战力,最后一次战力  
 | 
    public long prowNumChange = 0;  
 | 
    public bool isAdd = true;//为true增加 为false减少  
 | 
    private bool prowBool = true;  
 | 
  
 | 
    public event Func<bool> customDisplayPower;  
 | 
  
 | 
    public override void Init()  
 | 
    {  
 | 
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;  
 | 
    }  
 | 
  
 | 
  
 | 
    public override void Release()  
 | 
    {  
 | 
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;  
 | 
    }  
 | 
  
 | 
  
 | 
  
 | 
    public void OnBeforePlayerDataInitialize()  
 | 
    {  
 | 
        prowNum = 0;  
 | 
        prowNumChange = 0;  
 | 
        prowBool = true;  
 | 
          
 | 
    }  
 | 
  
 | 
  
 | 
    public void PowerAdd(long power)  
 | 
    {  
 | 
        if (prowBool)  
 | 
        {  
 | 
            prowNum = power;  
 | 
            prowBool = false;  
 | 
        }  
 | 
        else  
 | 
        {  
 | 
            if (power != prowNum)  
 | 
            {  
 | 
                prowNumChange = power - prowNum;  
 | 
                prowNum = power;  
 | 
                isAdd = prowNumChange > 0;  
 | 
                prowNumChange = Math.Abs(prowNumChange);  
 | 
                if (customDisplayPower != null && customDisplayPower())  
 | 
                {  
 | 
                    return;  
 | 
                }  
 | 
                if (UIManager.Instance.IsOpened<PowerAddWin>())  
 | 
                {  
 | 
                    AddPowerEvent?.Invoke();  
 | 
                    return;  
 | 
                }  
 | 
                UIManager.Instance.OpenWindow<PowerAddWin>();  
 | 
            }  
 | 
            else  
 | 
            {  
 | 
                prowNum = power;  
 | 
            }  
 | 
        }  
 | 
    }  
 | 
  
 | 
    // public void CustomPowerUp(ulong nowPower ,ulong addPower)  
 | 
    // {  
 | 
    //     prowNum = (long)nowPower;  
 | 
    //     prowNumChange = (long)addPower;  
 | 
    //     isAdd = true;  
 | 
    //     if (UIManager.Instance.IsOpened<PowerAddWin>())  
 | 
    //     {  
 | 
    //         AddPowerEvent?.Invoke();  
 | 
    //         return;  
 | 
    //     }  
 | 
    //     UIManager.Instance.OpenWindow<PowerAddWin>();  
 | 
    // }  
 | 
  
 | 
    /// <summary>  
 | 
    /// 武将自身的战力变化  
 | 
    /// </summary>  
 | 
    /// <param name="hero"></param>  
 | 
    public void AddPowerNotOnTeam(HeroInfo hero)  
 | 
    {  
 | 
        if (HeroUIManager.Instance.lastFightPower.Key != hero.itemHero.guid)  
 | 
        {  
 | 
            return;  
 | 
        }  
 | 
  
 | 
        if (hero.IsInTeamByTeamType(TeamType.Story))  
 | 
        {   
 | 
            return;  
 | 
        }  
 | 
  
 | 
        prowNum = hero.CalculateFightPower();  
 | 
        prowNumChange = prowNum - HeroUIManager.Instance.lastFightPower.Value;  
 | 
        HeroUIManager.Instance.lastFightPower = new KeyValuePair<string, long>();  
 | 
        isAdd = prowNumChange > 0;  
 | 
        prowNumChange = Math.Abs(prowNumChange);  
 | 
        if (UIManager.Instance.IsOpened<PowerAddWin>())  
 | 
        {  
 | 
            AddPowerEvent?.Invoke();  
 | 
            return;  
 | 
        }  
 | 
        UIManager.Instance.OpenWindow<PowerAddWin>();  
 | 
    }  
 | 
}  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 |