// Start is called before the first frame update
    protected override void Start()
    {
        base.Start();

        wedgeMeshGen   = WedgeMeshGen.Instance();
        lsysController = LSystemController.Instance();
    }
Beispiel #2
0
    void Start()
    {
        connectToLocal = Config.ConnectToLocal;
        lsysController = LSystemController.Instance();

        if (Application.platform == RuntimePlatform.IPhonePlayer || Application.platform == RuntimePlatform.Android)
        {
            connectToLocal = false;
        }

        if (connectToLocal)
        {
            string localIP;
            using (Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, 0))
            {
                socket.Connect("8.8.8.8", 65530);
                IPEndPoint endPoint = socket.LocalEndPoint as IPEndPoint;
                localIP = endPoint.Address.ToString();
            }

            UriString = $"ws://{localIP}:8081/ckar_consume";
        }

        if (UriString == "")
        {
            ConnectToMaster();
        }
    }
Beispiel #3
0
    public void OnGenerate(LSystemController lsysController)
    {
        OSCMessage msg = new OSCMessage("/ckartree");

        List <string> keyList = new List <string>(lsysController.Forest.Keys);

        keyList.Sort();

        foreach (string key in keyList)
        {
            LSystem lsys       = lsysController.Forest[key];
            int     numResults = lsys.Results.Count;

            if (numResults > 0)
            {
                string             result         = lsys.Results[numResults - 1];
                string             dynamicsString = "";
                List <ProcessUnit> lastUnits      = lsys.Units[numResults - 1];

                for (int i = 0; i < lastUnits.Count; i++)
                {
                    ProcessUnit unit = lastUnits[i];
                    dynamicsString += unit.Dynamic;
                    if (i != (lastUnits.Count - 1))
                    {
                        dynamicsString += "|";
                    }
                }
                msg.Append($"{key}@{result}A{lsys.Axiom}G{numResults}S{lsys.Shape}D{dynamicsString}");
            }
        }

        osc.Send(msg);
    }
 public static LSystemController Instance()
 {
     if (instance == null)
     {
         instance = GameObject.Find("LSystemController").GetComponent <LSystemController>();
     }
     return(instance);
 }
Beispiel #5
0
    public void SwitchView(string newViewKey)
    {
        key = newViewKey;
        GetComponent <TextMesh>().text = key;
        LSystem lsys = LSystemController.Instance().GetLSystem(key);

        GameObject.Find("LGenerator").GetComponent <LGenerator>().SetLSystem(lsys);
        GameObject.Find("AGenerator").GetComponent <LGenerator>().SetLSystem(lsys);
        GameObject.Find("RGenerator").GetComponent <LGenerator>().SetLSystem(lsys);
    }
Beispiel #6
0
    // Start is called before the first frame update
    protected override void Start()
    {
        int i = 0;

        foreach (char symbol in LSystemController.Instance().Symbols)
        {
            lookup.Add(symbol, Prefabs[i]);
            i++;
        }

        lookup.Add('N', NullObject);
    }
Beispiel #7
0
    // Start is called before the first frame update
    protected override void Start()
    {
        base.Start();

        int i = 0;

        foreach (char symbol in LSystemController.Instance().Symbols)
        {
            lookup.Add(symbol, Prefabs[i]);
            i++;
        }
    }
Beispiel #8
0
    public void TestIfTooWide(LSystemController controler)
    {
        LSystem lsys = controler.GetLSystem(key);

        if (lsys.TooWide)
        {
            GetComponent <TextMesh>().color = Color.red;
        }
        else
        {
            GetComponent <TextMesh>().color = Color.white;
        }
    }
 // Start is called before the first frame update
 void Start()
 {
     LSysController = LSystemController.Instance();
     shapeLookup    = new Dictionary <string, GameObject>()
     {
         { "1", Shape1 },
         { "2", Shape2 },
         { "3", Shape3 },
         { "4", Shape4 },
         { "5", Shape5 },
         { "6", Shape6 },
         { "7", Shape7 }
     };
 }
    // Start is called before the first frame update
    protected override void Start()
    {
        base.Start();

        lsysController = LSystemController.Instance();
        meshgen        = ArcMeshGen.Instance();

        int i = 0;

        foreach (char symbol in lsysController.Symbols)
        {
            lookup.Add(symbol, Materials[i]);
            i++;
        }
    }
    public LSystem(LSystemController controller, string key)
    {
        recursionDepth = defaultRecursionDepth;

        lsysController = controller;
        Key            = key;

        TransformSpec = TransformSpec.Identity();
        Shape         = "1";

        Reset(Axiom);
        Results = new List <string>();
        Units   = new List <List <ProcessUnit> >();

        Generate();
    }
 public static void InvokeShapeChange(LSystemController lsysController) => OnShapeChange?.Invoke(lsysController);
 public static void InvokeGenerate(LSystemController lsysController) => OnGenerate?.Invoke(lsysController);
 public void SetLSystemKey(string key)
 {
     SetLSystem(LSystemController.Instance().GetLSystem(key));
 }
    // Start is called before the first frame update
    protected override void Start()
    {
        base.Start();

        lsysController = LSystemController.Instance();
    }