示例#1
0
    public List <SerializeTransform> ReturnSavedObject()
    {
        for (int i = 0; i < alreadyGeneratedObjects.Count; i++)
        {
            SerializeTransform fakeTranform = new SerializeTransform();
            if (fakeTranform != null)
            {
                fakeTranform._position[0] = alreadyGeneratedObjects[i].transform.position.x;
                fakeTranform._position[1] = alreadyGeneratedObjects[i].transform.position.y;
                fakeTranform._position[2] = alreadyGeneratedObjects[i].transform.position.z;

                fakeTranform._rotation[0] = alreadyGeneratedObjects[i].transform.rotation.x;
                fakeTranform._rotation[1] = alreadyGeneratedObjects[i].transform.rotation.y;
                fakeTranform._rotation[2] = alreadyGeneratedObjects[i].transform.rotation.z;

                fakeTranform._velocity[0] = alreadyGeneratedObjects[i].rb.velocity.x;
                fakeTranform._velocity[1] = alreadyGeneratedObjects[i].rb.velocity.y;
                fakeTranform._velocity[2] = alreadyGeneratedObjects[i].rb.velocity.z;



                fakeTranform.shape = alreadyGeneratedObjects[i].shape;
                savedObjects.Add(fakeTranform);
            }
        }
        return(savedObjects);
    }
示例#2
0
        public int SerializeComponent(object ori)
        {
            if (ori == null)
            {
                return(0);
            }
            int comHash = ori.GetHashCode();

            if (components.ContainsKey(comHash) == false)
            {
                components.Add(comHash, new KeyValuePair <string, string>());

                var           t             = ori.GetType();
                var           allProperties = t.GetProperties();
                var           allFields     = t.GetFields();
                StringBuilder sb            = new StringBuilder();
                if ((ori as Transform) == null)
                {
                    foreach (var property in allProperties)
                    {
                        if (!IsObsolute(property.GetCustomAttributes(true)) && IsGetSetAble(property))
                        {
                            sb.AppendLine("\t" + SerializePropertyInfo(property, ori));
                        }
                    }
                    foreach (var field in allFields)
                    {
                        if (!IsObsolute(field.GetCustomAttributes(true)))
                        {
                            sb.AppendLine("\t" + SerializeFieldInfo(field, ori));
                        }
                    }
                }
                else
                {
                    string pattern = new SerializeTransform().Serialize(ori as Transform);
                    sb.Append(pattern);
                }
                components[comHash] = new KeyValuePair <string, string>(t.Name, sb.ToString());
            }
            return(comHash);
        }