Exemplo n.º 1
0
 protected void setEditorType()
 {
     if (objs.GetType() == typeof(Unit[, , ]))
     {
         type = EditorType.Tile;
     }
     else if (objs.GetType() == typeof(Tile[, , ]))
     {
         type = EditorType.Unit;
     }
 }
Exemplo n.º 2
0
    public void Write <T>(T[,,] param, string tag)
    {
        ES2Type type = ES2TypeManager.GetES2Type(param.GetType().GetElementType());

        if (type == null)
        {
            Debug.LogError(typeof(T).ToString() + " is not currently supported or it's ES2Type was not found, but you may be able to add support for it through Assets > Easy Save 2 > Manage Types");
        }
        WriteHeader(tag, ES2Keys.Key._NativeArray, type, null);
        Write <T>(param, type);
        WriteTerminator();
        WriteLength();
        tagsToDelete.Add(tag);
    }
Exemplo n.º 3
0
        private static void Copy3DItems <T>(
            T[,,] sourceArray,
            T[,,] targetArray,
            MemberSettings settings,
            ReferencePairCollection referencePairs)
        {
            var copyValues = State.Copy.IsCopyValue(
                sourceArray.GetType().GetItemType(),
                settings);

            for (var i = sourceArray.GetLowerBound(0); i <= sourceArray.GetUpperBound(0); i++)
            {
                for (var j = sourceArray.GetLowerBound(1); j <= sourceArray.GetUpperBound(1); j++)
                {
                    for (var k = sourceArray.GetLowerBound(2); k <= sourceArray.GetUpperBound(2); k++)
                    {
                        if (copyValues)
                        {
                            targetArray[i, j, k] = sourceArray[i, j, k];
                            continue;
                        }

                        var  sv = sourceArray[i, j, k];
                        var  tv = targetArray[i, j, k];
                        bool created;
                        bool needsSync;
                        var  clone = State.Copy.CloneWithoutSync(sv, tv, settings, out created, out needsSync);
                        if (created)
                        {
                            targetArray[i, j, k] = clone;
                        }

                        if (needsSync)
                        {
                            State.Copy.Sync(sv, clone, settings, referencePairs);
                        }
                    }
                }
            }
        }
Exemplo n.º 4
0
 public void Write <T>(T[,,] param)
 {
     Write(param, ES2TypeManager.GetES2Type(param.GetType().GetElementType()));
 }