public virtual void Init(double in_id) { id = in_id; connectedNode = NodeManager.CreateNode(); int idx = UnityEngine.Random.Range(0, GameManager.gameOptions.nodeMemoryLength); MemoryBlock memory = connectedNode.GetMemory(idx); memory.SetContent(0, "READCON"); memory.SetContent(1, id); memory = connectedNode.GetMemory(idx + 1); memory.SetContent(0, "JMP"); memory.SetContent(1, idx); connectedNode.instructionQueue.Enqueue(new EnqueuedInstruction(connectedNode, idx)); connectedNode.AddLabel(idx, "READC"); NodeGraphicScript graphic = NodeGraphicManager.DisplayNode(Vector3.zero, connectedNode); cameraFocus.MoveTo(graphic); SetStaticValues(); // XXX: Temporary code for local admin + non-admin GameManager.playerConsole = id; GameManager.activeConsole = id; }
public static void HideAll() { foreach (double id in nodes.Keys) { NodeGraphicScript node = nodes[id]; nodes.Remove(id); GameObject.Destroy(node.gameObject); } }
public static void HideNode(double id) { if (!nodes.ContainsKey(id)) { return; } NodeGraphicScript node = nodes[id]; nodes.Remove(id); GameObject.Destroy(node.gameObject); }
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 static NodeGraphicScript CreateGraphic(NodeScript node, Vector3 position, float radius) { // XXX: Collision checking for finding position Vector3 pos = position + UnityEngine.Random.onUnitSphere * radius; // XXX: Spawn far away (in param) and MoveTo position GameObject newNode; newNode = GameObject.Instantiate(nodePrefab, pos, Quaternion.identity, gameObject.transform) as GameObject; newNode.SetActive(true); NodeGraphicScript script = newNode.GetComponent <NodeGraphicScript>(); script.Init(node); nodes.Add(node.GetAddress(), script); return(script); }
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..."); }
public static NodeGraphicScript DisplayNode(Vector3 position, double id) { if (nodes.ContainsKey(id)) { NodeGraphicScript node = nodes[id]; node.MoveTo(position); return(node); } NodeScript script = NodeManager.GetNode(id); if (script == null) { return(null); } NodeGraphicScript graphic = CreateGraphic(script, position, defaultSpacingRadius); return(graphic); }
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); } }
public void JumpTo(NodeGraphicScript graphic) { transform.position = graphic.transform.position; }
public void MoveTo(NodeGraphicScript graphic) { MoveTo(graphic.transform.position, defaultMoveDuration); }
public void MoveTo(NodeGraphicScript graphic, float duration) { MoveTo(graphic.transform.position, duration); }