Ejemplo n.º 1
0
        public static WiccanRede.AI.NpcTask Update(string state, WiccanRede.AI.NPC npc)
        {
            WiccanRede.AI.NpcTask tar = new WiccanRede.AI.NpcTask();
            tar.checkpoints = new List <System.Drawing.Point>();
            System.Drawing.Point pos = npc.GetPosition2D();
            tar.result = Result.none;
            switch (state)
            {
            case "Start":
                break;

            case "Pub":
                break;

            case "Obelisc":
                //tar.checkpoints.Add(pos);
                break;

            case "Forest":
                //tar.checkpoints.Add(new Point(105, 115));
                break;

            case "Final":
                Logging.Logger.AddInfo("skript: Novy stav npc: " + state);
                tar.checkpoints.Add(new Point(110, 110));
                break;

            default:
                tar.checkpoints.Add(pos);
                break;
            }
            return(tar);
        }
Ejemplo n.º 2
0
        public object[] Update(params object[] pars)
        {
            string state = "";

            WiccanRede.AI.NPC npc;
            if (pars[0] is string)
            {
                state = (string)pars[0];
            }
            else
            {
                Logging.Logger.AddInfo("Chybne parametry pro skript, ocekavan string, predan : " + pars[0].GetType().ToString());
            }
            if (pars[1] is WiccanRede.AI.NPC)
            {
                npc = (WiccanRede.AI.NPC)pars[1];
            }
            else
            {
                Logging.Logger.AddInfo("Chybne parametry pro skript, ocekavan NPC, predan : " + pars[0].GetType().ToString());
            }
            WiccanRede.AI.NpcTask tar = new WiccanRede.AI.NpcTask();
            tar.checkpoints = new List <Point>();
            tar.result      = Result.none;

            switch (state)
            {
            case "Start":
                //Logging.Logger.AddInfo("skript: Novy stav npc: " + state);
                break;

            case "Pub":
                Logging.Logger.AddInfo("skript: Novy stav npc: " + state);
                //tar.checkpoints.Add(new Point(20, 15));
                //tar.checkpoints.Add(new Point(20, 5));
                //tar.checkpoints.Add(new Point(5, 25));
                //tar.time = float.PositiveInfinity;
                break;

            case "Obelisc":
                //Logging.Logger.AddInfo("skript: Novy stav npc: " + state);
                tar.order = false;
                tar.checkpoints.Add(new Point(27, 74));
                tar.checkpoints.Add(new Point(11, 116));
                tar.checkpoints.Add(new Point(50, 10));
                tar.checkpoints.Add(new Point(88, 39));
                tar.checkpoints.Add(new Point(90, 100));
                tar.time = 20 * 60;
                break;

            case "Forest":
                //Logging.Logger.AddInfo("skript: Novy stav npc: " + state);
                tar.checkpoints.Add(new Point(100, 120));
                tar.time = 5 * 60;
                break;

            case "Final":
                //Logging.Logger.AddInfo("skript: Novy stav npc: " + state);
                tar.checkpoints.Add(new Point(110, 110));
                tar.time = float.PositiveInfinity;
                break;

            default:
                Logging.Logger.AddWarning("skript: Neznamy stav: " + state);
                break;
            }
            return(new object[] { tar });
        }