示例#1
0
        public static Matrix4x4 ParseMatrix4x4(string matrixString)
        {
            string[] array = matrixString.Split(new char[]
            {
                ','
            });
            if (array.Length < 16)
            {
                Debug.LogWarning("WARNING: Matrix4x4 entry is not formatted properly! Proper format for Matrix4x4 is 16 csv floats (m00,m01,m02,m03,m10,m11..m33)");
                return(Matrix4x4.Identity);
            }
            Matrix4x4 matrix = Matrix4x4.Identity;

            matrix.m00 = KPUtil.ParseDouble(array[0]);
            matrix.m01 = KPUtil.ParseDouble(array[1]);
            matrix.m02 = KPUtil.ParseDouble(array[2]);
            matrix.m03 = KPUtil.ParseDouble(array[3]);
            matrix.m10 = KPUtil.ParseDouble(array[4]);
            matrix.m11 = KPUtil.ParseDouble(array[5]);
            matrix.m12 = KPUtil.ParseDouble(array[6]);
            matrix.m13 = KPUtil.ParseDouble(array[7]);
            matrix.m20 = KPUtil.ParseDouble(array[8]);
            matrix.m21 = KPUtil.ParseDouble(array[9]);
            matrix.m22 = KPUtil.ParseDouble(array[10]);
            matrix.m23 = KPUtil.ParseDouble(array[11]);
            matrix.m30 = KPUtil.ParseDouble(array[12]);
            matrix.m31 = KPUtil.ParseDouble(array[13]);
            matrix.m32 = KPUtil.ParseDouble(array[14]);
            matrix.m33 = KPUtil.ParseDouble(array[15]);
            return(matrix);
        }
示例#2
0
 public static Quaternion ParseQuaternion(string quaternionString)
 {
     string[] array = quaternionString.Split(new char[]
     {
         ','
     });
     if (array.Length < 4)
     {
         Debug.LogWarning("WARNING: Quaternion entry is not formatted properly! Proper format for Quaternion is x,y,z,w");
         return(Quaternion.Identity);
     }
     return(new Quaternion(KPUtil.ParseDouble(array[0]), KPUtil.ParseDouble(array[1]), KPUtil.ParseDouble(array[2]), KPUtil.ParseDouble(array[3])));
 }
示例#3
0
 public static Vector4 ParseVector4(string vectorString)
 {
     string[] array = vectorString.Split(new char[]
     {
         ','
     });
     if (array.Length < 4)
     {
         Debug.LogWarning("WARNING: Vector4 entry is not formatted properly! Proper format for Vector4 is x,y,z,w");
         return(Vector4.Zero);
     }
     return(new Vector4(KPUtil.ParseDouble(array[0]), KPUtil.ParseDouble(array[1]), KPUtil.ParseDouble(array[2]), KPUtil.ParseDouble(array[3])));
 }
示例#4
0
 public static Color ParseColor(string colorString)
 {
     string[] array = colorString.Split(new char[]
     {
         ','
     });
     if (array.Length < 3)
     {
         Debug.LogWarning("WARNING: Color entry is not formatted properly! Proper format for Colors is r,g,b{,a}");
         return(Color.White);
     }
     if (array.Length > 3)
     {
         return(new Color(KPUtil.ParseDouble(array[0]), KPUtil.ParseDouble(array[1]), KPUtil.ParseDouble(array[2]), KPUtil.ParseDouble(array[3])));
     }
     return(new Color(KPUtil.ParseDouble(array[0]), KPUtil.ParseDouble(array[1]), KPUtil.ParseDouble(array[2])));
 }
示例#5
0
 public void Load(ConfigNode node)
 {
     if (node.HasValue("id"))
     {
         this.id = node.GetValue("id");
     }
     if (node.HasValue("title"))
     {
         this.title = node.GetValue("title");
     }
     if (node.HasValue("description"))
     {
         this.description = node.GetValue("description");
     }
     if (node.HasValue("nodeName"))
     {
         this.name = node.GetValue("nodeName");
     }
     if (node.HasValue("cost"))
     {
         this.scienceCost = KPUtil.ParseInt(node.GetValue("cost"));
     }
     if (node.HasValue("hideEmpty"))
     {
         this.hideEmpty = bool.Parse(node.GetValue("hideEmpty"));
     }
     if (node.HasValue("anyToUnlock"))
     {
         this.anyToUnlock = bool.Parse(node.GetValue("anyToUnlock"));
     }
     if (node.HasValue("pos"))
     {
         this._pos = KPUtil.ParseVector3(node.GetValue("pos"));
     }
     if (node.HasValue("icon"))
     {
         this.iconRef = node.GetValue("icon");
     }
     if (node.HasValue("scale"))
     {
         this.scale = KPUtil.ParseDouble(node.GetValue("scale"));
     }
 }
示例#6
0
 public static Vector4 ParseVector4(string x, string y, string z, string w)
 {
     return(new Vector4(KPUtil.ParseDouble(x), KPUtil.ParseDouble(y), KPUtil.ParseDouble(z), KPUtil.ParseDouble(w)));
 }
示例#7
0
 public static Vector3 ParseVector3(string x, string y, string z)
 {
     return(new Vector3(KPUtil.ParseDouble(x), KPUtil.ParseDouble(y), KPUtil.ParseDouble(z)));
 }
示例#8
0
 public static Vector2 ParseVector2(string x, string y)
 {
     return(new Vector2(KPUtil.ParseDouble(x), KPUtil.ParseDouble(y)));
 }
示例#9
0
 public static Quaternion ParseQuaternion(string x, string y, string z, string w)
 {
     return(new Quaternion(KPUtil.ParseDouble(x), KPUtil.ParseDouble(y), KPUtil.ParseDouble(z), KPUtil.ParseDouble(w)));
 }