public static UpgradeTowerEventArgs Create(Tower tower, int lastLevel, object userData = null)
        {
            UpgradeTowerEventArgs upgradeTowerEventArgs = ReferencePool.Acquire <UpgradeTowerEventArgs>();

            upgradeTowerEventArgs.Tower     = tower;
            upgradeTowerEventArgs.LastLevel = lastLevel;
            return(upgradeTowerEventArgs);
        }
        private void OnUpgradeTower(object sender, GameEventArgs e)
        {
            UpgradeTowerEventArgs ne = (UpgradeTowerEventArgs)e;

            if (ne == null)
            {
                return;
            }

            if (ne.Tower.SerialId != entityDataTower.Tower.SerialId)
            {
                return;
            }

            ShowTowerLevelEntity(ne.Tower.Level);
        }