Ejemplo n.º 1
0
    public void AddForward(EditorStageView stage)
    {
        if (stage != this)
        {
            if (this.stage.forwardStages.Contains(stage.stage))
            {
                Debug.Log("Already contains");
                return;
            }

            this.stage.AddNode(stage.stage);
            //this.stage.forwardStages.Add(stage.stage);

            if (this.stage.refStages.Contains(stage.stage))
            {
                this.stage.refStages.Remove(stage.stage);
                refStages.Remove(stage);
            }

            forwardStages.Add(stage);
            stage.dependenceds.Add(this);

            UpdateView();
        }
        else
        {
            Debug.Log("this");
        }
    }
Ejemplo n.º 2
0
    public bool Remove(EditorStageView stage, bool destroy = false)
    {
        if (forwardStages.Contains(stage))
        {
            if (destroy && (stage.stage.forwardStages.Count > 0 || stage.stage.refStages.Count > 0))
            {
                return(false);
            }

            forwardStages.Remove(stage);
            this.stage.RemoveNode(stage.stage);
            stage.dependenceds.Remove(this);

            if (destroy)
            {
                stage.Destroy();
            }
        }
        else if (refStages.Remove(stage))
        {
            this.stage.refStages.Remove(stage.stage);
        }
        else
        {
            throw new System.Exception(this + " not contains " + stage);
        }

        UpdateView();
        return(true);
    }
Ejemplo n.º 3
0
    public void CreateStage(Vector3 position, EditorStageView parent)
    {
        var stage = ((EditorStageView)Instantiate(view, position, parent.transform.rotation, stageContainer));

        stage.SetModel(new Campaign.Stage());
        parent.AddForward(stage);

        stages.Add(stage);
    }
Ejemplo n.º 4
0
    public void SetRef(EditorStageView stage)
    {
        if (stage != this)
        {
            if (this.stage.forwardStages.Contains(stage.stage) || this.stage.refStages.Contains(stage.stage) || this.stage.IsRoot(stage.stage))
            {
                return;
            }
            this.stage.refStages.Add(stage.stage);

            refStages.Add(stage);
            stage.dependenceds.Add(this);

            UpdateView();
        }
    }
Ejemplo n.º 5
0
    void Load()
    {
        var meta = GameResources.Load <CampaignMeta>(@"Campaign\" + campaign.name + ".ecpn");

        foreach (var s in stages.ToArray())
        {
            s.Destroy();
        }

        campaign = meta.campaign;
        var rootStage = campaign.current.GetRoot();

        for (int i = 0; i < meta.stages.Count; i++)
        {
            var stage = Instantiate(view);
            stage.transform.SetParent(stageContainer, false);
            stage.transform.localPosition = meta.positions[i];

            stage.SetModel(rootStage.GetNode(meta.stages[i]));
            stages.Add(stage);
        }

        EditorStageView.ResetCouples(stages);
    }
Ejemplo n.º 6
0
 public void RemoveStage(EditorStageView stage)
 {
     stages.Remove(stage);
 }