Ejemplo n.º 1
0
    /// <summary>
    /// 生成道具
    /// </summary>
    /// <param name="itemData"></param>
    public void CreateProp(StoryInfoDetailsBean itemData)
    {
        GameObject objPropModel = StoryInfoHandler.Instance.manager.GetStoryPropModelByName(itemData.key_name);
        GameObject objProp      = Instantiate(transform.gameObject, objPropModel);

        listPropObj.Add(objProp);
        objProp.name = "prop_" + itemData.num;

        //设置位置和朝向
        objProp.transform.localPosition = new Vector3(itemData.position_x, itemData.position_y);
        Vector3 bodyScale = objProp.transform.localScale;

        switch (itemData.face)
        {
        case 1:
            bodyScale.x = -1;
            break;

        case 2:
            bodyScale.x = 1;
            break;
        }
        objProp.transform.localScale = bodyScale;

        //如果有移动控件
        CharacterMoveCpt characterMove = objProp.GetComponent <CharacterMoveCpt>();

        if (characterMove != null)
        {
            characterMove.SetMoveSpeed(1);
        }
    }
Ejemplo n.º 2
0
    public void HandleForPropPosition(StoryInfoDetailsBean itemData)
    {
        //道具位置
        GameObject objProp = GetPropByNpcNum(itemData.num);

        if (objProp == null)
        {
            CreateProp(itemData);
        }
        else
        {
            CharacterMoveCpt characterMove = objProp.GetComponent <CharacterMoveCpt>();
            //如果可以移动
            if (characterMove)
            {
                characterMove.SetDestinationLocal(transform, new Vector3(itemData.position_x, itemData.position_y));
            }
            //如果不能移动则直接设置坐标
            else
            {
                objProp.transform.localPosition = new Vector3(itemData.position_x, itemData.position_y);
            }
        }
    }