Exemplo n.º 1
0
    public void PlayDemo(Demo demo, bool loop, bool staticCam)
    {
        if (demoPlayer != null)
        {
            demoPlayer.StopDemoPlayback();
        }

        demoPlayer = Instantiate(worldData.demoPlayerTemplate).GetComponent <DemoPlayer>();
        RaceScript = demoPlayer.GetComponent <DemoRaceScript>();
        demoPlayer.PlayDemo(demo, loop, staticCam);
    }
Exemplo n.º 2
0
    private void OnTriggerEnter(Collider other)
    {
        Debug.Log("Added key: " + keyID);
        if (other.gameObject.tag == "Player")
        {
            if (!DemoPlayer.HasKey(keyID))
            {
                DemoPlayer.AddKey(keyID);


                GameObject.Destroy(this.gameObject);
            }
        }
    }
Exemplo n.º 3
0
    private void OnTriggerEnter(Collider other)
    {
        bool needsKey  = !genDoor.data.open; //a door is either locked or open (eg, unlocked)
        int  neededKey = neededKey = genDoor.data.keyID;


        if ((needsKey == false) || (needsKey && DemoPlayer.HasKey(neededKey)))
        {
            if (other.gameObject.tag == "Player")
            {
                doorMesh.gameObject.SetActive(false);
            }
        }
    }
Exemplo n.º 4
0
        void LoadDemos()
        {
            DemoList.Items.Clear();

            FileSystemNode demos = Root.Instance.FileSystem.Get("demos");

            foreach (DictionaryEntry de in demos)
            {
                string name = (string)de.Key;
                if (name.EndsWith(".demo"))
                {
                    FileSystemNode n    = (FileSystemNode)de.Value;
                    DemoPlayer     demo = new DemoPlayer(n);
                    ListViewItem   lvi  = new ListViewItem(new string[] { name, demo.Length.ToString(), n.info.Length.ToString(), demo.FrameCount.ToString() });
                    lvi.Tag = n;
                    DemoList.Items.Add(lvi);
                }
            }
        }
Exemplo n.º 5
0
        private void StartDemo(String path)
        {
            m_mode = Mode.Demo;

            timerManager  = CreateTimerManager();
            notifications = CreateNotifications(timerManager);
            sharedStorage = CreateSharedStorage("storage", timerManager);

            m_demoPlayer = new DemoPlayer(path);

            inputManager = new DemoPlayerInputManager();
            assetManager = CreateAssetManager();

            rootController = CreateRootController();
            AddGameObject(rootController);

            started = true;
            OnStart();

            inputManager.AddInputListener(rootController);
            rootController.Start();
        }
Exemplo n.º 6
0
 /// <summary>
 /// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state.
 /// In the case of the base class it sets up the enemy owner of the state.
 /// </summary>
 /// <param name="animator">Animator.</param>
 /// <param name="stateInfo">State info.</param>
 /// <param name="layerIndex">Layer index.</param>
 public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     this.self = animator.gameObject.GetComponent <DemoPlayer>();
 }
Exemplo n.º 7
0
        public void Start()
        {
            var nodes = NodeManifest.Construct(
                new Type[] {
                typeof(AddNode),
                typeof(RollNode),
                typeof(OutputValueNode),
                typeof(ItemInputNode),
                typeof(GetStatNode),
                typeof(IterateNode),
            }
                );
            var types = TypeManifest.ConstructBaseTypes();

            var manifest = new BehaviourManifest()
            {
                Nodes = nodes,
                Types = types
            };

            File.WriteAllText("Content/RPGCoreMath.bmfst", manifest.ToString());

            Console.WriteLine("Importing Graph...");

            var proj = ProjectExplorer.Load("Content/Tutorial");

            Console.WriteLine(proj.Name);
            Console.WriteLine("\t\"" + proj.Name + "\"");
            foreach (var resource in ((IPackageExplorer)proj).Resources)
            {
                Console.WriteLine("\t" + resource.FullName);
            }

            var editorTargetResource = proj.Resources["Tutorial Gamerules/Main.bhvr"];
            var editorTargetData     = editorTargetResource.LoadStream();

            JObject editorTarget;

            var serializer = new JsonSerializer();

            using (var sr = new StreamReader(editorTargetData))
                using (var reader = new JsonTextReader(sr))
                {
                    editorTarget = JObject.Load(reader);
                }

            var editor = new EditorSession(manifest, editorTarget, "SerializedGraph", serializer);

            foreach (var node in editor.Root["Nodes"])
            {
                var nodeData = node["Data"];

                foreach (var field in nodeData)
                {
                    Console.WriteLine($"{field}");
                    if (field.Name == "MaxValue")
                    {
                        field.SetValue(field.GetValue <int> () + 10);
                        field.ApplyModifiedProperties();

                        field.SetValue(field.GetValue <int> ());
                        field.ApplyModifiedProperties();
                    }
                    else if (field.Name == "ValueB")
                    {
                        Console.WriteLine(field.GetValue <LocalPropertyId> ());
                    }
                }
            }

            using (var file = editorTargetResource.WriteStream())
                using (var jsonWriter = new JsonTextWriter(file)
                {
                    Formatting = Formatting.Indented
                })
                {
                    serializer.Serialize(jsonWriter, editorTarget);
                }

            Console.WriteLine(new DirectoryInfo("Content/Temp").FullName);

            var consoleRenderer = new BuildConsoleRenderer();

            var buildPipeline = new BuildPipeline()
            {
                Exporters = new List <ResourceExporter> ()
                {
                    new BhvrExporter()
                },
                BuildActions = new List <IBuildAction> ()
                {
                    consoleRenderer
                }
            };

            consoleRenderer.DrawProgressBar(32);
            proj.Export(buildPipeline, "Content/Temp");

            Console.WriteLine("Exported package...");
            var exportedPackage = PackageExplorer.Load("Content/Temp/Core.bpkg");

            var fireballAsset = exportedPackage.Resources["Fireball/Main.bhvr"];
            var data          = fireballAsset.LoadStream();

            SerializedGraph packageItem;

            using (var sr = new StreamReader(data))
                using (var reader = new JsonTextReader(sr))
                {
                    packageItem = serializer.Deserialize <SerializedGraph> (reader);
                }

            Console.WriteLine("Imported: " + packageItem.Name);
            var unpackedGraph = packageItem.Unpack();

            Console.WriteLine("Running Simulation...");

            var player = new DemoPlayer();

            IGraphInstance instancedItem = unpackedGraph.Create();

            instancedItem.Setup();
            instancedItem.SetInput(player);
            for (int i = 0; i < 5; i++)
            {
                Thread.Sleep(100);
                player.Health.Value -= 10;
            }
            instancedItem.Remove();

            var    packedInstance  = ((GraphInstance)instancedItem).Pack();
            string serializedGraph = packedInstance.AsJson();

            Console.WriteLine(serializedGraph);

            var deserialized     = JsonConvert.DeserializeObject <SerializedGraphInstance> (serializedGraph);
            var unpackedInstance = deserialized.Unpack(unpackedGraph);

            unpackedInstance.SetInput(player);
            unpackedInstance.Setup();
            for (int i = 0; i < 5; i++)
            {
                Thread.Sleep(100);
                player.Health.Value -= 20;
            }
            unpackedInstance.Remove();

            for (int i = 0; i < 5; i++)
            {
                Thread.Sleep(100);
                player.Health.Value -= 20;
            }
        }
 private void DemoLoad(object sender, RoutedEventArgs e)
 {
     DemoPlayer.Play();
 }
 private void btnDemoStop_Click(object sender, RoutedEventArgs e)
 {
     DemoPlayer.Stop();
 }
Exemplo n.º 10
0
 private void btnDemoPause_Click(object sender, RoutedEventArgs e)
 {
     DemoPlayer.Pause();
 }
Exemplo n.º 11
0
        void LoadDemos()
        {
            DemoList.Items.Clear();

            FileSystemNode demos = Root.Instance.FileSystem.Get("demos");

            foreach (DictionaryEntry de in demos)
            {
                string name = (string)de.Key;
                if (name.EndsWith(".demo"))
                {
                    FileSystemNode n = (FileSystemNode)de.Value;
                    DemoPlayer demo = new DemoPlayer(n);
                    ListViewItem lvi = new ListViewItem(new string[] { name, demo.Length.ToString(), n.info.Length.ToString(), demo.FrameCount.ToString() });
                    lvi.Tag = n;
                    DemoList.Items.Add(lvi);
                }
            }
        }
Exemplo n.º 12
0
 public void Start()
 {
     this.parent = this.transform.GetComponentInParent <DemoPlayer>();
 }