Пример #1
0
    /// <summary>
    /// 获得一个子弹信息
    /// </summary>
    public BaseBulletInfo GetBulletData(BulletType type, int power)
    {
        BaseBulletInfo data = LoadBaseBulletData(type);

        data.power = power;

        return(data);
    }
Пример #2
0
    /// <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);
    }
Пример #3
0
    /// <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);
    }
Пример #4
0
    /// <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]);
    }