Example #1
0
        public override void apply(MealyMachine mac)
        {
            float ms = mac.settings.moveSpeed * Action.moveScaler;

            //Debug.Log("Going left");
            mac.selfTransform.position = mac.selfTransform.position - new Vector3(ms, 0, 0);
        }
Example #2
0
        public override void apply(MealyMachine mac)
        {
            var initialPosition = mac.selfTransform.position;
            var forceToApply    = direction * 100;

            //Debug.Log("Shooting");
            if (mac.settings.bulletPrefab == null)
            {
                Debug.LogWarning("No bullet prefab for enemy using debug fallback");
                var bullet = GameObject.CreatePrimitive(PrimitiveType.Sphere);
                bullet.transform.position   = initialPosition;
                bullet.transform.localScale = Vector3.one * 0.1f;
                var rb = bullet.AddComponent <Rigidbody>();
                rb.mass        = 0.1f;
                rb.isKinematic = false;
                rb.AddForce(forceToApply);
                Destroy(bullet, 100);
            }
            else
            {
                var fp = mac.self.transform.Find("Firepoint");
                //var angle = Vector3.Angle(Vector3.right, direction);
                var angle = Brain.PosNegAngle(Vector3.right, direction, Vector3.forward);
                fp.transform.rotation = Quaternion.Euler(0, 0, angle);
                //Debug.Log("Instantiate bullet");
                var bullet = Instantiate(mac.settings.bulletPrefab, initialPosition, fp.transform.rotation);
                //Debug.Log(bullet.transform.position.ToString());

                //var rb = bullet.GetComponent<Rigidbody2D>();
                //rb.AddForce(forceToApply);
            }
        }
Example #3
0
 public static void RunMachine(bool isMachineMealy, Machine machine)
 {
     if (isMachineMealy)
     {
         var mealyMachine = new MealyMachine(machine);
         ShowResult(mealyMachine.Run(mealyMachine.Split(GetString())));
     }
     else
     {
         var mooreMachine = new MooreMachine(machine);
         ShowResult(mooreMachine.Run(mooreMachine.Split(GetString())));
     }
 }
Example #4
0
    void Start()
    {
        if (settings.home == null && settings.spawnIsHome)
        {
            var go = new GameObject("Home of " + gameObject.name);
            settings.home          = go.transform;
            settings.home.position = gameObject.transform.position;
        }

        var enemyController = GetComponent <EnemyController>();

        mealyMachine = new MealyMachine(gameObject, settings, enemyController);
    }
Example #5
0
        public override void apply(MealyMachine mac)
        {
            var rb = mac.self.GetComponent <Rigidbody2D>();

            if (rb == null)
            {
                //Debug.Log("Cannot jump don't have rigitbody");
            }
            else
            {
                Debug.Log("applying jump force");
                rb.AddForce(new Vector2(0, mac.settings.jumpForce), ForceMode2D.Impulse);
                //rb.AddForce(Vector3.up);
            }
        }
Example #6
0
        /*static Action() {
         *  ALL_ACTIONS = assembly.GetTypes().Where(t => t.BaseType == typeof(baseType));
         * }*/

        public virtual void apply(MealyMachine mac)
        {
        }
Example #7
0
 public GroundBrain(MealyMachine machine) : base(machine)
 {
 }
Example #8
0
 public Brain(MealyMachine machine)
 {
     //Debug.Log("new brain");
     this.mac = machine;
 }
Example #9
0
 public override void apply(MealyMachine mac)
 {
     //Debug.Log("Doing NOP");
 }