// Use this for initialization override public void Start() { m_heroList = new List <Hero>(); m_transform = this.transform; m_indexId = 0; for (int i = 0; i < m_selfHeroList.Count; i++) { Hero selfHero = new Hero(1, 1, m_selfHeroList[i]); selfHero.SetParent(m_transform); selfHero.SetPosition(m_selfHeroList[i].transform.localPosition); m_heroList.Add(selfHero); selfHero.Camp = 0; selfHero.indexId = i; CBaseObject pObject = new CBaseObject(selfHero.indexId); pObject.Camp = 0; pObject.indexId = selfHero.indexId; pObject.SetPosition(m_selfHeroList[i].transform.localPosition); pObject.SetNode(selfHero); BattleSceneProcessor.Instance.m_attackerHeroList.Add(pObject); } ushort baseId = 0; float attackRange = 0; float attackSpeed = 1.5f; ushort moveSpeed = 10; short hp = 0; for (int i = 0; i < m_enemyHeroList.Count; i++) { if (m_enemyHeroList[i].tag.CompareTo("Soldier_0") == 0) { baseId = 5001; attackRange = 10; attackSpeed = 2.0f; moveSpeed = 10; hp = 0; } else if (m_enemyHeroList[i].tag.CompareTo("Soldier_1") == 0) { baseId = 5002; attackRange = 2; attackSpeed = 2.5f; moveSpeed = 5; hp = -500; } else if (m_enemyHeroList[i].tag.CompareTo("Soldier_2") == 0) { baseId = 5003; attackRange = 1.5f; attackSpeed = 1.5f; moveSpeed = 7; hp = -300; } Hero enemyHero = new Hero(baseId, 1, m_enemyHeroList[i]); enemyHero.ID = baseId; enemyHero.SetParent(m_transform); enemyHero.SetPosition(m_enemyHeroList[i].transform.localPosition); m_heroList.Add(enemyHero); enemyHero.Camp = 1; enemyHero.indexId = 1000 + i; enemyHero.AttackRange = attackRange; enemyHero.moveData.MoveSpeed = moveSpeed; enemyHero.SetCurrentHP(hp); enemyHero.RegressPosition = m_enemyHeroList[i].transform.localPosition; CBaseObject pObject = new CBaseObject(enemyHero.indexId); pObject.Camp = 1; pObject.indexId = enemyHero.indexId; pObject.SetPosition(m_enemyHeroList[i].transform.localPosition); pObject.SetNode(enemyHero); pObject.AttackRange = attackRange; pObject.AttackSpeed = attackSpeed; pObject.SetCurrentHP(hp); BattleSceneProcessor.Instance.m_defenderHeroList.Add(pObject); } for (int i = 0; i < m_enemyBuildingList.Count; i++) { BuildingNode pBuild = new BuildingNode(1, 1, m_enemyBuildingList[i]); pBuild.SetPosition(m_enemyBuildingList[i].transform.localPosition); pBuild.Camp = 1; pBuild.indexId = 2000 + i; CBaseObject pObject = new CBaseObject(1); pObject.indexId = pBuild.indexId; pObject.Camp = 1; pObject.SetPosition(m_enemyBuildingList[i].transform.localPosition); pObject.SetNode(pBuild); BattleSceneProcessor.Instance.m_defenderBuildingList.Add(pObject); } GameData.Instance.actConfig.GetActionSequence(1); base.Start(); MapManager.Instance.CurrentMap = this; BattleSceneProcessor.Instance.BattleStart(); }
public void MouseDownHandle() { if (GUIUtility.hotControl != 0) { _bClickGui = true; return; } if (GameLaunch.Instance && GameLaunch.Instance.ShowHomeEditor) { return; } /*Vector3 clickPos = converPosition2Local(Input.mousePosition); * _preMousePos = Input.mousePosition; * _preMouseDownPos = _preMousePos; * //Debug Info * Vector3 cellPos = MapManager.Instance.GetCellPosition(clickPos); * clickPos = MapManager.Instance.GetPixelPosition(cellPos); * Debug.Log("Cell Position:(" + (int)cellPos.x + ", " + (int)cellPos.y + ") ---------- Pixel Position:" + clickPos);*/ m_startPos = Input.mousePosition; Ray ray = mCamera.ScreenPointToRay(Input.mousePosition); RaycastHit hit; Physics.Raycast(ray, out hit, 100, mouseHitLayer); if (hit.transform != null && hit.transform.name.CompareTo("NormalMap") == 0) { Hero selfHero = new Hero(1, 1); m_heroList.Add(selfHero); selfHero.Camp = 0; selfHero.indexId = m_indexId++; Vector3 pos = m_endPos = hit.point; AddNode(selfHero, pos); CBaseObject pObject = new CBaseObject(selfHero.indexId); pObject.Camp = 0; pObject.indexId = selfHero.indexId; pObject.SetPosition(pos); pObject.SetNode(selfHero); BattleSceneProcessor.Instance.m_attackerHeroList.Add(pObject); } /*if (!MapManager.Instance.IsSelfMap()) * return; * BuildingNode temp = IsSelectedBuilding((int)cellPos.x, (int)cellPos.y) as BuildingNode; * * if (_selectNode != null && temp != null && temp == _selectNode) * { * if (_selectNode.buildInfo.Type == BuildingType.BT_Function && _selectNode.buildInfo.SubType == BuildingSort.BS_CityCenter / *|| * _selectNode.buildInfo.Type == BuildingType.BT_COLLECTION* /) * return; * MapManager.Instance.IsDragingNode = true; * * if (_selectNode.GridState != Building.GRID_STATE_RED) * { * _selectNode.SetGridState(Building.GRID_STATE_GREEN); * _selectNode.HideSelectEffect(); * GameUIRoot.Instance.GetMainFrame().ControlBuildPanelUI.Close(); * } * }*/ }