public void UpdateUIText(string towerType) { TowerData towerData = TowerDictionary.GetTowerData(towerType); if (towerData != null) { towerName.text = "[ " + towerData.towerName + " ]"; towerCost.text = "Cost: " + towerData.buildCost.ToString(); towerDamage.text = "Damage: " + (((float)towerData.bulletDamage) / towerData.fireDelay).ToString() + "/s"; towerRange.text = "Range: " + towerData.detectRange.ToString(); switch (towerData.bulletEffect) { case MODIFIER_EFFECT.MOD_SLOW: towerSpecial.text = "Special: Slow"; break; case MODIFIER_EFFECT.MOD_SLOW_HEAVY: towerSpecial.text = "Special: Greater Slow"; break; default: towerSpecial.text = ""; break; } } else { towerName.text = towerCost.text = towerDamage.text = towerRange.text = towerSpecial.text = ""; } }
// Use this for initialization void Start() { enemiesInRange = new List <GameObject>(); lastShotTime = Time.time; towerData = gameObject.GetComponentInChildren <TowerData>(); firstShot = true; }
public void Init_Server(TowerData data) { Debug.Log("INIT SERVER"); if (entity.IsOwner()) { _data = data; state.TowerType = (int)_data.towerType; if (data.canAttack) { _attackRate = new SKU.Attribute(); _damage = new SKU.Attribute(); _range = new SKU.Attribute(); _attackRate.AddOnValueChangedListener(UpdateAttackRate_Server); _damage.AddOnValueChangedListener(UpdateDamage_Server); _range.AddOnValueChangedListener(UpdateRange_Server); AttributeManager attributeManager = gameObject.AddComponent <AttributeManager>(); attributeManager.Add(AttributeType.AttackRate, _attackRate); attributeManager.Add(AttributeType.Damage, _damage); attributeManager.Add(AttributeType.Range, _range); _attackRate.BaseValue = _data.attackRate; _damage.BaseValue = _data.damage; _range.BaseValue = _data.range; // TODO init from data gameObject.AddComponent <ShootBullet>(); } } }
/// <summary> /// 타워 짓는 함수. /// </summary> /// <param name="cell"></param> /// <param name="cellData"></param> /// <returns></returns> public virtual bool Build(CellClass cell, string cellData) { transform.localPosition = Vector3.zero; mOriginScale = Vector3.one * 2.0f; mObjectPool = GameManager.Instance.GetObjectPool(); if (mObjectPool == null) { Debug.Log("Failed Get Object Pool"); return(false); } mTowerData = null; if (!mObjectPool.TowerDataDictionary.ContainsKey(cellData)) { Debug.Log("Failed Find TowerData in TowerDataDictionary"); return(false); } mTowerData = mObjectPool.TowerDataDictionary[cellData]; mPrice = mTowerData.Price; mTowerType = mTowerData.TOWERTYPE; cell.GetMap().SetMapData(cell.GetCellX(), cell.GetCellY(), mTowerData.Towerkey); StopCoroutine(ApperanceAnim()); StartCoroutine(ApperanceAnim()); return(true); }
private void LoadTowerData() { // Initialize list if (towers == null) { towers = new Dictionary <string, TowerData> (); } towers.Clear(); if (towersList == null) { towersList = new List <TowerData> (); } towersList.Clear(); // Load all tower data List <DataReader.TowerData> inputTowerData = DataReader.instance.towers.towers; TowerData newTower = null; for (int i = 0; i < inputTowerData.Count; i++) { if (!towers.ContainsKey(inputTowerData [i].TowerName)) { newTower = new TowerData(inputTowerData [i].TowerName, inputTowerData [i].air); towersList.Add(newTower); towers.Add(inputTowerData [i].TowerName, newTower); } towers [inputTowerData [i].TowerName].AddTower(inputTowerData [i], i); } }
public void BuildLoadedTowers(List <TowerSaveData> towerSaveDatas) { int tempCoins = CurrencyManager.instance.GetCurrency(); CurrencyManager.instance.SetCurrency(100000); foreach (TowerSaveData towerSaveData in towerSaveDatas) { TowerData towerToBuild = towerConfigurations.Where(t => t.Id.Equals(towerSaveData.towerId)).FirstOrDefault(); PlacementTile tile = placementTilesholder.GetPlacementTile(towerSaveData.tileId); if (towerToBuild != null && tile != null) { GameObject newTowerGO = Instantiate(towerToBuild.Prefab.gameObject, tile.transform.position, tile.transform.rotation); Tower deffenceTower = newTowerGO.GetComponent <Tower>(); deffenceTower.Init(towerToBuild); deffenceTower.PlacementTile = tile; OnTowerBuild?.Invoke(deffenceTower); UiManager.instance.SelectTower(deffenceTower); while (deffenceTower.currentLevel < towerSaveData.currentLevel) { UpgradeTower(); } } } CurrencyManager.instance.SetCurrency(tempCoins); }
public void DestroyTower() { Destroy(TowerCubeOn); isUpgrade = false; towerdata = null; TowerCubeOn = null; }
private void MoveLinesDown() { if (LinesToClear.Any()) { Thread.Sleep(100); int linesToMove = 0; for (int row = LinesToClear.Max(); row > 0; row--) { if (LinesToClear.Contains(row)) { linesToMove++; } else { for (int col = 0; col < TowerData.GetLength(1); col++) { if (TowerData[row, col] != BlockValue.Empty) { BlockValue tempVal = TowerData[row, col]; TowerData[row, col] = BlockValue.Empty; TowerData[row + linesToMove, col] = tempVal; } } } } LinesToClear.Clear(); ClearState = ClearState.Check; } }
public void LoadData() { dataLoaded = ReadGoogleSheet.FillDataHasList <TowerData, AttitudeField, LevelAttitude>("1fm4Mitj8s55MOAykzEjo6c6IHV3X9FX_T7HzBV1z22E", "0"); GameData g = GameObject.FindObjectOfType <GameData>(); g.Towers.ReplayData(dataLoaded); }
/// <summary> /// 타워 초기화 함수. /// </summary> /// <param name="cellData"></param> /// <returns></returns> public virtual bool Initialize(string cellData) { transform.localPosition = Vector3.zero; mOriginScale = Vector3.one * 2.0f; mObjectPool = GameManager.Instance.GetObjectPool(); if (mObjectPool == null) { Debug.Log("Failed Get Object Pool"); return(false); } mTowerData = null; if (!mObjectPool.TowerDataDictionary.ContainsKey(cellData)) { Debug.Log("Failed Find TowerData in TowerDataDictionary"); return(false); } mTowerData = mObjectPool.TowerDataDictionary[cellData]; mPrice = mTowerData.Price; mTowerType = mTowerData.TOWERTYPE; return(true); }
private void InitializeScripts() { Data = GetComponentInParent <TowerData>(); Hub = GetComponentInParent <Tower_Hub>(); Harmonizer = GetComponentInParent <Harmonizer>(); Particles = GetComponentInChildren <TowerParticles>(); }
// Update is called once per frame void Update() { if (GameSettings.getInstance().GameMode == "DefenseMode") { if (Input.GetMouseButtonDown(0)) { if (!CheckGuiRaycastObjects()) { click_ray = Camera.main.ScreenPointToRay(Input.mousePosition);//把鼠标点击的位置转化成射线 if (Physics.Raycast(click_ray, out hit, 100, mask)) { if (oldBP != null && oldBP.GetComponent <BuildPlace>().HasTower()) { oldBP.GetComponentInChildren <Tower>().HideAccatkRang(); } if (hit.transform.gameObject.name == "BP") { if (hit.collider.gameObject.GetComponent <BuildPlace>().HasTower()) { hit.collider.gameObject.GetComponentInChildren <Tower>().ShowAccatkRang(); TowerData current = hit.collider.gameObject.GetComponent <BuildPlace>().GetTowerData(); TowerData next = null; if (current.level == 3) { //已经满级 uiControl.UpgradeMenu.GetComponent <UpgradeMenu>().HideUpgrade(); } else { next = TowerDataManage.getInstance().GetTowerData(current.name, current.level + 1); uiControl.UpgradeMenu.GetComponent <UpgradeMenu>().ShowUpgrade(); } uiControl.UpgradeMenu.GetComponent <UpgradeMenu>().InitText(current, next); uiControl.UpgradeMenu.GetComponent <UpgradeMenu>().GetParentTransform(hit.transform); uiControl.UpgradeMenu.SetActive(true); // uiControl.TowerMenu.SetActive(false); } else { //uiControl.TowerMenu.GetComponent<TowerMenu>().GetParentTransform(hit.transform); //uiControl.TowerMenu.GetComponent<TowerMenu>().ResetTowerPos(); //uiControl.TowerMenu.SetActive(true); //uiControl.UpgradeMenu.SetActive(false); } oldBP = hit.transform.gameObject; } else { //不是地基就把菜单隐藏 uiControl.UpgradeMenu.SetActive(false); //uiControl.TowerMenu.SetActive(false); // uiControl.TowerMenu.GetComponent<TowerMenu>().ResetTowerPos(); } return; } } } } }
public void OnSell(TowerData data) { AppController.Instance.UI.Gain(data.SellPrice); Tower.GetComponent <TowerController>().OnSell(); OnMenuBuyClose(); }
public void DestoryTower() { // If we destory this tower then remove the tower and change everying to default Destroy(towerGameObject); isUpgraded = false; towerGameObject = null; towerData = null; }
public static Tower DeserialiseTower(TowerData towerData, string towerDataString = "") { var tower = GameObject.Instantiate(towerData.TowerPrefab); tower.Init(towerData); return(tower); }
public void BuildTurret(TowerData towerData) { this.towerDataOn = towerData; turretOn = GameObject.Instantiate(towerData.turretPrefab, transform.position, Quaternion.identity); GameObject tmp = GameObject.Instantiate(buildEffect, transform.position, Quaternion.identity); Destroy(tmp, 1f); }
public void SetData(TowerData data) { this.data = data; interval = data.Interval; damage = data.Damage; simultaneousTargets = data.SimultaneousTargets; blastPrefab = data.BlastPrefab; }
// Use this for initialization void Start() { enemiesInRange = new List <GameObject>(); lastShotTime = Time.time; towerData = gameObject.GetComponentInChildren <TowerData>(); firstShot = true; spriteRenderers = this.transform.GetComponentsInChildren <SpriteRenderer>(); }
// Start is called before the first frame update void Start() { // hexTilemap = PlayerTilemap.Instance; lastShotTime = Time.time; towerData = gameObject.GetComponentInChildren <TowerData>(); adjacentEnemyPositions = towerData.AdjacentCellPositions; enemiesInRange = new List <GameObject>(); }
public void Init(TowerData data) { Data = data; ImageTower.sprite = AppController.Instance.Atlas.GetSprite(data.SpriteName); StartCoroutine(ShootCoroutine()); }
public void SetTowerToResearch(string whichType) { if (researching) { return; } towerToResearch = TowerDictionary.GetTowerData(whichType); }
public void OnBuyTry(TowerData data) { if (Tower == null && AppController.Instance.UI.Withdraw(data.BuildPrice)) { Tower = Instantiate(Resources.Load("Prefabs/Tower"), transform) as GameObject; Tower.GetComponent <TowerController>().Init(data); OnMenuBuyClose(); } }
void getTowerDatabase() { int length = Towers.Length; for (int i = 0; i < length; i++) { TowerController tower = Towers[i].GetComponent <TowerController>(); TowerController tower2; while (true) { if (ReadDatabase.Instance.TowerInfo.ContainsKey(tower.ID.Type.ToString() + tower.ID.Level.ToString())) { TowerData data = ReadDatabase.Instance.TowerInfo[tower.ID.Type.ToString() + tower.ID.Level.ToString()]; tower.attribute.Range = data.Range; tower.attribute.Cost = data.Cost; tower.attribute.MinATK = data.MinATK; tower.attribute.MaxATK = data.MaxATK; tower.attribute.SpawnShoot = data.ShootSpwan; tower.attribute.TimeBuild = data.TimeBuild; switch (data.Type) { case "IRON": tower.Branch = EBranchGame.IRON; break; case "PLANT": tower.Branch = EBranchGame.PLANT; break; case "ICE": tower.Branch = EBranchGame.ICE; break; case "FIRE": tower.Branch = EBranchGame.FIRE; break; case "EARTH": tower.Branch = EBranchGame.EARTH; break; } } if (tower.nextLevel) { tower2 = tower.nextLevel; tower = tower2; } else { break; } } } }
/// <summary> /// 创建箭塔 /// </summary> /// <param name="charData"></param> public void CreateTower(CampType campId, ObjectType type) { Tower towerObj = new Tower(); int hp = type == ObjectType.CRYSTAL_TOWER ? 20000 : 10000; TowerData data = new TowerData(campId, type, hp); towerObj.Create(data); GameData.m_ObjectList.Add(towerObj); }
public void SetUp(TowerData data) { price = data.Price; damage = data.Damage; range = data.Range; attackCd = data.ShootInterval; PossibleUpgrades = new List <TowerData>(data.PossibleUpgrades); spriteRenderer.sprite = data.TowerSprite; }
public void AddTower(TowerData newTower) { if (_allTower == null) { _allTower = new List <TowerData>(); } _allTower.Add(newTower); }
public void Init(TowerData data) { this.data = data; nameText.text = data.Name; thumbnailImage.sprite = data.Thumbnail; descriptionText.text = data.Description; GameManager.Instance.ScoreChangedEvent += UpdateBuyButton; UpdateBuyButton(); }
public void BuildTower(TowerData tower) { this.towerdata = tower; isUpgrade = false; TowerCubeOn = GameObject.Instantiate(towerdata.TowerPrefab, transform.position, Quaternion.identity); //UI //GameObject effect = GameObject.Instantiate(buildeffect, transform.position, Quaternion.identity); //Destroy(effect, 1); }
// START void Start() { playerData1 = Player1.GetComponent <PlayerData>(); playerData2 = Player2.GetComponent <PlayerData>(); towerHub1 = Tower1.GetComponent <Tower_Hub>(); towerHub2 = Tower2.GetComponent <Tower_Hub>(); towerData1 = towerHub1.GetData; towerData2 = towerHub2.GetData; }
/// <summary> /// Spawn a Tower From its Identifier /// </summary> /// <param name="entityIdentifier">Entity Identifier to spawn</param> /// <param name="pos">Position</param> /// <param name="rot">Rotation</param> public void SpawnTower(string entityIdentifier, Vector3 pos, Quaternion rot) { TowerData def = GameDataManager.instance.GetEntityData(entityIdentifier) as TowerData; GameObject towerObj = SpawnManager.instance.InstantiatePool(def.m_prefab, pos, rot); AIEntity towerComponent = towerObj.GetComponent <AIEntity>(); towerComponent.InitializeEntity(def, Guid.NewGuid().ToString()); NetworkServer.Spawn(towerObj); }
public void SetView(TowerData data) { int vipLevel = MogoWorld.thePlayer.VipLevel; TimerManager.GetTimer(m_buttonNormal.gameObject).StartTimer(data.CountDown, (sec) => { m_buttonNormal.GetComponentsInChildren<UILabel>(true)[0].text = String.Concat((sec / 3600),":",(sec % 3600) / 60, ":", ((sec % 3600) % 60)); m_sweepReady = true; }, () => { m_buttonNormal.GetComponentsInChildren<UILabel>(true)[0].text = LanguageData.dataMap.Get(810).content; m_sweepReady = false; }); m_highHistory.text = LanguageData.GetContent(801, data.Highest); //m_currentLevel.text = LanguageData.GetContent(802, data.CurrentLevel); if (vipLevel == 0) { //非VIP m_buttonVIP.SetButtonText(LanguageData.GetContent(808)); m_leftVIPSweepCount.text = LanguageData.GetContent(20019, vipLevel + 1, PrivilegeData.dataMap[vipLevel + 1].dailyTowerSweepLimit); } else { int leftCount = PrivilegeData.dataMap[vipLevel].dailyTowerSweepLimit - data.VIPSweepUsed; m_buttonVIP.SetButtonText(LanguageData.GetContent(807, leftCount)); if (vipLevel >= GlobalData.dataMap[0].tower_all_sweep_vip_level) { m_leftVIPSweepCount.text = LanguageData.GetContent(20021, vipLevel); //隐藏普通扫荡,vip扫荡改为全部扫荡 m_buttonNormal.gameObject.SetActive(false); m_buttonVIP.SetButtonText(LanguageData.GetContent(809)); } else if (vipLevel + 1 == GlobalData.dataMap[0].tower_all_sweep_vip_level) { m_leftVIPSweepCount.text = LanguageData.GetContent(20020, vipLevel + 1); } else { m_leftVIPSweepCount.text = LanguageData.GetContent(20019, vipLevel + 1, PrivilegeData.dataMap[vipLevel + 1].dailyTowerSweepLimit); } } m_leftChallengeCount.text = LanguageData.GetContent(803, data.FailCount); m_lblGuide.text = LanguageData.dataMap.Get(vipLevel + 20006).content; if (data.CurrentLevel > data.Highest) { m_buttonVIP.Clickable = false; m_buttonNormal.Clickable = false; } else { m_buttonVIP.Clickable = true; m_buttonNormal.Clickable = true; } int iter = 0; var rwdList = m_rewardList.GetComponentsInChildren<MogoListImproved>(true); if (rwdList[0].DataList.Count > 0) { foreach (var towerXML in TowerXMLData.dataMap) { TowerRewardUnit unit = (TowerRewardUnit)(rwdList[0].DataList[iter]); if (data.Items.ContainsValue(towerXML.Key)) { unit.IsAlreadyGet = true; } else { unit.IsAlreadyGet = false; } unit.force = LanguageData.GetContent(20099, MissionData.dataMap.FirstOrDefault( x => MapData.dataMap.Get(x.Value.mission).type == MapType.ClimbTower && x.Value.difficulty == unit.RewardID - 9) .Value.minimumFight.ToString()); unit.PicID = (unit.RewardID / 10 - 1) % 3; if (((data.CurrentLevel % 10 == 0 ? data.CurrentLevel : (data.CurrentLevel / 10 + 1) * 10) == unit.RewardID)) { unit.TowerDesc = LanguageData.GetContent(802, data.CurrentLevel); unit.forceCurrent = LanguageData.GetContent(20099, (MissionData.dataMap.FirstOrDefault(x => MapData.dataMap.Get(x.Value.mission).type == MapType.ClimbTower && x.Value.difficulty == data.CurrentLevel) .Value.minimumFight).ToString()); unit.Grey = false; unit.HighLight = true; unit.Unlocked = true; } else if (((data.CurrentLevel % 10 == 0 ? data.CurrentLevel : (data.CurrentLevel / 10 + 1) * 10) < unit.RewardID)) { unit.TowerDesc = string.Empty; unit.Grey = true;// true; unit.Unlocked = false; unit.HighLight = false; } else { unit.TowerDesc = string.Empty; unit.Grey = false; unit.HighLight = false; unit.Unlocked = true; } iter++; } } MogoGlobleUIManager.Instance.ShowWaitingTip(false); }
void readTower() { TowerInfo = new Dictionary<string, TowerData>(); TextAsset textAsset = (TextAsset)Resources.Load(GameConfig.DatabasePathTowerInfo); string[] temp = textAsset.text.Split('\n'); int lenght = temp.Length; for (int i = 1; i < lenght - 1; i++) { if (temp[i].Equals("")) break; TowerData data = new TowerData(); string[] s = temp[i].Split(';'); data.Type = s[1].Replace('\"', ' ').ToString().Trim(); data.Level = int.Parse(s[2].ToString()); data.Region = s[4].Replace('\"', ' ').ToString().Trim(); data.Target = s[5].Replace('\"', ' ').ToString().Trim(); data.BulletMode = s[6].Replace('\"', ' ').ToString().Trim(); data.Range = int.Parse(s[7].ToString()); data.Cost = int.Parse(s[8].ToString()); data.MinATK = int.Parse(s[9].ToString()); data.MaxATK = int.Parse(s[10].ToString()); data.ShootSpwan = float.Parse(s[11].ToString()); data.TimeBuild = float.Parse(s[12].ToString()); data.Branch = s[13].Replace('\"', ' ').ToString().Trim(); TowerInfo.Add(data.Type + data.Level.ToString(), data); } }
public void RefreshUI(TowerData data) { if (m_view!=null) { m_view.SetView(data); } else { //Debug.LogError("m_view null"); } }
void Start() { //set the class objects ButtonScript = GameObject.Find("Canvas/Panel").GetComponent<buttonScript>(); //get a refference to the buttonscript u=in scen canvaStatsPanel = ButtonScript.statPanel; //Should send this unit's stats to the panel statsLabel = canvaStatsPanel.GetComponentInChildren<Text>(); towerManager = GameObject.FindGameObjectWithTag("PlayerTowerManager").GetComponent<TowerManager>(); selectionCircle = transform.Find("selectPlane"); selectionCircle.gameObject.SetActive(false); enemiesInRange = new List<GameObject>(); //Get alist of enemeies in range lastShotTime = Time.time; towerData = gameObject.GetComponentInChildren<TowerData>(); }