92 lines
1.9 KiB
Python
92 lines
1.9 KiB
Python
from ref import ref,ref_computed,Ref
|
|
from signe import effect, computed
|
|
|
|
class Character:
|
|
|
|
# region 属性强化 属性抗性
|
|
|
|
fireRef:Ref[float]
|
|
"""火属性强化"""
|
|
fireResistanceRef:Ref[float]
|
|
"""火属性抗性"""
|
|
waterRef:Ref[float]
|
|
"""冰属性强化"""
|
|
waterResistanceRef:Ref[float]
|
|
"""冰属性抗性"""
|
|
lightRef:Ref[float]
|
|
"""光属性强化"""
|
|
lightResistanceRef:Ref[float]
|
|
"""光属性抗性"""
|
|
shadowRef:Ref[float]
|
|
"""暗属性强化"""
|
|
shadowResistanceRef:Ref[float]
|
|
"""暗属性强化"""
|
|
|
|
# endregion
|
|
|
|
# region 基础属性
|
|
|
|
strengthRef:Ref[float]
|
|
'''力量'''
|
|
intelligenceRef:Ref[float]
|
|
'''智力'''
|
|
vitalityRef:Ref[float]
|
|
'''体力'''
|
|
spiritRef:Ref[float]
|
|
'''精神'''
|
|
physicalAtkRef:Ref[float]
|
|
'''物理攻击力'''
|
|
magicalAtkRef:Ref[float]
|
|
'''魔法攻击力'''
|
|
independentAtkRef:Ref[float]
|
|
'''独立攻击力'''
|
|
|
|
# endregion
|
|
|
|
# 速度
|
|
|
|
movementSpeedRef:Ref[float]
|
|
'''移动速度'''
|
|
attackSpeedRef:Ref[float]
|
|
'''攻击速度'''
|
|
castingSpeedRef:Ref[float]
|
|
'''施放速度'''
|
|
|
|
# endregion
|
|
|
|
def __init__(self):
|
|
self.fireRef = ref(.0)
|
|
self.waterRef = ref(.0)
|
|
self.lightRef = ref(.0)
|
|
self.shadowRef = ref(.0)
|
|
self.fireResistanceRef = ref(.0)
|
|
self.waterResistanceRef = ref(.0)
|
|
self.lightResistanceRef = ref(.0)
|
|
self.shadowResistanceRef = ref(.0)
|
|
|
|
@property
|
|
def fire(self):
|
|
@computed
|
|
def _():
|
|
return self.fireRef.value + 2
|
|
return _()
|
|
|
|
|
|
char = Character()
|
|
|
|
def entry_0(char:Character):
|
|
char.fireRef.value = 19
|
|
|
|
def entry_1(char:Character):
|
|
@effect
|
|
def _():
|
|
if char.fire < 20:
|
|
char.waterRef.value = 10
|
|
else:
|
|
char.waterRef.value = 20
|
|
|
|
entry_1(char)
|
|
entry_0(char)
|
|
|
|
print("冰强"+str(char.waterRef.value))
|
|
print(char.fire) |