public LineRenderer AddArrow()
    {
        var prefab = this.Arrow.gameObject;
        var parent = this.Arrows;
        var go     = UtilGameObject.CreateByGO(prefab, parent);
        var script = go.GetComponent <LineRenderer>();

        return(script);
    }
Exemple #2
0
    protected override void Init()
    {
        this.NodeStart = UtilGameObject.FindInParent("NodeStart", this.gameObject)
                         .AddComponent <TrafficAIEditNode>();
        this.NodeStart.gameObject.AddComponent <TrafficAIEditNodeLink>();

        this.NodeEnd = UtilGameObject.FindInParent("NodeEnd", this.gameObject)
                       .AddComponent <TrafficAIEditNode>();
        this.NodeEnd.gameObject.AddComponent <TrafficAIEditNodeLink>();
    }
Exemple #3
0
    static void SaveEdit()
    {
        if (UtilGameObject.Find(ResourceConfig.PREFAB_TRAFFICAIEDIT.GameObjectName, true) == null)
        {
            Debug.LogError("Cant save edit cause you even didnt start edit!");
            return;
        }

        TrafficAIExporter.Export();
    }
Exemple #4
0
    static void StartAI()
    {
        if (UtilGameObject.Find(ResourceConfig.PREFAB_TRAFFICAIEDIT.GameObjectName, true) == null)
        {
            Debug.LogError("Cant start ai cause you even didnt start edit!");
            return;
        }

        TrafficAIModel.Instance.InitEditAI();
        TrafficAIController.Instance.ReInitAI();
    }
    public TrafficAIEditEdge AddEdge(TrafficAIVoEdge data)
    {
        var prefab = this.Edge;
        var go     = UtilGameObject.CreateByGO(prefab, this.gameObject);

        var script = go.AddComponent <TrafficAIEditEdge>();

        // Init
        script.Data      = data;
        script.Data.Edit = script;
        script.ReInit();

        return(script);
    }
Exemple #6
0
    static void Clear()
    {
        if (UtilGameObject.Find(ResourceConfig.PREFAB_TRAFFICAIEDIT.GameObjectName, true) == null)
        {
            Debug.LogError("Cant clear cause you even didnt start edit!");
            return;
        }

        var go   = UtilGameObject.Find(ResourceConfig.PREFAB_TRAFFICAIEDIT.GameObjectName, true);
        var edit = go.GetComponent <TrafficAIEdit>();

        edit.Clear();

        TrafficAIModel.Instance.Clear();
    }
Exemple #7
0
    static void Reload()
    {
        if (UtilGameObject.Find(ResourceConfig.PREFAB_TRAFFICAIEDIT.GameObjectName, true) == null)
        {
            Debug.LogError("Cant reload cause you even didnt start edit!");
            return;
        }

        var go = UtilGameObject.Find(ResourceConfig.PREFAB_TRAFFICAIEDIT.GameObjectName, true);

        GameObject.DestroyImmediate(go);

        // Restart
        StartEdit();
    }
    public void ShowPath()
    {
        if (this.isShowed)
        {
            return;
        }
        this.isShowed = true;

        TrafficAIModel.Instance.IsEdit = true;
        var prefab = ResourceManager.Instance.Load <GameObject>(
            ResourceConfig.PREFAB_TRAFFICAIEDIT);

        if (UtilGameObject.Find(ResourceConfig.PREFAB_TRAFFICAIEDIT.GameObjectName, true) == null)
        {
            UtilGameObject.CreateByGO(prefab);
        }
    }
    public virtual TrafficAIEditEdge AddEdge()
    {
        var prefab = this.Edge;
        var go     = UtilGameObject.CreateByGO(prefab, this.gameObject);

        var script = go.AddComponent <TrafficAIEditEdge>();

        script.Data = TrafficAIModel.Instance.AddEdge(this.type);
        script.Size = 3;

        // Init
        var pos = go.transform.localPosition;

        pos.x = 0;
        pos.z = 0;
        go.transform.localPosition = pos;

        return(script);
    }
Exemple #10
0
    static void StartEdit()
    {
        if (!Application.isPlaying)
        {
            Debug.LogError("Cant start edit cause you even didnt start running!");
            return;
        }

        // Model init
        ConfigManager.Instance.Init();
        TrafficAIModel.Instance.InitEdit();

        var prefab = ResourceManager.Instance.Load <GameObject>(
            ResourceConfig.PREFAB_TRAFFICAIEDIT);

        if (UtilGameObject.Find(ResourceConfig.PREFAB_TRAFFICAIEDIT.GameObjectName, true) == null)
        {
            UtilGameObject.CreateByGO(prefab);
        }
    }
Exemple #11
0
    void AddNodes()
    {
        var start = this.NodeStart.Data.Id;
        var type  = this.NodeStart.Data.Type;

        for (int i = 1; i < this.Size; i++)
        {
            var prefab = this.NodeStart.gameObject;
            var parent = this.NodeStart.transform.parent.gameObject;
            var go     = UtilGameObject.CreateByGO(prefab, parent);

            var script = go.GetComponent <TrafficAIEditNode>();
            script.Edge        = this;
            script.Data        = TrafficAIModel.Instance.AddNode(type, start + i);
            script.Data.Edit   = script;
            script.Data.IsEdge = true;
            script.Point.transform.localScale = Vector3.one / 2;
            script.RefreshAll();

            this.nodeList.Add(script);
        }
    }
Exemple #12
0
    // Create role
    public static TrafficAIRole Create(TrafficAIVoRoleSpawn data)
    {
        if (!data.Start.IsArrivable)
        {
            return(null);
        }

        var prefab = data.Role.Icon3DPrefab;
        var parent = TrafficAIController.Instance.View.gameObject;
        var go     = UtilGameObject.CreateByGO(prefab, parent);

        go.transform.position = data.Start.Pos;

        // script
        var script = go.AddComponent <TrafficAIRole>();

        script.Data      = data.Role;
        script.StartNode = data.Start;
        script.EndNode   = data.End;
        script.Tree      = TrafficAIRoleTreeFactory.Create(script, data.Role);
        return(script);
    }
 public void ClearForPeople()
 {
     UtilGameObject.DeleteChilds(this.ForPeople.gameObject, true);
 }
 public void ClearForCar()
 {
     UtilGameObject.DeleteChilds(this.ForCar.gameObject, true);
 }