view pytouhou/game/item.pxd @ 524:7f016dfbdfb1

Make vector a struct, allocate it directly on the stack, and thus pass it by copy, which is much less expensive than a python allocation.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Wed, 18 Dec 2013 18:15:40 +0100
parents 3d3285918ba1
children a6af3ff86612
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 void autocollect(self, Player player) except *
    cdef void on_collect(self, Player player) except *
    cpdef update(self)