Skip to content

Instantly share code, notes, and snippets.

View broken-bytes's full-sized avatar
:shipit:
Making Compilers

Marcel Kulina broken-bytes

:shipit:
Making Compilers
View GitHub Profile
@broken-bytes
broken-bytes / HeroState.swift
Last active January 6, 2020 10:06
Swift MVI example - HeroState
import Foundation
protocol HeroState { }
class HeroPresenting: HeroState {
let hero: Hero
let nextAvailable: Bool
let previousAvailable: Bool
@broken-bytes
broken-bytes / HeroSelector.swift
Created January 6, 2020 09:49
Swift MVI example - HeroSelector
import Foundation
class HeroSelector {
// MARK: State
let heroes: [Hero]
var heroId: Int = 0
// MARK: Properties
var previousHero: Hero? { return getPreviousHero() }
var nextHero: Hero? { return getNextHero() }
@broken-bytes
broken-bytes / Hero.swift
Created January 6, 2020 09:46
Swift MVI example - Hero
import Foundation
class Hero {
let name: String
let speed: Float
let power: Float
let stamina: Float
init(_ name: String, speed: Float, power: Float, stamina: Float) {
self.name = name
@broken-bytes
broken-bytes / MainViewController.swift
Last active January 6, 2020 10:09
Swift MVI example - MainVIewController
import UIKit
import RxSwift
import RxCocoa
class MainViewController: UIViewController {
// MARK: Outlets
@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var speed: UIProgressView!
@broken-bytes
broken-bytes / MainIntent.swift
Last active January 6, 2020 10:09
Swift MVI example - MainIntent
import Foundation
import RxSwift
import RxCocoa
class MainIntent {
var stateRelay: PublishRelay<HeroState>
var view: MainViewController?
let heroSelector = HeroSelector()
var disposeBag = DisposeBag()
@broken-bytes
broken-bytes / BulletTest.cs
Last active January 4, 2020 06:06
Medium Unity: Bullet Drop, BulletTest
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BulletTest : MonoBehaviour {
public SimpleBullet Bullet;
public Transform Eject;
[Range(1,200)]
public float Speed = 50;
@broken-bytes
broken-bytes / SimpleBullet.cs
Last active January 4, 2020 05:49
Medium Unity: Bullet Drop, SimpleBullet
using UnityEngine;
public class SimpleBullet : MonoBehaviour
{
// The global Gravity all projectiles share. Independent from actual physics
private const float Gravity = 9.81f;
private Vector3 Velocity;
public void Shoot(float speed, float angleX, float angleY) {
// Get 2D V0x and V0y