コード例 #1
0
ファイル: TileNode.cs プロジェクト: hsinpa/MazeDefense
        public Vector2 GetFlowFieldPath(VariableFlag.Strategy pathTag)
        {
            if (pathTag == VariableFlag.Strategy.MoveStraight)
            {
                return(VariableFlag.Vector.Down);
            }

            Vector2 pathDir = VariableFlag.Vector.Zero;

            if (FlowFieldDirectionSet == null || !FlowFieldDirectionSet.TryGetValue(pathTag, out pathDir))
            {
                return(pathDir);
            }

            return(pathDir);
        }
コード例 #2
0
ファイル: TileNode.cs プロジェクト: hsinpa/MazeDefense
        public void AddFlowField(VariableFlag.Strategy pathTag, Vector2 direction)
        {
            if (FlowFieldDirectionSet == null)
            {
                FlowFieldDirectionSet = new Dictionary <VariableFlag.Strategy, Vector2>();
            }

            if (!FlowFieldDirectionSet.ContainsKey(pathTag))
            {
                FlowFieldDirectionSet.Add(pathTag, direction);
            }
            else
            {
                FlowFieldDirectionSet[pathTag] = direction;
            }
        }