public void Init(GameObject target, eMapPointType type) { m_CurrentTarget = target; m_CurrentType = type; FindRadarCenter(); CalculatePosition(); switch (type) { case eMapPointType.FISH: FishAI fish = target.GetComponent <FishAI>(); fish.OnSpawn += ShowPoint; fish.OnDeath += HidePoint; break; case eMapPointType.MISSIONTOWER: m_Image = this.GetComponent <Image>(); //m_Color.r = 0.2666f; //m_Color.g = 0.843f; //m_Color.b = 1; m_Color = m_Image.color; MissionTower missionTower = target.GetComponent <MissionTower>(); missionTower.OnActive += CompletePoint; missionTower.OnActivating += MobManager.m_Instance.StopAutoSpawn; missionTower.OnActive += MobManager.m_Instance.StartAutoSpawn; UIPanelMap.Instance.DisplayPoint += ShowPoint; UIPanelMap.Instance.HidePoint += ClosePoint; break; } }
private void OnDestroy() { if (m_CurrentTarget == null) { return; } switch (m_CurrentType) { case eMapPointType.FISH: FishAI fish = m_CurrentTarget.GetComponent <FishAI>(); fish.OnSpawn -= ShowPoint; fish.OnDeath -= HidePoint; break; case eMapPointType.MISSIONTOWER: MissionTower missionTower = m_CurrentTarget.GetComponent <MissionTower>(); missionTower.OnActive -= CompletePoint; missionTower.OnActivating -= MobManager.m_Instance.StopAutoSpawn; missionTower.OnActive -= MobManager.m_Instance.StartAutoSpawn; UIPanelMap.Instance.DisplayPoint -= ShowPoint; UIPanelMap.Instance.HidePoint -= ClosePoint; break; case eMapPointType.PLAYER: UIPanelMap.Instance.DisplayPoint -= ShowPoint; UIPanelMap.Instance.HidePoint -= ClosePoint; m_CurrentPlayer.OnSpawnBegin -= ShowPoint; m_CurrentPlayer.OnDeathBegin -= HidePoint; break; } }
public void Init(MissionTower tower) { CurrentTower = tower; m_Arrows = new List <Image>(); for (int i = 0; i < CurrentTower.Codes.Length; i++) { Image arrow = CreateArrow(CurrentTower.Codes[i]); arrow.gameObject.SetActive(true); m_Arrows.Add(arrow); } m_arrowRoot.gameObject.SetActive(false); SubscribeEvent(); ToIdle(); }
public Mission CreateMission(eMissionType type, Transform pos = null, uint level = 0) { Mission mission = null; switch (type) { case eMissionType.Tower: GameObject tower = new GameObject("MissionTower"); MissionTower missionTower = tower.AddComponent <MissionTower>(); string towerDataFileName = string.Format("MissionTowerSetting_{0}", level); MissionTowerData data = ResourceManager.m_Instance.LoadData(typeof(MissionTowerData), "Mission/Settings", towerDataFileName) as MissionTowerData; missionTower.Initialize(data); mission = missionTower; if (pos != null) { tower.transform.SetParent(pos); tower.transform.position = pos.position; } UIInGameMain.Instance.AddMissionInfo(mission); UIInGameMain.Instance.AddDynamicMissionMsg(missionTower); UIInGameMain.Instance.AddMapPoint(tower, eMapPointType.MISSIONTOWER); break; case eMissionType.KillMob: GameObject killMob = new GameObject("MissionKillMob"); MissionKillMob missionKill = killMob.AddComponent <MissionKillMob>(); string killMobDataFileName = string.Format("MissionKillMobSetting_{0}", level); MissionKillMobData killData = ResourceManager.m_Instance.LoadData(typeof(MissionKillMobData), "Mission/Settings", killMobDataFileName) as MissionKillMobData; missionKill.Initialize(killData); mission = missionKill; UIInGameMain.Instance.AddMissionInfo(mission); break; } return(mission); }
public void AddDynamicMissionMsg(MissionTower mission) { UIDynamicMissionMsg missionMsg = Instantiate(m_DynamicMissionMsg, this.transform); missionMsg.Init(mission); }