private void Event(Entity entity, Type eventType, EventArgs pe) { if (eventType == typeof(MapCollisionEventType)) { MapCollisionEventType e = (MapCollisionEventType)pe; if (e.Type.HasFlag(MapCollisionType.Down)) { FSMComponent fsm = entity.GetComponent <FSMComponent>(); fsm.SetState(entity, "idle"); } } }
private void Event(Entity entity, Type eventType, EventArgs pe) { if (eventType == typeof(MapCollisionEventType)) { MapCollisionEventType e = (MapCollisionEventType)pe; if (!e.Type.HasFlag(MapCollisionType.Down)) { FSMComponent fsm = entity.GetComponent <FSMComponent>(); fsm.SetState(entity, "onAir"); } else { SpeedComponent speed = entity.GetComponent <SpeedComponent>(); speed.SpeedY = 0; } } }