view pytouhou/game/item.pxd @ 795:2d60a14f4816 default tip

python: Rewrite the main entrypoint in Rust This lets us progressively replace Python modules with Rust ones. Currently missing features include: - Saving replays - Networking code for cooperative mode - Reading a configuration file for options - Maybe more. But the base game is working, so yay!
author Link Mauve <linkmauve@linkmauve.fr>
date Tue, 02 Jun 2026 19:06:16 +0200
parents a6af3ff86612
children
line wrap: on
line source

from pytouhou.game.element cimport Element
from pytouhou.game.game cimport Game
from pytouhou.game.player cimport Player
from pytouhou.game.itemtype cimport ItemType
from pytouhou.utils.interpolator cimport Interpolator


cdef class Indicator(Element):
    cdef Item _item

    cdef void update(self) nogil


cdef class Item(Element):
    cdef public ItemType _item_type

    cdef unsigned long frame
    cdef long _type
    cdef double angle, speed
    cdef Game _game
    cdef Player player
    cdef Element target
    cdef Indicator indicator
    cdef Interpolator speed_interpolator, pos_interpolator

    cdef bint autocollect(self, Player player) except True
    cdef bint on_collect(self, Player player) except True
    cpdef update(self)