Skip to content
Snippets Groups Projects
Level.cs 1.25 KiB
Newer Older
  • Learn to ignore specific revisions
  • using System.Collections.Generic;
    using UnityEngine;
    
    using static CommunicationEvents;
    
    Richard Marcus's avatar
    Richard Marcus committed
    
    //TODO: think about having one Level class and then different subclasses like TreeLevel, Tangenslevel?
    public class Level : MonoBehaviour
    {
    
        //Solving game parameters
    
    Richard Marcus's avatar
    Richard Marcus committed
        public static bool solved = false;
    
    Richard Marcus's avatar
    Richard Marcus committed
        void Start()
    
        // Start is called before the first frame update
    
    Richard Marcus's avatar
    Richard Marcus committed
        {
    
            // TODO: do not generate! -> load from somewhere
    
            PointFact
                buttom = new PointFact(Vector3.zero, Vector3.up, SolutionManager),
                top = new PointFact(Vector3.zero + Vector3.up * minimalSolutionHight, Vector3.up, SolutionManager);
    
            SolutionManager.Add(buttom, out _);
            SolutionManager.Add(top, out _, true);
    
    Richard Marcus's avatar
    Richard Marcus committed
    
    
            LineFact target = new LineFact(buttom.Id, top.Id, SolutionManager);
    
            Solution.Add(SolutionManager[SolutionManager.Add(target, out _, true)]);
        }
    
    Richard Marcus's avatar
    Richard Marcus committed
    
        public static bool gameSolved()
        {
    
                LevelFacts.DynamiclySolved(Solution, out _, out List<Fact> hits, FactComparer: new LineFactHightDirectionComparer());
    
    Richard Marcus's avatar
    Richard Marcus committed
    
    
            if (solved)
                foreach (var hit in hits)
                    AnimateExistingFactEvent.Invoke(hit);
    
            return solved;
    
    Richard Marcus's avatar
    Richard Marcus committed
        }
    
    Richard Marcus's avatar
    Richard Marcus committed
    }