protected void ConnectCallback(NodeScript node, string input, int sourceInstruction, bool success) { if (!success) { player.PrintToConsole("Connection attempt failed to send"); return; } Regex pattern = new Regex(@"^(" + P.DATA + @")\s+(" + P.INT + @")"); Match match = pattern.Match(input); // Format // XXX: Add option to force Connect ignoring safe mode string address = match.Groups[1].Value; double d_address; AlphaNumeral.StringToDbl(address, out d_address); NodeScript targetNode = NodeManager.GetNode(d_address, true); /* XXX: * if( targetNode == null ) { * player.connectedNode = null; * PacketGraphicScript packet = PacketGraphicManager.GetPacket(); * player.cameraFocus.MoveTo(); * }*/ // Connect to new Node player.connectedNode = targetNode; // Camera pan to new Node player.cameraFocus.MoveTo(NodeGraphicManager.GetGraphic(targetNode), GameManager.gameOptions.packetTravelTime); }
string GetLostCommand(string input, out bool success) { double address = NodeManager.GetRandomAddress(); NodeGraphicManager.DisplayNode(NodeGraphicManager.GetGraphic(player.connectedNode).transform.position, address); return(Connect(address.ToString(), true, out success)); }
public static void CreatePacketGraphic(NodeScript source, NodeScript target) { Vector3 vrot = Random.onUnitSphere; Quaternion rot = Quaternion.Euler(vrot); GameObject packetGraphics = GameObject.Instantiate(packetPrefab, NodeGraphicManager.GetGraphic(source).transform.position, rot, gameObject.transform) as GameObject; PacketGraphicScript graphicsScript = packetGraphics.GetComponent <PacketGraphicScript>(); graphicsScript.MoveTo(target); packets.Add(graphicsScript); }
protected string ResetCommand(string input, out bool success) { success = true; NodeGraphicScript graphic = NodeGraphicManager.GetGraphic(localNode); graphic.HideDisplay(); graphic.ShowMemory(false); player.cameraFocus.Offset(Vector3.zero); player.cameraFocus.SetDistance(4); return("Resetting view..."); }
public void MoveTo(NodeScript target) { Vector3 v_target; if (target == null || !NodeGraphicManager.NodeIsVisible(target)) { v_target = Random.onUnitSphere * 40; } else { v_target = NodeGraphicManager.GetGraphic(target).transform.position; } positionTween.StartTween(transform.position, v_target, GameManager.gameOptions.packetTravelTime); }
protected string ReadLogCommand(string input, out bool success) { success = false; /* XXX: Left for later use for log filtering * Regex pattern = new Regex(@""); * Match match = pattern.Match(input); * if( !match.Success ) { * return "ReadLog invalid format"; * }*/ LogDetails detail; switch (input) { case "all": detail = LogDetails.ALL; break; case "command": detail = LogDetails.COMMAND; break; case "": case "response": detail = LogDetails.RESPONSE; break; default: return("ReadLog invalid format"); } NodeGraphicScript graphic = NodeGraphicManager.GetGraphic(localNode); graphic.DisplayLog(detail); player.cameraFocus.Offset(new Vector3(-0.5f, 0, 2.5f)); graphic.ShowMemory(false); success = true; return("Opening log..."); }
protected string ReadMemoryCommand(string input, out bool success) { success = false; if (input.Length != 0) { if (input.ToLower() == "static") { return("Static not implemented..."); /*for( int i = GameManager.gameOptions.nodeMemoryLength; i < player.connectedNode.GetMemoryLength(); i++ ) { * Memory memory = player.connectedNode.GetMemory(i); * output += FormatMemory(i, memory, false); * }*/ } else { int index; int subIndex; string error = localNode.ParseMemoryIndex(input, out index, out subIndex); if (error != null) { return(error); } NodeGraphicScript graphic = NodeGraphicManager.GetGraphic(localNode); graphic.RotateMemory(index); } } else { NodeGraphicScript graphic = NodeGraphicManager.GetGraphic(localNode); graphic.SetRotationSpeed(graphic.memoryRotationSpeed); } NodeGraphicManager.GetGraphic(localNode).ShowMemory(true); player.cameraFocus.Offset(new Vector3(1.5f, 0, 0)); success = true; return("Opening Memory..."); }
public static void DisplayPacket(NodeScript source, NodeScript target) { // Determine if sourceNode needs graphic if (!NodeGraphicManager.NodeIsVisible(source) && target != null && NodeGraphicManager.NodeIsVisible(target)) { foreach (PlayerScript console in GameManager.GetConsoles().Values) { if (target == console.connectedNode) { NodeGraphicScript graphic = NodeGraphicManager.GetGraphic(target); NodeGraphicManager.DisplayNode(graphic.transform.position, source); break; } } } // Show packet graphics if (NodeGraphicManager.NodeIsVisible(source)) { PacketGraphicManager.CreatePacketGraphic(source, target); } }