
POW 方块 (U6)
是我,POW砖块!我漂浮在空中。用任何东西击打它,让敌人飞出去!
查看大图已知问题:当地图中生成足够多的新武器时,它会消失。
这是停滞匕首和力量锤代码的混合体:
public class ItemPOWBlock : MonoBehaviour
{
受保护的物品物品;
受保护的物品模块POW方块模块;
public float forceMultiplier;
公共碰撞器 POW;
public float POWTimer = 0f;
public float POWCooldown = 0.5f;
public int i = 0;
protected void Awake()
{
item = this.GetComponent<Item>();
POW = item.transform.Find("Colliders").GetComponentsInChildren<Collider>()[0];
item.OnCollisionEvent += OnPOWCollisionEvent;
模块 = 物品数据.获取模块<物品模块能量块>();
forceMultiplier = module.forceMultiplier;
item.OnTeleUnGrabEvent += OnTeleUnGrabAction;
item.OnTeleGrabEvent += OnTeleGrabAction;
}
public void OnTeleGrabAction(Handle handle, Telekinesis teleGrabber)
{
item.rb.freezeRotation = true;
如果 (item.rb.isKinematic == true)
{
item.rb.isKinematic = false;
}
}
public void OnTeleUnGrabAction(Handle handle, Telekinesis teleGrabber)
{
item.rb.isKinematic = true;
item.rb.freezeRotation = false;
}
void OnPOWCollisionEvent(ref CollisionStruct collisionInstance)
{
如果(碰撞实例.源碰撞器 == 能量块 || 碰撞实例.目标碰撞器 == 能量块)
{
如果 (POW计时器 > POW冷却时间)
{
POWTimer = 0f;
foreach (Creature npc in Creature.list)
{
如果(npc 不等于 玩家角色)
{
如果(NPC.状态 == 生物.状态.存活 || (NPC.状态 == 生物.状态.昏迷 && NPC.布娃娃.已着地) || (NPC.状态 == 生物.状态.死亡 && NPC.布娃娃.状态 == BS.布娃娃.状态.死亡))
{
如果 (npc.state == 生物.状态.存活)
{
npc.ragdoll.SetState(BS.Ragdoll.State.Fallen);
}
如果(npc.state == 生物.状态.死亡)
{
npc.ragdoll.SetState(BS.Ragdoll.State.Fallen);
}
foreach (RagdollPart ragdollPart in npc.ragdoll.parts)
{
ragdollPart.rb.AddForce(Vector3.up * forceMultiplier, ForceMode.Impulse);
}
}
}
}
}
}
}
void FixedUpdate()
{
foreach (Creature npc in Creature.list)
{
如果(npc.ragdoll.isGrounded && npc.state == 生物.状态.死亡)
{
npc.ragdoll.state = BS.Ragdoll.State.Dead;
npc.ragdoll.isGrounded = false;
}
}
POWTimer += Time.deltaTime;
}
}
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。