Пример #1
0
 public GestionActionneur()
 {
     extracteur = new Extracteurs();
     trappe     = new Trappe();
     chauffage  = new Chauffage();
     vannes     = new Vannes();
 }
Пример #2
0
        static void Main(string[] args)
        {
            Execution.DesignMode  = false;
            Execution.LaunchStart = DateTime.Now;

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            SplashScreen.ShowSplash(Properties.Resources.Splash1, new Rectangle(495, 115, 275, 80));

            CheckAlreadyLaunched();
            DebugChecks();
            Update();
            CheckIP();

            SplashScreen.SetMessage("Initialisation\nConnexions...", Color.Black);
            SplashScreen.SetImage(Properties.Resources.Splash1);
            ThreadManager.Init();
            Connections.Init();

            SplashScreen.SetMessage("Initialisation\nConfig...", Color.Black);
            SplashScreen.SetImage(Properties.Resources.Splash2);
            Config.Load();

            SplashScreen.SetMessage("Initialisation\nDevices...", Color.Black);
            SplashScreen.SetImage(Properties.Resources.Splash3);
            AllDevices.Init();
            Actionneur.Init();
            SuiviBalise.Init();

            SplashScreen.SetMessage("Initialisation\nRobot...", Color.Black);
            Robots.Init();
            Recalibration.Init();

            SplashScreen.SetMessage("Initialisation\nPlateau...", Color.Black);
            Dessinateur.Init();
            GameBoard.Init();

            SplashScreen.SetMessage("Initialisation\nLogs...", Color.Black);
            SplashScreen.SetImage(Properties.Resources.Splash4);
            Logs.Logs.Init();

            SplashScreen.SetMessage("Initialisation\nInterface...", Color.Black);
            SplashScreen.SetImage(Properties.Resources.Splash5);

            Application.Run(new FenGoBot(args));
        }
Пример #3
0
    void OnTriggerStay2D(Collider2D other)
    {
        if (Input.GetKeyDown(KeyCode.DownArrow) && !isActivating && !isTimerOn)
        {
            // Activation d'un levier
            if (other.gameObject.CompareTag("Actionneur"))
            {
                Actionneur actionneur = other.gameObject.GetComponent <Actionneur>();
                actionneur.activate();
                isActivating = true;
            }

            // Liberation d'une ame
            if (other.gameObject.CompareTag("Cadavre") && isSpirit)
            {
                Cadavre cadavre = other.gameObject.GetComponent <Cadavre>();
                cadavre.activate();
                isActivating = true;
            }
        }
    }
Пример #4
0
        public MovementBuoy(Buoy buoy)
        {
            _buoy     = buoy;
            _elevator = Actionneur.FindElevator(_buoy.Color);

            double delta = _elevator == Actionneur.ElevatorLeft ? 30 : -30;

            //for (int i = 0; i < 360; i += 60)
            //{
            //    Positions.Add(new Geometry.Position(i + delta + 180, new Geometry.Shapes.RealPoint(_buoy.Position.X + 200* new AnglePosition(delta + i).Cos, _buoy.Position.Y + 200 * new AnglePosition(delta + i).Sin)));
            //}

            for (int i = 0; i < 360; i += 60)
            {
                Positions.Add(new Geometry.Position(i + 180 + delta, new Geometry.Shapes.RealPoint(_buoy.Position.X + 250 * new AnglePosition(i).Cos, _buoy.Position.Y + 250 * new AnglePosition(i).Sin)));
            }

            //AnglePosition a = 0;
            //Positions.Add(new Geometry.Position(a + 180 + delta, new Geometry.Shapes.RealPoint(_buoy.Position.X + 250 * new AnglePosition(a).Cos, _buoy.Position.Y + 250 * new AnglePosition(a).Sin)));
            //a = 180;
            //Positions.Add(new Geometry.Position(a + 180 + delta, new Geometry.Shapes.RealPoint(_buoy.Position.X + 250 * new AnglePosition(a).Cos, _buoy.Position.Y + 250 * new AnglePosition(a).Sin)));
        }
Пример #5
0
    // A l'initialisation, le monde est en mode physique, on passe tout
    // les objets de la scene en mode physique
    void Start()
    {
        isTimerOn    = false;
        isActivating = false;
        hasJumped    = false;
        period       = 0.1f;
        rb           = GetComponent <Rigidbody2D>();
        animator     = GetComponent <Animator>();

        //-	On recupere les tableaux des elements de notre GameObject Level.
        //-	Pour chaque tableau, on parcourt les elements
        //-	On recupere l’element, on change son attribut isSpirit.
        //-	On desactive l’element si c’est un element physique et qu’on est en mode esprit, ou si c’est
        //un element spirituel et qu’on est en mode physique. On active l’element sinon

        int lengthActionneurs = level.actionneurs.Length;
        int lengthEnnemis     = level.ennemis.Length;
        int lengthCadavres    = level.cadavres.Length;
        int lengthPlateformes = level.plateformes.Length;
        int lengthMurs        = level.murs.Length;
        int lengthBackground  = level.backgrounds.Length;

        Physics2D.IgnoreLayerCollision(9, 10);

        animator.SetBool("isSpirit", isSpirit);
        for (int i = 0; i < lengthActionneurs; i++)
        {
            Actionneur actionneur = (Actionneur)level.actionneurs[i];
            actionneur.isSpirit = isSpirit;
            actionneur.gameObject.SetActive(actionneur.statut == 0 || isSpirit && actionneur.statut == 2 || !isSpirit && actionneur.statut == 1);
        }
        for (int i = 0; i < lengthEnnemis; i++)
        {
            Ennemi ennemi = (Ennemi)level.ennemis[i];
            ennemi.isSpirit = isSpirit;
            ennemi.gameObject.SetActive(ennemi.statut == 0 || isSpirit && ennemi.statut == 2 || !isSpirit && ennemi.statut == 1);
        }
        for (int i = 0; i < lengthCadavres; i++)
        {
            Cadavre cadavre = (Cadavre)level.cadavres[i];
            cadavre.isSpirit = isSpirit;
            cadavre.gameObject.SetActive(cadavre.statut == 0 || isSpirit && cadavre.statut == 2 || !isSpirit && cadavre.statut == 1);
        }

        for (int i = 0; i < lengthPlateformes; i++)
        {
            Plateforme plateforme = (Plateforme)level.plateformes[i];
            plateforme.isSpirit = isSpirit;
            if (!(plateforme.statut == 0 || isSpirit && plateforme.statut == 2 || !isSpirit && plateforme.statut == 1))
            {
                for (int j = 0; j < plateforme.transform.childCount; j++)
                {
                    Transform objet = plateforme.transform.GetChild(j);
                    if (objet.name == "Player")
                    {
                        groundChecker.getTriggers().Clear();
                        objet.transform.parent = null;
                    }
                }
            }

            plateforme.gameObject.SetActive(plateforme.statut == 0 || isSpirit && plateforme.statut == 2 || !isSpirit && plateforme.statut == 1);
        }
        for (int i = 0; i < lengthMurs; i++)
        {
            Mur mur = (Mur)level.murs[i];
            mur.isSpirit = isSpirit;
            mur.gameObject.SetActive(mur.statut == 0 || isSpirit && mur.statut == 2 || !isSpirit && mur.statut == 1);
        }
        for (int i = 0; i < lengthBackground; i++)
        {
            backgroundAdapter back = (backgroundAdapter)level.backgrounds[i];
            back.changeUnivers(isSpirit);
        }
    }
Пример #6
0
    // Update is called once per frame
    void Update()
    {
        // On ecrit le texte des ames et morts.
        setText();

        // Menu Pause
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (Time.timeScale != 0)
            {
                pause();
            }
            else
            {
                reprendre();
            }
        }

        // Gere le changement de direction du joueur
        Flip();

        // On allour un temps entre chaque action du joueur pour eviter 2 actions consecutives non voulues
        if (isActivating)
        {
            timer        = Time.time;
            isActivating = false;
            isTimerOn    = true;
        }

        if (isTimerOn && Time.time > timer + period)
        {
            isTimerOn = false;
        }

        // Si le joueur peut sauter et qu'il veut sauter, il saute
        if ((rb.velocity.y == 0 || isGrounded) && Input.GetButtonDown("Jump"))
        {
            rb.isKinematic = false;
            animator.SetBool("isGround", false);
            rb.AddForce(new Vector2(0f, jumpSpeed), ForceMode2D.Impulse);
        }

        // Changement de vue
        //-	Verification de l’appui du bouton « touche haut » clavier.
        //-	Changement de l’attribut booleen isSpirit du player, correspondant au mode Physique ou Esprit.
        //-	Changement de l’animation du player.
        //-	On recupere les tableaux des elements de notre GameObject Level.
        //-	Pour chaque tableau, on parcourt les elements
        //-	On recupere l’element, on change son attribut isSpirit.
        //-	On desactive l’element si c’est un element physique et qu’on est en mode esprit, ou si c’est
        //un element spirituel et qu’on est en mode physique. On active l’element sinon.

        if (Input.GetButtonDown("Switch"))
        {
            isSpirit = !isSpirit;
            animator.SetBool("isSpirit", isSpirit);
            int lengthActionneurs = level.actionneurs.Length;
            int lengthEnnemis     = level.ennemis.Length;
            int lengthCadavres    = level.cadavres.Length;
            int lengthPlateformes = level.plateformes.Length;
            int lengthMurs        = level.murs.Length;
            int lengthBackground  = level.backgrounds.Length;

            for (int i = 0; i < lengthActionneurs; i++)
            {
                Actionneur actionneur = (Actionneur)level.actionneurs[i];
                actionneur.isSpirit = isSpirit;
                actionneur.gameObject.SetActive(actionneur.statut == 0 || isSpirit && actionneur.statut == 2 || !isSpirit && actionneur.statut == 1);
            }
            for (int i = 0; i < lengthEnnemis; i++)
            {
                Ennemi ennemi = (Ennemi)level.ennemis[i];
                ennemi.isSpirit = isSpirit;
                ennemi.gameObject.SetActive(ennemi.statut == 0 || isSpirit && ennemi.statut == 2 || !isSpirit && ennemi.statut == 1);
            }
            for (int i = 0; i < lengthCadavres; i++)
            {
                Cadavre cadavre = (Cadavre)level.cadavres[i];
                cadavre.isSpirit = isSpirit;
            }

            for (int i = 0; i < lengthPlateformes; i++)
            {
                Plateforme plateforme = (Plateforme)level.plateformes[i];
                plateforme.isSpirit = isSpirit;
                if (!(plateforme.statut == 0 || isSpirit && plateforme.statut == 2 || !isSpirit && plateforme.statut == 1))
                {
                    for (int j = 0; j < plateforme.transform.childCount; j++)
                    {
                        Transform objet = plateforme.transform.GetChild(j);
                        if (objet.name == "Player")
                        {
                            groundChecker.getTriggers().Clear();
                            objet.transform.parent = null;
                        }
                    }
                }

                plateforme.gameObject.SetActive(plateforme.statut == 0 || isSpirit && plateforme.statut == 2 || !isSpirit && plateforme.statut == 1);
            }
            for (int i = 0; i < lengthMurs; i++)
            {
                Mur mur = (Mur)level.murs[i];
                mur.isSpirit = isSpirit;
                mur.gameObject.SetActive(mur.statut == 0 || isSpirit && mur.statut == 2 || !isSpirit && mur.statut == 1);
            }
            for (int i = 0; i < lengthBackground; i++)
            {
                backgroundAdapter back = (backgroundAdapter)level.backgrounds[i];
                back.changeUnivers(isSpirit);
            }
        }
    }
Пример #7
0
	public GestionActionneur() {
        extracteur = new Extracteurs();
        trappe = new Trappe();
        chauffage = new Chauffage();
        vannes = new Vannes();
	}