public override void EnterState() { GameObject ground = GameStart.GetInstance().ResModuel.LoadResources <GameObject>(EResourceType.Ground, "Ground"); ground = CommonFunc.Instantiate(ground); m_ground = CommonFunc.AddSingleComponent <Ground>(ground); GroundData groundData = new GroundData(); m_ground.InitGround(groundData); PlayerData playerData = new PlayerData(); m_palyer = new Player(1, playerData); m_palyer.InitPlayerAction(HitBallDelegate); GameObject go = new GameObject("Controller"); m_playerController = go.AddComponent <PlayerController>(); m_playerController.InitController(m_palyer); BallMechineData mechineData = new BallMechineData(); BallData ballData = new BallData(); m_ballMechine = new BallMechine(mechineData, ballData, m_ground.GetLeftPoint(), m_ground.GetRightPoint()); CoroutineTool.GetInstance().StartGameCoroutine(StartCoroutine()); }
public void Destory() { GameObject.Destroy(m_instance); m_instance = null; m_mechineData = null; m_ballData = null; for (int i = 0; i < m_ballList.Count; i++) { m_ballList[i].Destory(); } for (int i = 0; i < m_cacheBallList.Count; i++) { m_cacheBallList[i].Destory(); } }
public BallMechine(BallMechineData data, BallData ballData, Vector3 leftPoint, Vector3 rightPoint) { m_mechineData = data; m_ballData = ballData; m_ballList = new List <GameBall>(); m_cacheBallList = new List <GameBall>(); GameResModuel resModuel = GameStart.GetInstance().ResModuel; GameObject mechine = resModuel.LoadResources <GameObject>(EResourceType.BallMechine, "BallMechine"); mechine = CommonFunc.Instantiate(mechine); m_instance = mechine.AddComponent <BallMechineInstance>(); mechine.transform.position = data.m_mechinePosition; mechine.transform.rotation = Quaternion.Euler(data.m_mechineRotation); m_instance.ServiceBall = ServieBall; m_instance.SetLeftRightPoint(leftPoint, rightPoint); }