Example #1
0
    public static GenerateableLevelObjectNode GetNode(string levelObjectInstanceName)
    {
        string levelObjectPrefabName = levelObjectInstanceName.Replace("(Clone)", "");
        GenerateableLevelObjectNode levelObjectEditorNode = GetInstance().generateableLevelObjectNodes.Find(x => x.Prefab.name == levelObjectPrefabName);

        return(levelObjectEditorNode);
    }
Example #2
0
    protected override void Execute()
    {
        Vector2 selectionFieldStartPosition = SelectionFieldStatusView.SelectionFieldStartGridPosition;
        Vector2 selectionFieldEndPosition   = SelectionFieldStatusView.SelectionFieldEndGridPosition;

        List <ILevelObject> levelObjectsToRemove = new List <ILevelObject>();

        foreach (ILevelObject levelObject in levelObjectRefs)
        {
            GenerateableLevelObjectNode generateableLevelObjectNode = GenerateableLevelObjectLibrary.GetNode(levelObject.LevelObjectType);
            if (!generateableLevelObjectNode.CanCollideWithTiles)
            {
                continue;
            }

            GameObject levelObjectGameObject   = levelObject.GameObject;
            Vector2    levelObjectGridPosition = LevelEditorGridHelper.WorldToGridPosition(levelObjectGameObject.transform.position);

            if (!levelObjectGridPosition.IsBetweenVectors(selectionFieldStartPosition, selectionFieldEndPosition))
            {
                continue;
            }

            levelObjectsToRemove.Add(levelObject);
        }

        foreach (ILevelObject levelObject in levelObjectsToRemove)
        {
            levelObject.DestroyLevelObject();
        }
    }
Example #3
0
    public static Vector2 GetLevelObjectEditorNodeGridSize(LevelObjectType levelObjectType)
    {
        GenerateableLevelObjectNode levelEditorLevelObjectEditorNode = GetNode(levelObjectType);
        Vector2 nodeSize          = levelEditorLevelObjectEditorNode.Prefab.transform.localScale;
        Vector2 unroundedGridSize = Vector2.one + (nodeSize / LevelEditorGridNodeSizeLibrary.Instance.NodeSize);
        Vector2 gridSize          = VectorHelper.Floor(unroundedGridSize);

        return(gridSize);
    }
    protected override void Execute()
    {
        LevelObjectType             levelObjectType             = selectedLevelObjectRef.Get().LevelObjectType;
        GenerateableLevelObjectNode generateableLevelObjectNode = GenerateableLevelObjectLibrary.GetNode(levelObjectType);

        if (generateableLevelObjectNode.CanCollideWithLevelObjects)
        {
            Abort();
        }
    }
Example #5
0
    public void SetLevelObject(LevelObjectType levelObjectType)
    {
        this.levelObjectType = levelObjectType;
        GenerateableLevelObjectNode levelObjectEditorNode = GenerateableLevelObjectLibrary.GetNode(levelObjectType);

        SpriteRenderer levelObjectEditorNodeSpriteRenderer = levelObjectEditorNode.Prefab.GetComponentInChildren <SpriteRenderer>();

        GetButton().image.sprite = levelObjectEditorNodeSpriteRenderer.sprite;
        GetButton().image.color  = levelObjectEditorNodeSpriteRenderer.color;
    }
    protected override void Execute()
    {
        Vector2 worldPosition = Camera.main.ScreenToWorldPoint(screenPosition);

        GenerateableLevelObjectNode generateableLevelObjectNode = SelectedLevelObjectNodeStatus.LevelObjectNode;
        GameObject levelObjectGameObject = LevelObjectHelper.InstantiateLevelObject(generateableLevelObjectNode, worldPosition, context);

        ILevelObject levelObject = levelObjectGameObject.GetComponent <ILevelObject>();

        levelObject.Select();
    }
Example #7
0
    private void SpawnLevelObjects(List <LevelObjectSaveData> levelObjectsSaveData)
    {
        foreach (LevelObjectSaveData levelObjectSaveData in levelObjectsSaveData)
        {
            LevelObjectType             levelObjectType = levelObjectSaveData.LevelObjectType;
            GenerateableLevelObjectNode levelEditorLevelObjectEditorNode = GenerateableLevelObjectLibrary.GetNode(levelObjectType);
            GameObject prefab   = levelEditorLevelObjectEditorNode.Prefab;
            Vector2    position = levelObjectSaveData.Position;

            GameObject levelObjectGameObject = Object.Instantiate(prefab, position, new Quaternion(), levelContainerStatus.LevelContainer);
            levelObjectGameObject.transform.localScale = levelObjectSaveData.Size;
        }
    }
    private void SpawnLevelObjects(List <LevelObjectSaveData> levelObjectsSaveData)
    {
        foreach (LevelObjectSaveData levelObjectSaveData in levelObjectsSaveData)
        {
            LevelObjectType             levelObjectType = levelObjectSaveData.LevelObjectType;
            GenerateableLevelObjectNode levelEditorLevelObjectEditorNode = GenerateableLevelObjectLibrary.GetNode(levelObjectType);
            Vector2 position = levelObjectSaveData.Position;

            GameObject levelObject = LevelObjectHelper.InstantiateLevelObject(levelEditorLevelObjectEditorNode, position, context);
            levelObject.transform.localScale = levelObjectSaveData.Size;
            levelObject.transform.rotation   = levelObjectSaveData.Rotation;
        }
    }
    protected override void Execute()
    {
        LevelObjectType             levelObjectType             = selectedLevelObjectRef.Get().LevelObjectType;
        GenerateableLevelObjectNode generateableLevelObjectNode = GenerateableLevelObjectLibrary.GetNode(levelObjectType);

        if (SelectedLevelObjectTransformTypeStatusView.TransformType == null)
        {
            SelectedLevelObjectTransformTypeStatusView.TransformType = generateableLevelObjectNode.GetDefaultLevelObjectInputType();
        }
        else
        {
            bool selectedLevelObjectContainsCurrentTransformType = generateableLevelObjectNode.TransformTypes.Contains((LevelObjectTransformType)SelectedLevelObjectTransformTypeStatusView.TransformType);
            if (!selectedLevelObjectContainsCurrentTransformType)
            {
                SelectedLevelObjectTransformTypeStatusView.TransformType = generateableLevelObjectNode.GetDefaultLevelObjectInputType();
            }
        }
    }
Example #10
0
    protected override void Execute()
    {
        GenerateableLevelObjectNode generateableLevelObjectNode = GenerateableLevelObjectLibrary.GetNode(levelObjectType);

        SelectedLevelObjectNodeStatus.LevelObjectNode = generateableLevelObjectNode;
    }
Example #11
0
    public static GenerateableLevelObjectNode GetNode(LevelObjectType levelObjectType)
    {
        GenerateableLevelObjectNode levelObjectEditorNode = GetInstance().generateableLevelObjectNodes.Find(x => x.LevelObjectType == levelObjectType);

        return(levelObjectEditorNode);
    }