Ejemplo n.º 1
0
    private bool CreatePick(ObjectBase obj, ArrayList param)
    {
        if (param == null || param.Count != 1)
        {
            return(false);
        }

        if (obj == null)
        {
            return(false);
        }

        BaseScene scn = SceneManager.Instance.GetCurScene();

        if (scn == null)
        {
            return(false);
        }

        PickInitParam initParam = new PickInitParam();

        initParam.pick_res_id = System.Convert.ToInt32(param[0]);
        initParam.init_pos    = obj.GetPosition();
        initParam.init_dir    = obj.GetDirection();

        return(scn.CreateSprite(initParam) != null);
    }
Ejemplo n.º 2
0
    override public bool Init(ObjectInitParam param)
    {
        PickInitParam pickParam = (PickInitParam)param;

        if (!DataManager.PickTable.ContainsKey(pickParam.pick_res_id))
        {
            GameDebug.LogError("pick表中不存在ID: " + pickParam.pick_res_id);
            return(false);
        }

        mRes        = DataManager.PickTable[pickParam.pick_res_id] as PickTableItem;
        mModelResID = mRes.modelId;
        mContent    = pickParam.content;
        mPickType   = pickParam.pick_type;
        mFlyType    = pickParam.fly_type;
        mRandomPos  = pickParam.random_pos;

        if (!base.Init(param))
        {
            return(false);
        }

        InitProperty();

        return(true);
    }
Ejemplo n.º 3
0
    private void OnCrazy(bool crazy)
    {
//         MaoStageCrazyEvent e = new MaoStageCrazyEvent();
//         e.Crazy = crazy;
//         EventSystem.Instance.PushEvent(e);

        if (crazy)
        {
            foreach (Vector3f pos in mSceneGoldPosition)
            {
                PickInitParam param = new PickInitParam();
                param.pick_res_id = mGoldPickId2;
                param.init_dir    = 0;
                param.init_pos    = new UnityEngine.Vector3(pos.x, pos.y, pos.z);

                BaseScene scn = SceneManager.Instance.GetCurScene();
                if (scn == null)
                {
                    return;
                }

                scn.CreateSprite(param);
            }
        }
    }
Ejemplo n.º 4
0
    private void CreateJieYao()
    {
        Vector3f pos = BaseAI.GetPosition(GetID());

        if (mJieYaoPosition.Count > 0)
        {
            int index = BaseAI.Random(0, mJieYaoPosition.Count - 1);
            pos = mJieYaoPosition[index];
        }

        PickInitParam param = new PickInitParam();

        param.pick_res_id = mJieYaoPickId;
        param.init_dir    = 0;
        param.init_pos    = new UnityEngine.Vector3(pos.x, pos.y, pos.z);

        BaseScene scn = SceneManager.Instance.GetCurScene();

        if (scn == null)
        {
            return;
        }

        scn.CreateSprite(param);
    }
Ejemplo n.º 5
0
    private bool CreatePick(ObjectBase obj, respond_msg_gm respond)
    {
        if (respond == null)
        {
            return(false);
        }

        if (obj == null)
        {
            return(false);
        }

        BaseScene scn = SceneManager.Instance.GetCurScene();

        if (scn == null)
        {
            return(false);
        }

        PickInitParam initParam = new PickInitParam();

        initParam.pick_res_id = System.Convert.ToInt32(respond.param1);
        initParam.init_pos    = obj.GetPosition();
        initParam.init_dir    = obj.GetDirection();

        return(scn.CreateSprite(initParam) != null);
    }
Ejemplo n.º 6
0
    private void CreateGold()
    {
        // 创建金币 pick
        Vector3f pos = BaseAI.GetPosition(GetID());;

        PickInitParam param = new PickInitParam();

        param.pick_res_id = mGoldPickId1;
        param.init_dir    = 0;
        param.init_pos    = new UnityEngine.Vector3(pos.x, pos.y, pos.z);

        BaseScene scn = SceneManager.Instance.GetCurScene();

        if (scn == null)
        {
            return;
        }

        scn.CreateSprite(param);
    }
Ejemplo n.º 7
0
    // 生成掉落物
    public static bool CreatePickInitParam(Pick.PickType picktype, int resid, int content, Vector3 pos, float dir, out List <PickInitParam> paramList, bool randomPos = false, Pick.FlyType flytype = Pick.FlyType.FLY_OUT, bool isDropBoxId = true)
    {
        paramList = new List <PickInitParam>();

        if (content < 0)
        {
            return(false);
        }

        if (picktype <= Pick.PickType.INVALID || picktype >= Pick.PickType.TYPE_COUNT)
        {
            return(false);
        }

        if (isDropBoxId)
        {
            ArrayList buffList = new ArrayList();
            if (DropManager.Instance.GenerateDropBox(content, out buffList))
            {
                foreach (DropBoxItem item in buffList)
                {
                    int pickres_id = item.itemid;

                    if (picktype == Pick.PickType.ITEM)
                    {
                        ItemTableItem itemres = ItemManager.GetItemRes(item.itemid);
                        if (itemres == null)
                        {
                            continue;
                        }

                        pickres_id = itemres.pickId;
                    }

                    for (int i = 0; i < item.itemnum; ++i)
                    {
                        PickInitParam initParam = new PickInitParam();
                        initParam.pick_type   = picktype;
                        initParam.pick_res_id = pickres_id;
                        initParam.init_dir    = dir;
                        initParam.init_pos    = pos;
                        initParam.random_pos  = randomPos;
                        initParam.fly_type    = flytype;

                        paramList.Add(initParam);
                    }
                }
            }
        }
        else
        {
            int pickres_id = resid;

            if (picktype == Pick.PickType.MONEY)
            {
                if (content < 1)
                {
                    return(false);
                }
            }
            else if (picktype == Pick.PickType.SUPER_WEAPON)
            {
                if (!DataManager.SuperWeaponTable.ContainsKey(content))
                {
                    GameDebug.LogError("没找到超级武器 id = " + content.ToString());
                    return(false);
                }
            }
            else if (picktype == Pick.PickType.ITEM)
            {
                ItemTableItem itemres = ItemManager.GetItemRes(content);
                if (itemres == null)
                {
                    return(false);
                }

                pickres_id = itemres.pickId;
            }

            PickInitParam initParam = new PickInitParam();
            initParam.pick_type   = picktype;
            initParam.pick_res_id = pickres_id;
            initParam.content     = content;
            initParam.init_dir    = dir;
            initParam.init_pos    = pos;
            initParam.random_pos  = randomPos;
            initParam.fly_type    = flytype;

            paramList.Add(initParam);
        }

        return(true);
    }