当前位置: 首页>>代码示例>>C#>>正文


C# AstarSerializer.Close方法代码示例

本文整理汇总了C#中Pathfinding.AstarSerializer.Close方法的典型用法代码示例。如果您正苦于以下问题:C# AstarSerializer.Close方法的具体用法?C# AstarSerializer.Close怎么用?C# AstarSerializer.Close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Pathfinding.AstarSerializer的用法示例。


在下文中一共展示了AstarSerializer.Close方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: DeserializeGraphs_oldInternal

        /** Main deserializer function (old). Loads from \a bytes variable \deprecated */
        public void DeserializeGraphs_oldInternal(AstarSerializer serializer, byte[] bytes)
        {
            System.DateTime startTime = System.DateTime.UtcNow;

            if (bytes == null || bytes.Length == 0) {
                Debug.Log ("No previous data, assigning default");
                graphs = new NavGraph[0];
                return;
            }

            Debug.Log ("Deserializing...");

            serializer = serializer.OpenDeserialize (bytes);

            DeserializeGraphsPart (serializer);

            serializer.Close ();

            System.DateTime endTime = System.DateTime.UtcNow;
            Debug.Log ("Deserialization complete - Process took "+((endTime-startTime).Ticks*0.0001F).ToString ("0.00")+" ms");
        }
开发者ID:rmkeezer,项目名称:fpsgame,代码行数:22,代码来源:AstarData.cs

示例2: ApplyUndo

    /*public void OnDisableUndo () {
        return;
        if (!editor.enableUndo) {
            return;
        }

        if (undoState != null) {
            ScriptableObject.DestroyImmediate (undoState);
            undoState = null;
        }
    }

    private void ApplyUndo () {
        return;
        if (!editor.enableUndo) {
            return;
        }

        undoState.hasBeenReverted = false;

        if (AstarPath.active == null) {
            return;
        }

        byte[] bytes = GetSerializedBytes (target);

        bool isDifferent = false;

        //Check if the data is any different from the last saved data, if it isn't, don't load it
        if (undoState.data == null || bytes.Length != undoState.data.Length) {
            isDifferent = true;
        } else {
            for (int i=0;i<bytes.Length;i++) {
                if (bytes[i] != undoState.data[i]) {
                    isDifferent = true;
                    break;
                }
            }
        }

        if (isDifferent) {

            Debug.Log ("The undo is different "+ Event.current.type +" "+Event.current.commandName);
            //Event.current.Use ();
            AstarSerializer sz = new AstarSerializer (editor.script);
            sz.OpenDeserialize (undoState.data);
            sz.DeSerializeSettings (target,AstarPath.active);
            sz.Close ();
        }
    }

    public void ModifierKeysChanged () {
        return;
        if (!editor.enableUndo) {
            return;
        }

        if (undoState == null) {
            return;
        }
        //The user has tried to undo something, apply that
        if (undoState.hasBeenReverted) {
            ApplyUndo ();
            GUI.changed = true;
            editor.Repaint ();
        }

    }

    /** Handles undo operations for the graph *
    public void HandleUndo (NavGraph target) {
        return;
        if (!editor.enableUndo) {
            return;
        }

        if (undoState == null) {
            undoState = ScriptableObject.CreateInstance<GraphUndo>();
        }

        Event e = Event.current;

        //ModifierKeysChanged ();

        //To serialize settings for a grid graph takes from 0.00 ms to 7.8 ms (usually 0.0, but sometimes jumps up to 7.8 (no values in between)
        if ((e.button == 0 && (e.type == EventType.MouseDown || e.type == EventType.MouseUp)) || (e.isKey && (e.keyCode == KeyCode.Tab || e.keyCode == KeyCode.Return))) {
            System.Diagnostics.Stopwatch stopWatch = new System.Diagnostics.Stopwatch();
            stopWatch.Start();

            //Serialize the settings of the graph
            byte[] bytes = GetSerializedBytes (target);

            bool isDifferent = false;

            if (undoState.data == null) {
                Debug.LogError ("UndoState.data == null - This should not happen");
                return;
            }

            //Check if the data is any different from the last saved data, if it isn't, don't save it
//.........这里部分代码省略.........
开发者ID:jlonardi,项目名称:igp-DnM,代码行数:101,代码来源:GraphEditor.cs

示例3: SerializeGraphs

        /** Main serializer function, a similar one exists in the AstarEditor.cs script to save additional info */
        public byte[] SerializeGraphs(AstarSerializer serializer)
        {
            serializer.OpenSerialize ();

            SerializeGraphsPart (serializer);

            serializer.Close ();

            byte[] bytes = (serializer.writerStream.BaseStream as System.IO.MemoryStream).ToArray ();

            Debug.Log ("Got a whole bunch of data, "+bytes.Length+" bytes");
            return bytes;
        }
开发者ID:arcoelho01,项目名称:astrochimps,代码行数:14,代码来源:AstarData.cs

示例4: Loadx

	/** Obsolete */
	public AstarSerializer Loadx (bool runtime, out NavGraph graph, AstarSerializer.DeSerializationInterrupt interrupt) {
		
		float startTime = Time.realtimeSinceStartup;
		
		AstarSerializer serializer = new AstarSerializer (this);
		
		//serializer.DeSerialize (this, runtime, out graph,interrupt);
		
		if (runtime) {
			serializer.Close ();
		}
		
		graph = null;
		Debug.Log ("Loading took "+(Time.realtimeSinceStartup-startTime)+" s to complete");
		return serializer;
	}
开发者ID:pravusjif,项目名称:PravusUnityTests,代码行数:17,代码来源:AstarPath.cs

示例5: Savex

	//The runtime variable is there to inform the script about that some variables might not get saved, like the sourceMesh reference in the NavmeshGraph which is a reference to the Unity asset database and cannot be saved or loaded during runtime.
	//When runtime is false, the stream won't be closed
	/** Obsolete */
	public AstarSerializer Savex (NavGraph graph, bool runtime) {
		
		float startTime = Time.realtimeSinceStartup;
		
		if (isCalculatingPaths) {
			Debug.LogWarning ("The script is currently calculating paths, the serialization can interfere with the pathfinding");
		}
		
		//Fill some variables with index values for each node which is usefull to the serializer
		//This can interfere with pathfinding so all pathfinding should be stopped before calling this function
		for (int i=0;i<graphs.Length;i++) {
			NavGraph graphx = graphs[i];
			
			if (graphx.nodes == null) {
				continue;
			}
			
			for (int q=0;q<graphx.nodes.Length;q++) {
				graphx.nodes[q].g = q;
				graphx.nodes[q].h = i;
			}
		}
		
		AstarSerializer serializer = new AstarSerializer (this);
		
		serializer.compress = astarData.compress;
		
		//serializer.Serialize (graph,this, runtime);
		
		if (runtime) {
			serializer.Close ();
		}
		
		Debug.Log ("Saving took "+(Time.realtimeSinceStartup-startTime).ToString ("0.00")+" s to complete");
		
		return serializer;
	}
开发者ID:pravusjif,项目名称:PravusUnityTests,代码行数:40,代码来源:AstarPath.cs

示例6: DeserializeGraphs

    public void DeserializeGraphs(AstarSerializer serializer, byte[] data)
    {
        serializer = serializer.OpenDeserialize (data);

        //Deserialize the main bulk of the data
        script.astarData.DeserializeGraphsPart (serializer);

        CheckGraphEditors ();

        //Deserialize editor data
        for (int i=0;i<script.graphs.Length;i++) {
            NavGraph graph = script.graphs[i];

            GraphEditor graphEditor = graphEditors[i];

            if (serializer.MoveToAnchor ("EditorSettings_"+i)) {
                ISerializableGraphEditor serializableEditor = graphEditor as ISerializableGraphEditor;
                if (serializableEditor != null) {
                    //Set an unique prefix for all variables in this graph
                    serializer.sPrefix = i.ToString ()+"E";
                    serializer.DeSerializeEditorSettings (graph,serializableEditor,script);
                    //serializableEditor.DeSerializeSettings (graph,serializer);
                }
            }
        }

        serializer.Close ();
    }
开发者ID:AlexisHenriquezB,项目名称:SpaceMooney,代码行数:28,代码来源:AstarPathEditor.cs

示例7: SerializeGraphs

    public byte[] SerializeGraphs(AstarSerializer serializer)
    {
        //System.Diagnostics.Stopwatch stopWatch = new System.Diagnostics.Stopwatch();
        //stopWatch.Start();

        CheckGraphEditors ();

        serializer.OpenSerialize ();

        script.astarData.SerializeGraphsPart (serializer);

        for (int i=0;i<script.graphs.Length;i++) {
            NavGraph graph = script.graphs[i];

            GraphEditor graphEditor = graphEditors[i];

            serializer.AddAnchor ("EditorSettings_"+i);
            ISerializableGraphEditor serializableEditor = graphEditor as ISerializableGraphEditor;
            if (serializableEditor != null) {
                //@Add

                //Set an unique prefix for all variables in this graph
                serializer.sPrefix = i.ToString ()+"E";
                serializer.SerializeEditorSettings (graph,serializableEditor,script);
                //serializableEditor.SerializeSettings (graph,serializer);
            }
        }

        serializer.Close ();

        byte[] bytes = (serializer.writerStream.BaseStream as System.IO.MemoryStream).ToArray ();

        //stopWatch.Stop();
        //Debug.Log ("Serializing Graphs - Took "+stopWatch.Elapsed.ToString ());

        return bytes;
    }
开发者ID:AlexisHenriquezB,项目名称:SpaceMooney,代码行数:37,代码来源:AstarPathEditor.cs


注:本文中的Pathfinding.AstarSerializer.Close方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。