Skip to content

Conversation

@rrbox
Copy link
Owner

@rrbox rrbox commented Oct 29, 2022

Context protocol を導入し, #27 の課題を解決する変更です.

注意点

  • API の変更があります.
  • API は後方互換がありません.

rrbox added 30 commits October 29, 2022 22:10
Context を定義するためのプロトコルのためのファイルを作成しました.
Context は `node()` 内で自動生成させるため, `init()` が要求されます.
SKNode 生成過程で, Modifier は Context を書き換えます. Context
を書き換える方法を実装側で定義するため, `mod(context: inout Context)`
が要求されます.
Modifier から作成された Context 編集フローを実行するためのプロトコルです.
`context()` メソッドは編集済み `Context` を返します.
Modifier を連結させるための構造体をいくつか定義するためです.
Modifier を連結させる構造体です.
Modifier link の起点となる構造体です.
Context と ContextBuilder に関係するオブジェクトは他のオブジェクトに依存しないため, 一つにまとめられるため.
Widget に Modifier を連結させる際の起点となる構造体です.
複数の Widget を格納する Node 構造体を " 定義済み Widget " として再定義するために, このファイルへ移動します.
Context を生成し, `node(context: Context)` を返します.
Node widget のデータを表現する構造体です.
代わりとなる modifier を作るため, 該当箇所にエラーが出るようにしました.
modifier メソッドで追加することができる構造体です.
Swift Action を動かせるか, 確認します.
@rrbox
Copy link
Owner Author

rrbox commented Nov 27, 2022

原因判明! テストコードが, version 0 当時のままだったことが失敗の原因でした(コンパイルエラー)。
ですので, テストを治せば, 以下の設定で動くと思います。

  • Action は macos-latest
  • Swift は 5.7

@rrbox rrbox merged commit b0bf342 into develop Nov 27, 2022
@rrbox rrbox deleted the feat/context branch November 27, 2022 19:11
@rrbox
Copy link
Owner Author

rrbox commented Nov 27, 2022

予定していた全ての変更をマージしました。
これで version 1.0 から Context を使用できるようになります。

This was referenced Nov 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants