전역 하드코드 이벤트를 동적 변경 영역으로 이동 (#230)

기존에 작성해두었던 EventHandler 시스템으로 하드코드 이벤트 이동
- 매달
  - 보급선 설정
  - 전쟁 단기 수입 설정
  - 부대장 부여
- 1월
  - 유산 포인트 계산
  - 도시 인구 변화
  - 수입
  - 관직 제한 해제
  - 재난
  - 상인
  - 새해 알림
  - 특기 부여
- 4월
  - 관직 제한 해제
  - 재난
- 7월
  - 유산 포인트 계산
  - 도시 인구 변화
  - 수입
  - 관직 제한 해제
  - 재난
  - 상인
- 10월
  - 관직 제한 해제
  - 재난
- 천통 시
  - 유산 포인트 계산

Reviewed-on: https://storage.hided.net/gitea/devsam/core/pulls/230
This commit was merged in pull request #230.
This commit is contained in:
2023-03-12 17:14:49 +09:00
parent 4901a2d384
commit d17b2518df
22 changed files with 1120 additions and 595 deletions
+5
View File
@@ -3,6 +3,10 @@ namespace sammo\Event;
abstract class Action{
//public abstract function __construct(...$args);
/*
TODO: event trigger를 인자로 보낼 수 있으면 좋을 것
예시로, 도시 점령 시, 점령한 도시의 정보를 인자로 보낼 수 있으면 좋을 것
/*/
public abstract function run(array $env);
public static function build($actionArgs):Action{
@@ -16,6 +20,7 @@ abstract class Action{
}
$args = array_slice($actionArgs, 1);
/** @var \ReflectionClass<Action> */
$ref = new \ReflectionClass($className);
return $ref->newInstanceArgs($args);
}