示例#1
0
        public void Memory()
        {
            var store    = new Store();
            var instance = new MemoryInstance();
            var index    = store.AddMemory(instance);

            Assert.That(store.Memory(index), Is.SameAs(instance));
        }
示例#2
0
        public void Initialize()
        {
            _gfxMemory = new MemoryInstance(InstanceID + "_gfx");
            _gfxMemory.Connect();

            IsInitialized = true;

            Debug.Log("Initialized");
        }
示例#3
0
 public TargetObserver(IUnityContainer container, EventAggregator eventAggregator)
 {
     this.container                 = container;
     this.eventAggregator           = eventAggregator;
     currentTargetPointer           = new MemoryInstance().TargetPointer;
     bgWorker                       = new BackgroundWorker();
     bgWorker.WorkerReportsProgress = false;
     bgWorker.DoWork               += listenForTargetChanged;
     bgWorker.RunWorkerCompleted   += restart;
     bgWorker.RunWorkerAsync();
 }
示例#4
0
        private void listenForTargetChanged(object sender, DoWorkEventArgs e)
        {
            uint actualTarget = new MemoryInstance().TargetPointer;

            while (actualTarget == currentTargetPointer)
            {
                Thread.Sleep(500);
                actualTarget = new MemoryInstance().TargetPointer;
            }
            currentTargetPointer = actualTarget;
            OnTargetChanged(currentTargetPointer, new EventArgs());
        }
示例#5
0
        private void Run()
        {
            _gfxMemory = new MemoryInstance(InstanceID + "_gfx");
            _gfxMemory.Init(Width * Height * 4);

            _browser       = new ChromiumWebBrowser();
            _renderHandler = new CefRenderHandler(_gfxMemory, Width, Height);

            _browser.RenderHandler = _renderHandler;

            _browser.BrowserInitialized  += BrowserInitialized;
            _browser.LoadingStateChanged += RegisterStaticBindings;
        }
示例#6
0
 public bool beConsumed(Creature consumer)
 {
     if (consumeable && !available)
     {
         Debug.Log("Destroying - " + gameObject.name);
         DestroyThisThing();
         MemoryInstance eating   = new MemoryInstance(Verb.ATE, this, false);
         MemoryInstance itemGone = new MemoryInstance(Verb.SAW, this, true);
         consumer.AddMemory(eating);
         consumer.AddMemory(itemGone);
         return(true);
     }
     else
     {
         Debug.Log(thingName + " not claimed or not consumeable");
     }
     return(false);
 }
示例#7
0
        public override void Place(ICrowdMember crowdMember, bool completeEvent = true)
        {
            IMemoryElementPosition pos;

            if (this.SavedPositions.TryGetValue(crowdMember.Name, out pos))
            {
                CrowdMemberModel model = crowdMember as CrowdMemberModel;
                model.Position = pos.Clone(false, (model.Position as MemoryInstance).GetTargetPointer());
                //model.Target(false);
                //model.ActiveIdentity.RenderWithoutAnimation(completeEvent, model);
            }
            else if (this.Name == Constants.ALL_CHARACTER_CROWD_NAME)
            {
                CrowdMemberModel model = crowdMember as CrowdMemberModel;
                if (model.SavedPosition != null)
                {
                    MemoryInstance memIns = (model.Position as MemoryInstance);
                    uint           x      = memIns.GetTargetPointer();
                    model.Position = model.SavedPosition.Clone(false, x);
                }
            }
        }
示例#8
0
 public virtual void Target(bool completeEvent = true)
 {
     if (MemoryInstance != null && MemoryInstance.IsReal)
     {
         if (completeEvent)
         {
             MemoryInstance.Target();
             WaitUntilTargetIsRegistered();
         }
         else
         {
             Generator.GenerateDesktopCommandText(DesktopCommand.TargetName, DesktopLabel);
         }
     }
     else
     {
         Generator.GenerateDesktopCommandText(DesktopCommand.TargetName, DesktopLabel);
         if (completeEvent)
         {
             Generator.CompleteEvent();
             MemoryInstance = WaitUntilTargetIsRegistered();
         }
     }
 }
示例#9
0
 public CefRenderHandler(MemoryInstance gfxMemory, int width, int height)
 {
     GfxMemory = gfxMemory;
     Width     = width;
     Height    = height;
 }
示例#10
0
 public bool AddMemory(MemoryInstance memory)
 {
     return(species.memory.AddMemory(memory));
 }
示例#11
0
 public int AddMemory(MemoryInstance memory)
 {
     _memory.Add(memory);
     return(_memory.Count - 1);
 }