예제 #1
0
 public Attributes()
 {
     Distance          = new Vector3Reference();
     XVelocity         = new CurveReference();
     YVelocity         = new CurveReference();
     ZVelocity         = new CurveReference();
     DurationInSeconds = new FloatReference(1f);
 }
예제 #2
0
 public GridIteratorAction(GridReference gridReference, Vector3Reference vector3Reference, IDefaultAction continueAction,
                           Vector3Int reducedIteration)
 {
     m_grid             = gridReference;
     m_currentPosition  = vector3Reference;
     m_continue         = continueAction;
     m_reducedIteration = reducedIteration;
 }
예제 #3
0
 public void assignSettings(CameraSettings other)
 {
     CameraMode   = other.CameraMode;
     leftXBound   = other.leftXBound;
     rightXBound  = other.rightXBound;
     bottomYBound = other.bottomYBound;
     topYBound    = other.topYBound;
     targetPos    = other.targetPos;
 }
예제 #4
0
 public AddDestinationFlagAction(TileTypeIdentifier resultTag,
                                 TilesSetListConfig destinationConfig,
                                 GridReference resultGrid, Vector3Reference currentPosition)
 {
     m_resultTag         = resultTag;
     m_destinationConfig = destinationConfig;
     m_resultGrid        = resultGrid;
     m_currentPosition   = currentPosition;
 }
예제 #5
0
        public override IBaseAction CreateAction(IContext ctx)
        {
            var continueAction = m_continueWith.CreateAction(ctx) as IDefaultAction;
            var grid           = new GridReference(ctx, m_grid);
            var currentPos     = new Vector3Reference(ctx, m_currentPosition);
            var filter         = new TilesSetFilterReference(ctx, m_currentTilesSetFilter);

            return(new TileTypeIteratorAction(m_sourceConfig, m_iterateOnTileConfig.Result, m_filter,
                                              grid, currentPos, filter, continueAction));
        }
예제 #6
0
        public override IBaseAction CreateAction(IContext ctx)
        {
            var grid       = new GridReference(ctx, m_grid);
            var currentPos = new Vector3Reference(ctx, m_currentPosition);
            var meshData   = new MeshDataReference(ctx, m_meshData);

            m_meshVar.Init(ctx);
            return(new TileTypeToMeshAction(currentPos, meshData,
                                            m_meshVar, m_meshOffset, Quaternion.Euler(m_orientation)));
        }
예제 #7
0
        public override IBaseAction CreateAction(IContext ctx)
        {
            var grid       = new GridReference(ctx, m_grid);
            var currentPos = new Vector3Reference(ctx, m_currentPosition);

            var trueAction  = (IDefaultAction)m_trueAction.CreateAction(ctx);
            var falseAction = (IDefaultAction)m_falseAction.CreateAction(ctx);

            return(new TileTypeCheckAction(m_sourceConfig, m_tileIdentifier, grid, currentPos, trueAction, falseAction));
        }
예제 #8
0
 public SelectTextureTypeFromTileAction(
     TilesSetData setData,
     GridReference grid,
     Vector3Reference currentPos,
     TilesSetFilterReference tsf)
 {
     m_grid             = grid;
     m_currentPos       = currentPos;
     m_tilesSetFilter   = tsf;
     m_texConfigSetData = setData;
 }
예제 #9
0
 public MarchingSquareIteratorAction(Vector3Reference pos,
                                     IntReference idxOffset,
                                     IntReference iteratorIdx,
                                     Vector3Reference cornerPos,
                                     IDefaultAction action)
 {
     m_pos         = pos;
     m_idxOffset   = idxOffset;
     m_iteratorIdx = iteratorIdx;
     m_cornerPos   = cornerPos;
     m_continue    = action;
 }
예제 #10
0
        public override IBaseAction CreateAction(IContext ctx)
        {
            var grid          = new GridReference(ctx, m_grid);
            var currentPos    = new Vector3Reference(ctx, m_currentPosition);
            var tileSetFilter = new TilesSetFilterReference(ctx, m_tileSetFilter);

            var texConfigSetData = m_sourceConfig.GetSet(m_texConfig);

            return(new SelectTextureTypeFromTileAction(texConfigSetData,
                                                       grid, currentPos,
                                                       tileSetFilter));
        }
예제 #11
0
 public UpdateAutoTileAction(GridReference gr, Vector3Reference gridPos,
                             TilesSetData setData,
                             TileTypeIdentifier auto, TileTypeIdentifier floor,
                             TileTypeIdentifier wall, TileTypeIdentifier empty)
 {
     m_gridReference = gr;
     m_gridPos       = gridPos;
     m_setData       = setData;
     m_auto          = auto;
     m_floor         = floor;
     m_wall          = wall;
     m_empty         = empty;
 }
예제 #12
0
        public TileTypeToMeshAction(Vector3Reference currentPos,
                                    MeshDataReference mdr,
                                    ObjectReference mesh,
                                    Vector3 meshOffset,
                                    Quaternion orientation)
        {
            m_currentPos = currentPos;

            m_mesh        = mesh;
            m_meshData    = mdr;
            m_meshOffset  = meshOffset;
            m_orientation = orientation;
        }
예제 #13
0
        public TileTypeSwitchAction(TilesSetListConfig sourceConfig,
                                    ITileConfig config,
                                    GridReference grid,
                                    Vector3Reference currentPos,
                                    IDefaultAction[] actions)
        {
            m_setData = sourceConfig.GetSet(config);

            m_grid       = grid;
            m_currentPos = currentPos;

            m_actions = actions;
        }
예제 #14
0
        public override IBaseAction CreateAction(IContext ctx)
        {
            var grid       = new GridReference(ctx, m_grid);
            var currentPos = new Vector3Reference(ctx, m_currentPosition);

            var actions = new IDefaultAction[m_tileActions.Length];

            for (var i = 0; i < m_tileActions.Length; i++)
            {
                actions[i] = (IDefaultAction)m_tileActions[i].CreateAction(ctx);
            }

            return(new TileTypeSwitchAction(m_sourceConfig, m_tileConfig.Result, grid, currentPos, actions));
        }
예제 #15
0
 public TileTypeIteratorAction(TilesSetListConfig sourceConfig,
                               ITileConfig iterateOnTileConfig,
                               TileTypeIdentifier[] filter,
                               GridReference grid,
                               Vector3Reference currentPos,
                               TilesSetFilterReference tilesSetFilter,
                               IDefaultAction continueAction)
 {
     m_sourceConfig        = sourceConfig;
     m_iterateOnTileConfig = iterateOnTileConfig;
     m_filter         = filter;
     m_grid           = grid;
     m_currentPos     = currentPos;
     m_tilesSetFilter = tilesSetFilter;
     m_continueAction = continueAction;
 }
        public PickMeshForConfigurationAction(TilesSetFilter primaryFilter,
                                              TilesSetFilterReference tilesSetFilter,
                                              GridReference grid,
                                              Vector3Reference pos,
                                              MeshSetReference meshSet,
                                              bool invertConfiguration,
                                              ObjectReference meshConfig)
        {
            m_primaryFilter       = primaryFilter;
            m_tilesSetFilter      = tilesSetFilter;
            m_grid                = grid;
            m_pos                 = pos;
            m_meshSet             = meshSet;
            m_invertConfiguration = invertConfiguration;

            m_meshConfig = meshConfig;
        }
        public override IBaseAction CreateAction(IContext ctx)
        {
            var pos      = new Vector3Reference(ctx, m_currentPosition);
            var grid     = new GridReference(ctx, m_sourceGrid);
            var editGrid = new GridReference(ctx, m_targetGrid);

            var hardEdgeSet         = m_tilesEditConfig.GetSet(m_hardEdgeConfig);
            var floorTexTypesSet    = m_tilesEditConfig.GetSet(m_floorTexTypesConfig);
            var activeFloorNodesSet = m_tilesEditConfig.GetSet(m_activeFloorNodesConfig);

            return(new AddDefaultCustomFlagsAction(m_tilesSetListConfig,
                                                   m_floorNode, m_wallNode,
                                                   m_texTypeConfig,
                                                   pos, grid,
                                                   editGrid,
                                                   hardEdgeSet, floorTexTypesSet, activeFloorNodesSet));
        }
예제 #18
0
 public MatchPatternAction(TilesSetListConfig sourceConfig,
                           TilesSetFilterReference tilesSetFilter,
                           GridReference grid,
                           Vector3Reference pos,
                           TileTypeIdentifier identifier,
                           int configuration,
                           bool invertSourceConfiguration,
                           BinaryOperation binOp)
 {
     m_sourceConfig              = sourceConfig;
     m_tilesSetFilter            = tilesSetFilter;
     m_grid                      = grid;
     m_pos                       = pos;
     m_identifier                = identifier;
     m_configuration             = configuration;
     m_invertSourceConfiguration = invertSourceConfiguration;
     m_binaryOperation           = binOp;
 }
 private void OnEnable()
 {
     stars.OnChanged.Subscribe(UpdateExistence, this);
     starNumber = stars.Count + 1;
     if (stars.Count == 0)
     {
         _target = position1;
     }
     else if (stars.Count == 1)
     {
         _target = position2;
     }
     else if (stars.Count == 2)
     {
         _target = position3;
     }
     renderer.material.renderQueue = 4000;
 }
예제 #20
0
        public TileTypeCheckAction(TilesSetListConfig sourceConfig,
                                   TileTypeIdentifier identifier,
                                   GridReference grid,
                                   Vector3Reference currentPos,
                                   IDefaultAction trueAction,
                                   IDefaultAction falseAction)
        {
            var iterationSet = sourceConfig.GetSet(identifier.Config.Result);

            m_filter = new TilesSetFilter()
            {
                Data = iterationSet, FilterIdx = identifier.TileIdx
            };

            m_grid       = grid;
            m_currentPos = currentPos;

            m_trueAction  = trueAction;
            m_falseAction = falseAction;
        }
        public AddDefaultCustomFlagsAction(TilesSetListConfig config,
                                           TileTypeIdentifier floorNode, TileTypeIdentifier wallNode,
                                           LevelTextureConfig texTypeConfig,

                                           Vector3Reference pos,
                                           GridReference sourceGrid,
                                           GridReference targetGrid,
                                           TilesSetData hardEdgeSet,
                                           TilesSetData floorTexTypesSet,
                                           TilesSetData activeFloorNodesSet)
        {
            m_tilesSetListConfig = config;
            m_floorNode          = floorNode;
            m_wallNode           = wallNode;
            m_texTypeConfig      = texTypeConfig;

            m_pos        = pos;
            m_sourceGrid = sourceGrid;
            m_targetGrid = targetGrid;

            m_hardEdgeSet         = hardEdgeSet;
            m_floorTexTypesSet    = floorTexTypesSet;
            m_activeFloorNodesSet = activeFloorNodesSet;
        }
예제 #22
0
    private GameObject targetObject;          //we will set this in a constructor

    public ActivateRotateWithinRadius(GameObject targetObject, FloatReference rotationAngle, Vector3Reference rotationAxis)
    {
        this.targetObject  = targetObject;
        this.rotationAngle = rotationAngle;
        this.rotationAxis  = rotationAxis;
    }