コード例 #1
0
    public void InstantiateLevelObject(LevelObject levelObject)
    {
        ELevelObjectType    type            = levelObject.LevelObjectType;
        GameObject          levelGameObject = InstantiateObject(_currentTheme, type.ToString());
        BaseTrigger         trigger         = null;
        BaseTriggerListener listener        = null;

        if (levelGameObject != null)
        {
            switch (type)
            {
            case ELevelObjectType.BUTTON:
            case ELevelObjectType.PORTAL:
            case ELevelObjectType.START:
            case ELevelObjectType.TRAP:
            case ELevelObjectType.EXIT:
                trigger = levelGameObject.GetComponent <BaseTrigger>();
                levelGameObject.transform.position = new Vector3(levelObject.Position.x, GridSize.y - levelObject.Position.y, 1);
                trigger.LevelObjectReference       = levelObject;
                break;

            case ELevelObjectType.DOOR:
            case ELevelObjectType.PORTALTARGET:
                listener = levelGameObject.GetComponent <BaseTriggerListener>();
                levelGameObject.transform.position = new Vector3(levelObject.Position.x, GridSize.y - levelObject.Position.y, 1);
                listener.LevelObjectReference      = levelObject;
                break;
            }
        }
    }
コード例 #2
0
ファイル: LevelObject.cs プロジェクト: Relic/DodoInterstellar
 public LevelObject(Vector2Int vector2Int, ELevelObjectType type)
 {
     Position         = vector2Int;
     LevelObjectType  = type;
     targetReferences = new List <LevelObject>();
 }
コード例 #3
0
    private LevelObject createLevelObject(int x, int y, string elementType, string elementId, string position)
    {
        ELevelObjectType type = (ELevelObjectType)Enum.Parse(typeof(ELevelObjectType), elementType.ToUpper());

        return(new LevelObject(new Vector2Int(x, y), type));
    }