/// <summary> /// 获得一个子弹信息 /// </summary> public BaseBulletInfo GetBulletData(BulletType type, int power) { BaseBulletInfo data = LoadBaseBulletData(type); data.power = power; return(data); }
/// <summary> /// 初始化子弹数据 /// </summary> public void InitBulletData(Transform parent, Transform self, Vector3 pos, BaseBulletInfo bulletInfo) { parentTransform = parent; cacheTransform = self; cacheSpriteRender = self.GetComponent <SpriteRenderer>(); baseBulletInfo = bulletInfo; ResumeAndInitPosition(pos); }
/// <summary> /// 创建一个新的子弹 /// </summary> private BaseBulletController CreateBulletUtil(BulletType type, Transform parent, Vector3 pos, int power) { //根据子弹类型 生成数据 BaseBulletInfo data = BulletInfo.Instance.GetBulletData(type, power); GameObject bulletGo = ResourcesLoadManager.LoadBulletResources <GameObject>(data.bulletResName); GameObject bullet = GameObject.Instantiate <GameObject>(bulletGo); bullet.transform.SetParent(GameController.Instance.BulletGroup); BaseBulletController bulletController = bullet.AddComponent <BaseBulletController>(); bulletController.InitBulletData(parent, bullet.transform, pos, data); return(bulletController); }
/// <summary> /// 获取基础数据(默认为0 伤害值) /// </summary> private BaseBulletInfo LoadBaseBulletData(BulletType type) { BaseBulletInfo data = null; string key = ((int)type).ToString(); if (!LoadedData.ContainsKey(type)) { string resName = BulletJsonData[key]["res"].ToString(); BulletSearchTargetType searchTargetType = (BulletSearchTargetType)((int)BulletJsonData[key]["searchType"]); int speed = (int)BulletJsonData[key]["speed"]; int maxTime = (int)BulletJsonData[key]["maxTime"]; int shootNum = (int)BulletJsonData[key]["shootNum"]; //伤害值默认为0 data = new BaseBulletInfo(type, searchTargetType, resName, speed, maxTime, shootNum, 0); //缓存 LoadedData.Add(type, data); } return(LoadedData[type]); }