dr rs 0.2.15.2
This commit is contained in:
parent
ddf10cccf1
commit
83b45f85fb
@ -12,12 +12,15 @@ from Difficult_Rocket.utils.options import (Options,
|
|||||||
OptionNotFound,
|
OptionNotFound,
|
||||||
get_type_hints_)
|
get_type_hints_)
|
||||||
|
|
||||||
from libs.MCDR.version import Version
|
from libs.MCDR.version import (Version,
|
||||||
|
VersionRequirement,
|
||||||
|
VersionParsingError)
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
# main class
|
# main class
|
||||||
'Options',
|
'Options',
|
||||||
'Version',
|
'Version',
|
||||||
|
'VersionRequirement',
|
||||||
|
|
||||||
# data class
|
# data class
|
||||||
'FontData',
|
'FontData',
|
||||||
@ -27,6 +30,7 @@ __all__ = [
|
|||||||
'OptionsError',
|
'OptionsError',
|
||||||
'OptionNameNotDefined',
|
'OptionNameNotDefined',
|
||||||
'OptionNotFound',
|
'OptionNotFound',
|
||||||
|
'VersionParsingError',
|
||||||
|
|
||||||
# other
|
# other
|
||||||
'get_type_hints_',
|
'get_type_hints_',
|
||||||
|
@ -7,8 +7,8 @@ fonts_folder = "libs/fonts"
|
|||||||
|
|
||||||
[window]
|
[window]
|
||||||
style = "None"
|
style = "None"
|
||||||
width = 1968
|
width = 1265
|
||||||
height = 1363
|
height = 759
|
||||||
visible = true
|
visible = true
|
||||||
gui_scale = 1
|
gui_scale = 1
|
||||||
caption = "Difficult Rocket v{DR_version}"
|
caption = "Difficult Rocket v{DR_version}"
|
||||||
|
@ -3,7 +3,19 @@
|
|||||||
|
|
||||||
- 最新版本号
|
- 最新版本号
|
||||||
- DR game: 0.3.1.1
|
- DR game: 0.3.1.1
|
||||||
- DR rs: 0.2.15.1
|
- DR rs: 0.2.15.2
|
||||||
|
|
||||||
|
## DR rs 0.2.15.2
|
||||||
|
|
||||||
|
### Add
|
||||||
|
|
||||||
|
- `SR1PartData_rs`
|
||||||
|
- `get_id -> IdType`
|
||||||
|
- `get_x -> f64`
|
||||||
|
- `get_y -> f64`
|
||||||
|
- `get_activate -> bool`
|
||||||
|
- `get_angle_v -> f64`
|
||||||
|
- `get_explode -> bool`
|
||||||
|
|
||||||
## DR rs 0.2.15.1
|
## DR rs 0.2.15.1
|
||||||
|
|
||||||
|
@ -6,15 +6,14 @@
|
|||||||
|
|
||||||
from .lib import *
|
from .lib import *
|
||||||
|
|
||||||
from typing import TYPE_CHECKING, Dict, Tuple, Optional, List, Tuple
|
from typing import TYPE_CHECKING, Dict, Tuple, Optional, List
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
|
||||||
from pyglet.window import Window
|
def test_call(py_obj) -> bool:
|
||||||
|
""" 这里展示的代码实际上就是实际的等效实现 """
|
||||||
|
py_obj.draw()
|
||||||
def test_call(py_obj) -> bool: ...
|
return True
|
||||||
|
|
||||||
|
|
||||||
def get_version_str() -> str: ...
|
def get_version_str() -> str: ...
|
||||||
|
|
||||||
@ -64,12 +63,24 @@ if TYPE_CHECKING:
|
|||||||
""" 用于从 rust 中读取 SR1PartData (其实好像也没啥用哈)
|
""" 用于从 rust 中读取 SR1PartData (其实好像也没啥用哈)
|
||||||
"""
|
"""
|
||||||
@property
|
@property
|
||||||
|
def id(self) -> int: ...
|
||||||
|
@property
|
||||||
def part_type_id(self) -> str: ...
|
def part_type_id(self) -> str: ...
|
||||||
@property
|
@property
|
||||||
def pos(self) -> Tuple[float, float]: ...
|
def pos(self) -> Tuple[float, float]: ...
|
||||||
@property
|
@property
|
||||||
|
def x(self) -> float: ...
|
||||||
|
@property
|
||||||
|
def y(self) -> float: ...
|
||||||
|
@property
|
||||||
|
def activate(self) -> bool: ...
|
||||||
|
@property
|
||||||
def angle(self) -> float: ...
|
def angle(self) -> float: ...
|
||||||
@property
|
@property
|
||||||
|
def angle_v(self) -> float: ...
|
||||||
|
@property
|
||||||
|
def explode(self) -> bool: ...
|
||||||
|
@property
|
||||||
def flip_x(self) -> bool: ...
|
def flip_x(self) -> bool: ...
|
||||||
@property
|
@property
|
||||||
def flip_y(self) -> bool: ...
|
def flip_y(self) -> bool: ...
|
||||||
@ -95,7 +106,7 @@ if TYPE_CHECKING:
|
|||||||
def connection(self) -> List[Tuple[int, int, int, int]]: ...
|
def connection(self) -> List[Tuple[int, int, int, int]]: ...
|
||||||
"""获取所有连接信息"""
|
"""获取所有连接信息"""
|
||||||
def get_part_box(self, part_id: int) -> Optional[Tuple[Tuple[int, int], Tuple[int, int]]]: ...
|
def get_part_box(self, part_id: int) -> Optional[Tuple[Tuple[int, int], Tuple[int, int]]]: ...
|
||||||
def as_dict(self) -> Dict[int, List[Tuple[SR1PartType_rs, SR1PartData]]]:
|
def as_dict(self) -> Dict[int, List[Tuple[SR1PartType_rs, SR1PartData_rs]]]:
|
||||||
"""用于返回一个包含所有已连接零件的字典"""
|
"""用于返回一个包含所有已连接零件的字典"""
|
||||||
def save(self, file_path: str, save_status: Optional[SaveStatus_rs] = None) -> None: ...
|
def save(self, file_path: str, save_status: Optional[SaveStatus_rs] = None) -> None: ...
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ enum LoadState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[pyfunction]
|
#[pyfunction]
|
||||||
fn get_version_str() -> String { "0.2.15.1".to_string() }
|
fn get_version_str() -> String { "0.2.15.2".to_string() }
|
||||||
|
|
||||||
#[pyfunction]
|
#[pyfunction]
|
||||||
fn test_call(py_obj: &PyAny) -> PyResult<bool> {
|
fn test_call(py_obj: &PyAny) -> PyResult<bool> {
|
||||||
|
@ -97,7 +97,7 @@ pub mod data {
|
|||||||
|
|
||||||
fn get_part_type(&self, name: String) -> Option<PySR1PartType> {
|
fn get_part_type(&self, name: String) -> Option<PySR1PartType> {
|
||||||
let part_type = self.data.get_part_type(&name);
|
let part_type = self.data.get_part_type(&name);
|
||||||
part_type.map(|part_type| PySR1PartType::new(part_type))
|
part_type.map(PySR1PartType::new)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,15 +113,33 @@ pub mod data {
|
|||||||
|
|
||||||
#[pymethods]
|
#[pymethods]
|
||||||
impl PySR1PartData {
|
impl PySR1PartData {
|
||||||
|
#[getter]
|
||||||
|
fn get_id(&self) -> IdType { self.data.id }
|
||||||
|
|
||||||
#[getter]
|
#[getter]
|
||||||
fn get_part_type_id(&self) -> String { self.data.part_type_id.clone() }
|
fn get_part_type_id(&self) -> String { self.data.part_type_id.clone() }
|
||||||
|
|
||||||
#[getter]
|
#[getter]
|
||||||
fn get_pos(&self) -> (f64, f64) { (self.data.x, self.data.y) }
|
fn get_pos(&self) -> (f64, f64) { (self.data.x, self.data.y) }
|
||||||
|
|
||||||
|
#[getter]
|
||||||
|
fn get_x(&self) -> f64 { self.data.x }
|
||||||
|
|
||||||
|
#[getter]
|
||||||
|
fn get_y(&self) -> f64 { self.data.y }
|
||||||
|
|
||||||
|
#[getter]
|
||||||
|
fn get_activate(&self) -> bool { self.data.active }
|
||||||
|
|
||||||
#[getter]
|
#[getter]
|
||||||
fn get_angle(&self) -> f64 { self.data.angle }
|
fn get_angle(&self) -> f64 { self.data.angle }
|
||||||
|
|
||||||
|
#[getter]
|
||||||
|
fn get_angle_v(&self) -> f64 { self.data.angle_v }
|
||||||
|
|
||||||
|
#[getter]
|
||||||
|
fn get_explode(&self) -> bool { self.data.explode }
|
||||||
|
|
||||||
#[getter]
|
#[getter]
|
||||||
fn get_flip_x(&self) -> bool { self.data.flip_x }
|
fn get_flip_x(&self) -> bool { self.data.flip_x }
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ from Difficult_Rocket.api.mod import ModInfo
|
|||||||
from Difficult_Rocket.client import ClientWindow
|
from Difficult_Rocket.client import ClientWindow
|
||||||
from Difficult_Rocket.api.types import Options, Version
|
from Difficult_Rocket.api.types import Options, Version
|
||||||
|
|
||||||
DR_rust_version = Version("0.2.15.1") # DR_mod 的 Rust 编写部分的兼容版本
|
DR_rust_version = Version("0.2.15.2") # DR_mod 的 Rust 编写部分的兼容版本
|
||||||
|
|
||||||
logger = logging.getLogger('client.dr_game')
|
logger = logging.getLogger('client.dr_game')
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user