예제 #1
0
    public GameObject SpawnNetworkNode(int index, int detection, NetworkNode.NodeState state, Vector3 position)
    {
        var go = Instantiate(NetworkNodeTemplates[index]);

        go.transform.position = position;
        go.transform.Rotate(NodeSpawnRotation);
        var nn = go.GetComponent <NetworkNode>();

        nn.BaseDetectionPercent = detection;
        if (nn.Type == NetworkNode.NodeType.NT_Input)
        {
            nn.CapPlayer = 100;
            nn.State     = NetworkNode.NodeState.NS_Active;
        }
        else
        {
            nn.State = state;
        }

        if (nn.Type == NetworkNode.NodeType.NT_Firewall)
        {
            nn.CapFirewall = 100;
        }

        return(go);
        //var go = GameObject.Instantiate(
    }
예제 #2
0
    private void LoadLevelNumber(int lvlnumber)
    {
        List <GameObject> thisLevelNodes = new List <GameObject>();

        TextAsset lvl = (TextAsset)Resources.Load("lvl" + lvlnumber, typeof(TextAsset));

        if (lvl == null)
        {
            throw new UnityException("LEVEL " + lvlnumber + "WAS NOT FOUND IN RESOURCES");
        }

        PerkManager.MaxLevel.value = Mathf.Max(PerkManager.MaxLevel.value, lvlnumber);

        string[] lines = lvl.text.Replace("\r", "").Split('\n');

        foreach (var l in lines)
        {
            string[] args = l.Split('\t');
            if (args[0] == "NODE")
            {
                NetworkNode.NodeType type = (NetworkNode.NodeType)System.Enum.Parse(typeof(NetworkNode.NodeType), args[1]);
                int percent = Mathf.Clamp(int.Parse(args[2]), 0, 100);
                NetworkNode.NodeState state = (NetworkNode.NodeState)System.Enum.Parse(typeof(NetworkNode.NodeState), args[3]);
                int x = int.Parse(args[4]);
                int y = int.Parse(args[5]);

                thisLevelNodes.Add(fac.SpawnNetworkNode((int)type, percent,
                                                        state, getPosition(x, y)));
            }
            else if (args[0] == "CONN")
            {
                int A = int.Parse(args[1]);
                int B = int.Parse(args[2]);

                fac.CreateConnection(thisLevelNodes[A], thisLevelNodes[B]);
            }
        }

        GameManager.listOfNodesAdd(thisLevelNodes.ToArray());
    }