/// <summary>
    /// 获取游戏数据
    /// </summary>
    /// <returns></returns>
    public PersonInfoBean GetPersonInfoData()
    {
        PersonInfoBean data = servicePersonInfo.QueryData();

        if (data == null)
        {
            data = new PersonInfoBean();
        }
        return(data);
    }
示例#2
0
    /// <summary>
    /// 更新数据
    /// </summary>
    /// <param name="data"></param>
    /// <returns></returns>
    public bool UpdateData(PersonInfoBean data)
    {
        bool deleteState = BaseDeleteDataById(data.id);

        if (deleteState)
        {
            bool insertSuccess = BaseInsertData(tableNameForMain, data);
            return(insertSuccess);
        }
        return(false);
    }
示例#3
0
    /// <summary>
    /// 获取数据
    /// </summary>
    /// <param name="action"></param>
    /// <returns></returns>
    public PersonInfoBean GetPersonInfoData(Action <PersonInfoBean> action)
    {
        PersonInfoBean data = GetModel().GetPersonInfoData();

        if (data == null)
        {
            GetView().GetPersonInfoFail("没有数据", null);
            return(null);
        }
        GetView().GetPersonInfoSuccess <PersonInfoBean>(data, action);
        return(data);
    }
示例#4
0
 public PersonInfoBean GetPersonInfoById(long id)
 {
     foreach (var itemValue in dicPersonInfo.Values)
     {
         for (int i = 0; i < itemValue.Count; i++)
         {
             PersonInfoBean personInfo = itemValue[i];
             if (personInfo.id == id)
             {
                 return(personInfo);
             }
         }
     }
     return(null);
 }
示例#5
0
    public void SavePersonData()
    {
        PersonInfoBean personInfo = new PersonInfoBean();

        personInfo.id    = personId;
        personInfo.valid = 1;

        PersonDetailsBean personDetails = new PersonDetailsBean();

        int number = 0;

        for (int i = 0; i < PersonHandler.Instance.manager.personContainer.transform.childCount; i++)
        {
            Transform tfChild    = PersonHandler.Instance.manager.personContainer.transform.transform.GetChild(i);
            Person    itemPerson = tfChild.GetComponent <Person>();
            if (!tfChild.tag.Equals(TagInfo.Tag_Person))
            {
                continue;
            }
            //添加人
            PersonDetailsItemBean personDetailsItem = new PersonDetailsItemBean();
            personDetailsItem.position   = new Vector3Bean(tfChild.localPosition);
            personDetailsItem.size       = new Vector3Bean(tfChild.localScale);
            personDetailsItem.angle      = new Vector3Bean(tfChild.localEulerAngles);
            personDetailsItem.bufferTime = itemPerson.bufferTime;
            Transform[] tfListPart = tfChild.GetComponentsInChildren <Transform>();
            for (int f = 0; f < tfListPart.Length; f++)
            {
                //添加部件
                Transform itemPart = tfListPart[f];
                PersonDetailsItemPartBean personDetailsItemPart = new PersonDetailsItemPartBean();
                personDetailsItemPart.position = new Vector3Bean(itemPart.localPosition);
                personDetailsItemPart.size     = new Vector3Bean(itemPart.localScale);
                personDetailsItemPart.angle    = new Vector3Bean(itemPart.localEulerAngles);
                personDetailsItemPart.partName = itemPart.name;
                personDetailsItem.listPartData.Add(personDetailsItemPart);
            }
            number++;
            personDetails.listPersonData.Add(personDetailsItem);
        }
        personInfo.person_number = number;
        personInfo.SetPersonDetilas(personDetails);

        personInfoService.UpdateData(personInfo);
    }
示例#6
0
 public void InitPersonInfo(List <PersonInfoBean> listData)
 {
     dicPersonInfo.Clear();
     for (int i = 0; i < listData.Count; i++)
     {
         PersonInfoBean itemInfo = listData[i];
         if (dicPersonInfo.TryGetValue(itemInfo.person_number, out List <PersonInfoBean> listPersonInfo))
         {
             listPersonInfo.Add(itemInfo);
             dicPersonInfo[itemInfo.person_number] = listPersonInfo;
         }
         else
         {
             dicPersonInfo.Add(itemInfo.person_number, new List <PersonInfoBean>()
             {
                 itemInfo
             });
         }
     }
 }
示例#7
0
    public void LoadPersonData()
    {
        PersonInfoBean personInfo = PersonHandler.Instance.manager.GetPersonInfoById(personId);

        PersonHandler.Instance.SetPersonNumber(personInfo);
    }
 /// <summary>
 /// 保存游戏数据
 /// </summary>
 /// <param name="data"></param>
 public void SetPersonInfoData(PersonInfoBean data)
 {
     servicePersonInfo.UpdateData(data);
 }
示例#9
0
    public void SetPersonNumber(int totalNumber)
    {
        PersonInfoBean personInfo = manager.GetRandomPersonInfoByNumber(totalNumber);

        SetPersonNumber(personInfo);
    }
示例#10
0
    public void SetPersonNumber(PersonInfoBean personInfo)
    {
        PersonDetailsBean personDetails = personInfo.GetPersonDetilas();

        if (manager.personContainer.transform.childCount < personInfo.person_number)
        {
            int offsetNumber = personInfo.person_number - manager.personContainer.transform.childCount;
            for (int i = 0; i < offsetNumber; i++)
            {
                GameObject objPersonModel = manager.GetPersonModel("Person");
                GameObject objPerson      = Instantiate(manager.personContainer, objPersonModel);
            }
        }
        for (int i = 0; i < manager.personContainer.transform.childCount; i++)
        {
            Transform tfChild = manager.personContainer.transform.GetChild(i);
            if (i >= personInfo.person_number)
            {
#if UNITY_EDITOR
                DestroyImmediate(tfChild.gameObject);
#else
                Destroy(tfChild.gameObject);
#endif
                i--;
            }
            else
            {
                PersonDetailsItemBean personDetailsItem = personDetails.listPersonData[i];
                Person person = CptUtil.AddCpt <Person>(tfChild.gameObject, out bool isNew);
                if (isNew)
                {
                    manager.AddPerson(person);
                }
                person.SetData(personDetailsItem.position.GetVector3(), personDetailsItem.bufferTime, isNew);
                if (Application.isPlaying)
                {
                    //tfChild.DOLocalMove(personDetailsItem.position.GetVector3(), 0.5f);
                    tfChild.DOScale(personDetailsItem.size.GetVector3(), 0.5f);
                    tfChild.DOLocalRotate(personDetailsItem.angle.GetVector3(), 0.5f);
                }
                else
                {
                    //tfChild.localPosition = personDetailsItem.position.GetVector3();
                    tfChild.localScale       = personDetailsItem.size.GetVector3();
                    tfChild.localEulerAngles = personDetailsItem.angle.GetVector3();
                }

                Transform[] listPartTF = tfChild.GetComponentsInChildren <Transform>();
                for (int f = 0; f < listPartTF.Length; f++)
                {
                    Transform tfItemPart = listPartTF[f];
                    if (tfItemPart == tfChild)
                    {
                        continue;
                    }
                    for (int p = 0; p < personDetailsItem.listPartData.Count; p++)
                    {
                        PersonDetailsItemPartBean personDetailsItemPart = personDetailsItem.listPartData[p];
                        if (tfItemPart.name.Equals(personDetailsItemPart.partName))
                        {
                            if (Application.isPlaying)
                            {
                                tfItemPart.DOLocalMove(personDetailsItemPart.position.GetVector3(), 0.5f);
                                tfItemPart.DOScale(personDetailsItemPart.size.GetVector3(), 0.5f);
                                tfItemPart.DOLocalRotate(personDetailsItemPart.angle.GetVector3(), 0.5f);
                            }
                            else
                            {
                                tfItemPart.localPosition    = personDetailsItemPart.position.GetVector3();
                                tfItemPart.localScale       = personDetailsItemPart.size.GetVector3();
                                tfItemPart.localEulerAngles = personDetailsItemPart.angle.GetVector3();
                            }

                            break;
                        }
                    }
                }
            }
        }
    }