Exemplo n.º 1
0
    private void GetConnectedResourceModules(ResourceModule start)
    {
        this.AddResourceModule(start);
        Ref.connectionCheckId++;
        start.part.connectionCheckId = Ref.connectionCheckId;
        List <Part> list = new List <Part>(1)
        {
            start.part
        };

        while (list.Count > 0)
        {
            for (int i = 0; i < list[0].joints.Count; i++)
            {
                if (list[0].joints[i].resourceFlow)
                {
                    Part part = (!(list[0].joints[i].fromPart == list[0])) ? list[0].joints[i].fromPart : list[0].joints[i].toPart;
                    if (part.connectionCheckId != Ref.connectionCheckId)
                    {
                        part.connectionCheckId = Ref.connectionCheckId;
                        ResourceModule resourceModule = part.GetResourceModule();
                        if (!(resourceModule == null) && start.resourceType == resourceModule.resourceType)
                        {
                            list.Add(part);
                            this.AddResourceModule(resourceModule);
                        }
                    }
                }
            }
            list.RemoveAt(0);
        }
    }
Exemplo n.º 2
0
 private void AddResourceModule(ResourceModule newModule)
 {
     this.resourceModules.Add(newModule);
     this.resourceSpace     += (double)newModule.resourceSpace;
     this.resourceAmount    += (double)newModule.resourceAmount.floatValue;
     newModule.resourceGroup = this;
 }
Exemplo n.º 3
0
        public void TestSpendShouldSucceedWhenJustEnoughResource()
        {
            ResourceModule resourceModule =
                new ResourceModule("Buns", 5f, 5f, _subResourceModuleOwner, _subEventContext);

            Assert.True(resourceModule.Spend(5f));
        }
Exemplo n.º 4
0
        public static void Initialize()
        {
            ContainerModule.Initialize();
            CoreModule.Initialize();
            MathModule.Initialize();
            EngineModule.Initialize();
            InputModule.Initialize();
            IOModule.Initialize();
            ResourceModule.Initialize();
            AudioModule.Initialize();
            GraphicsModule.Initialize();
            SceneModule.Initialize();
            Atomic2DModule.Initialize();
            Atomic3DModule.Initialize();
            NavigationModule.Initialize();
            NetworkModule.Initialize();
            PhysicsModule.Initialize();
            EnvironmentModule.Initialize();
            UIModule.Initialize();

            AtomicPlayer.PlayerModule.Initialize();

            AtomicInterop.Initialize();

            atomicsharp_initialize();

            initSubsystems();
        }
Exemplo n.º 5
0
        public void TestSpendShouldFailWhenNotEnoughResource()
        {
            ResourceModule resourceModule =
                new ResourceModule("Buns", 5f, 5f, _subResourceModuleOwner, _subEventContext);

            Assert.False(resourceModule.Spend(10f));
        }
Exemplo n.º 6
0
 public void GetSource()
 {
     this.sources      = new List <ResourceGroup>();
     this.withResource = new List <ResourceGroup>();
     this.withSpace    = new List <ResourceGroup>();
     if (this.global || Resource.GrupsGlobally(this.resourceType))
     {
         for (int i = 0; i < this.part.vessel.partsManager.resourceGrups.Count; i++)
         {
             if (this.part.vessel.partsManager.resourceGrups[i].resourceType == this.resourceType)
             {
                 this.AddSource(this.part.vessel.partsManager.resourceGrups[i]);
             }
         }
     }
     else
     {
         for (int j = 0; j < this.part.joints.Count; j++)
         {
             if (this.part.joints[j].resourceFlow)
             {
                 ResourceModule resourceModule = ((!(this.part.joints[j].fromPart == this.part)) ? this.part.joints[j].fromPart : this.part.joints[j].toPart).GetResourceModule();
                 if (!(resourceModule == null) && resourceModule.resourceType == this.resourceType)
                 {
                     this.AddSource(resourceModule.resourceGroup);
                 }
             }
         }
     }
     this.UpdateState();
 }
Exemplo n.º 7
0
        public void TestSetValueShouldSetValue()
        {
            ResourceModule resourceModule = new ResourceModule("Blans", 100f, 100f, _subResourceModuleOwner, _subEventContext);

            resourceModule.SetValue(1f);
            Assert.AreEqual(1f, resourceModule.FValue);
            Assert.AreEqual(1, resourceModule.IValue);
            Assert.AreEqual(0.01, resourceModule.Percent, 0.001);

            resourceModule.SetValue(-100f);
            Assert.AreEqual(-100f, resourceModule.FValue);
            Assert.AreEqual(-100, resourceModule.IValue);
            Assert.AreEqual(-1, resourceModule.Percent);

            resourceModule.SetValue(1500f);
            Assert.AreEqual(1500f, resourceModule.FValue);
            Assert.AreEqual(1500, resourceModule.IValue);
            Assert.AreEqual(15f, resourceModule.Percent);

            resourceModule.SetValue(0f);
            Assert.AreEqual(0f, resourceModule.FValue);
            Assert.AreEqual(0, resourceModule.IValue);
            Assert.AreEqual(0f, resourceModule.Percent);

            resourceModule.SetValue(1.4f);
            Assert.AreEqual(1.4f, resourceModule.FValue);
            Assert.AreEqual(1, resourceModule.IValue);
        }
Exemplo n.º 8
0
        private void Window_Main_Load(object sender, EventArgs e)
        {
            #region 基础插件初始化
            if (LongLife.Plug_Lrc.LoadPlugs() == 0)
            {
                MessageBox.Show("基础插件加载失败,无法正常运行程序,请点击反馈按钮寻找技术支持。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                Config.Load();
                applicationSet();
                updateCheck();
            }
            #endregion

            #region 高级插件初始化
            LongLife.Plug_High.LoadPlugs();
            var test = new ResourceModule {
                MainListBox     = listView_Music,
                ListContextMenu = new ContextMenu(),
                MainProgressBar = toolStripProgressBar_DownLoad,
                MusicPathList   = LongLife.MusicPathList,
                MainStatusStrip = toolStripStatusLabel_Information
            };

            foreach (var item in LongLife.Plug_High.Plugs)
            {
                item.Init(ref test);
            }
            #endregion
        }
Exemplo n.º 9
0
    void Crear()
    {
        minSize = new Vector2(800, 400);
        manager = (GameManager)GameObject.FindObjectOfType(typeof(GameManager));

        resource = new ResourceModule(this);
        build    = new ConstruccionModule(this);
    }
Exemplo n.º 10
0
    public ResourceModule GenerateResourceModule(Agent agent, EventContext eventContext)
    {
        ResourceModule resourceModule = new ResourceModule(Key, agent.Properties.GetProperty(ConfigPropertyMax, 0), agent.Properties.GetProperty(ConfigPropertyMax, 0), agent, eventContext);

        resourceModule.BindFullDepletionEvent(FullDepletionEventName, new EventPayload(PayloadContentTypeName, agent));
        resourceModule.SetDepletionEventKey(DepletionEventName);
        resourceModule.SetReplenishEventKey(ReplenishEventName);
        return(resourceModule);
    }
Exemplo n.º 11
0
        public static void Initialize()
        {
            // Atomic Modules
            CoreModule.Initialize();
            MathModule.Initialize();
            EngineModule.Initialize();
            InputModule.Initialize();
            IOModule.Initialize();
            ResourceModule.Initialize();
            AudioModule.Initialize();
            GraphicsModule.Initialize();
            SceneModule.Initialize();
            Atomic2DModule.Initialize();
            NavigationModule.Initialize();
            NetworkModule.Initialize();
            PhysicsModule.Initialize();
            EnvironmentModule.Initialize();
            UIModule.Initialize();

#if ATOMIC_DESKTOP
            IPCModule.Initialize();
#endif

            AtomicAppModule.Initialize();
            ScriptModule.Initialize();

            AtomicNETScriptModule.Initialize();
            AtomicNETNativeModule.Initialize();

            PlayerModule.Initialize();

            coreDelegates = new CoreDelegates();
            coreDelegates.eventDispatch  = NativeCore.EventDispatch;
            coreDelegates.updateDispatch = NativeCore.UpdateDispatch;

            IntPtr coreptr = csi_Atomic_NETCore_Initialize(ref coreDelegates);

            NETCore core = (coreptr == IntPtr.Zero ? null : NativeCore.WrapNative <NETCore>(coreptr));

            if (core != null)
            {
                AtomicNET.RegisterSubsystem("NETCore", core);
            }

            context = core.Context;

            NativeCore.Initialize();
            CSComponentCore.Initialize();

#if ATOMIC_DESKTOP
            string[] arguments = Environment.GetCommandLineArgs();
            foreach (string arg in arguments)
            {
                AppBase.AddArgument(arg);
            }
#endif
        }
Exemplo n.º 12
0
        public void TestSetMaxRetainPercentShouldSetMaxAndVal()
        {
            ResourceModule resourceModule = new ResourceModule("Zoms", 100f, 100f, _subResourceModuleOwner, _subEventContext);

            resourceModule.SetMaxRetainPercent(200f);

            Assert.AreEqual(200, resourceModule.IValue);
            Assert.AreEqual(200, resourceModule.IMax);
            Assert.AreEqual(1f, resourceModule.Percent);
        }
Exemplo n.º 13
0
        public void TestCanSpendFalse()
        {
            ResourceModule resourceModule =
                new ResourceModule("Buns", 100f, 100f, _subResourceModuleOwner, _subEventContext);

            bool succ = resourceModule.Spend(90f);

            Assert.True(succ);
            Assert.False(resourceModule.CanSpend(11f));
            Assert.True(resourceModule.CanSpend(10f));
        }
Exemplo n.º 14
0
        public void TestSetMaxShouldSetMaxButNotVal()
        {
            ResourceModule resourceModule = new ResourceModule("Zoms", 100f, 100f, _subResourceModuleOwner, _subEventContext);

            Assert.AreEqual(100, resourceModule.IMax);

            resourceModule.SetMax(150f);

            Assert.AreEqual(150, resourceModule.IMax);
            Assert.AreEqual(100, resourceModule.IValue);
        }
Exemplo n.º 15
0
        public void TestResourceModuleShouldBeConstructed()
        {
            ResourceModule resourceModule = new ResourceModule("Test", 100f, 40f, _subResourceModuleOwner, _subEventContext);

            Assert.AreEqual("Test", resourceModule.Name);
            Assert.AreEqual(100f, resourceModule.FMax);
            Assert.AreEqual(40f, resourceModule.FValue);
            Assert.AreEqual(100, resourceModule.IMax);
            Assert.AreEqual(40, resourceModule.IValue);
            Assert.AreEqual(0.4f, resourceModule.Percent);
        }
Exemplo n.º 16
0
        public void TestReplenishShouldOnlyOverrunWhenTrue()
        {
            ResourceModule resourceModule = new ResourceModule("Glif", 100f, 99f, _subResourceModuleOwner, _subEventContext);

            resourceModule.Replenish(2f);

            Assert.AreEqual(100f, resourceModule.FValue);

            resourceModule.Replenish(10f, true);

            Assert.AreEqual(110f, resourceModule.FValue);
        }
Exemplo n.º 17
0
        private void UpdatePieceSkin(int skin)
        {
            switch (skin)
            {
            case 0: ResourceModule.GetInstance().UpdatePieceResource(new BasicPiece()); break;

            case 1: ResourceModule.GetInstance().UpdatePieceResource(new ColorfulPiece()); break;

            case 2: ResourceModule.GetInstance().UpdatePieceResource(new _3DPiece()); break;

            default:
                ResourceModule.GetInstance().UpdatePieceResource(new BasicPiece()); break;
            }
        }
Exemplo n.º 18
0
 public static void ResourceModule_GetInteractions_Postfix(ResourceModule __instance, ref IEnumerable <InteractionRestricted> __result)
 {
     if (__instance.GetResource() == Resource.Wood)
     {
         __result = new List <InteractionRestricted>()
         {
             new InteractionRestricted(Specialization.ChopTrees, new List <InteractionRestriction>()
             {
                 new InteractionRestrictionDesignation(Designation.CutTree),
                 new InteractionRestrictionWoodStockpile()
             })
         };
     }
 }
Exemplo n.º 19
0
        public Grup(ResourceModule start)
        {
            this.isValid = true;
            start.part.vessel.partsManager.resourceGrups.Add(this);
            this.resourceType = start.resourceType;
            List <ResourceModule> list = new List <ResourceModule>();

            Ref.connectionCheckId++;
            start.part.connectionCheckId = Ref.connectionCheckId;
            list.Add(start);
            List <Part> list2 = new List <Part>(1)
            {
                start.part
            };

            while (list2.Count > 0)
            {
                for (int i = 0; i < list2[0].joints.Count; i++)
                {
                    if (list2[0].joints[i].fuelFlow)
                    {
                        Part part = (!(list2[0].joints[i].fromPart == list2[0])) ? list2[0].joints[i].fromPart : list2[0].joints[i].toPart;
                        if (part.connectionCheckId != Ref.connectionCheckId)
                        {
                            ResourceModule resourceModule = part.GetResourceModule();
                            if (!(resourceModule == null) && !(start.resourceType != resourceModule.resourceType))
                            {
                                part.connectionCheckId = Ref.connectionCheckId;
                                list2.Add(part);
                                resourceModule.resourceGrup = this;
                                list.Add(resourceModule);
                            }
                        }
                    }
                }
                list2.RemoveAt(0);
            }
            this.resourceModules = list.ToArray();
            this.resourceSpace   = 0f;
            this.resourceAmount  = 0f;
            for (int j = 0; j < this.resourceModules.Length; j++)
            {
                this.resourceModules[j].resourceGrup = this;
                this.resourceSpace  += this.resourceModules[j].resourceSpace;
                this.resourceAmount += this.resourceModules[j].resourceAmount.floatValue;
            }
            this.SetTanks();
        }
Exemplo n.º 20
0
        public static void Initialize()
        {
            // Atomic Modules
            CoreModule.Initialize();
            MathModule.Initialize();
            EngineModule.Initialize();
            InputModule.Initialize();
            IOModule.Initialize();
            ResourceModule.Initialize();
            AudioModule.Initialize();
            GraphicsModule.Initialize();
            SceneModule.Initialize();
            Atomic2DModule.Initialize();
            Atomic3DModule.Initialize();
            NavigationModule.Initialize();
            NetworkModule.Initialize();
            PhysicsModule.Initialize();
            EnvironmentModule.Initialize();
            UIModule.Initialize();
            IPCModule.Initialize();
            AtomicAppModule.Initialize();
            ScriptModule.Initialize();

            AtomicNETScriptModule.Initialize();
            AtomicNETNativeModule.Initialize();

            PlayerModule.Initialize();

            coreDelegates = new CoreDelegates();
            coreDelegates.eventDispatch  = NativeCore.EventDispatch;
            coreDelegates.updateDispatch = NativeCore.UpdateDispatch;

            IntPtr coreptr = csb_Atomic_NETCore_Initialize(ref coreDelegates);

            NETCore core = (coreptr == IntPtr.Zero ? null : NativeCore.WrapNative <NETCore>(coreptr));

            if (core != null)
            {
                AtomicNET.RegisterSubsystem("NETCore", core);
            }

            context = core.Context;

            NativeCore.Initialize();
            CSComponentCore.Initialize();
        }
Exemplo n.º 21
0
 static public void Initialize()
 {
     ContainerModule.Initialize();
     CoreModule.Initialize();
     MathModule.Initialize();
     EngineModule.Initialize();
     InputModule.Initialize();
     IOModule.Initialize();
     ResourceModule.Initialize();
     AudioModule.Initialize();
     GraphicsModule.Initialize();
     SceneModule.Initialize();
     Atomic2DModule.Initialize();
     Atomic3DModule.Initialize();
     NavigationModule.Initialize();
     NetworkModule.Initialize();
     PhysicsModule.Initialize();
     EnvironmentModule.Initialize();
     UIModule.Initialize();
     NETCoreModule.Initialize();
     NETScriptModule.Initialize();
     AtomicPlayer.PlayerModule.Initialize();
 }
Exemplo n.º 22
0
 public bool GetResourceSource()
 {
     for (int i = 0; i < this.part.joints.Count; i++)
     {
         if (this.part.joints[i].fuelFlow)
         {
             Part           part           = (!(this.part.joints[i].fromPart == this.part)) ? this.part.joints[i].fromPart : this.part.joints[i].toPart;
             ResourceModule resourceModule = part.GetResourceModule();
             if (!(resourceModule == null))
             {
                 if (resourceModule.resourceGrup == null || !resourceModule.resourceGrup.isValid)
                 {
                     this.resourceSource = new ResourceModule.Grup(resourceModule);
                 }
                 else
                 {
                     this.resourceSource = resourceModule.resourceGrup;
                 }
                 return(true);
             }
         }
     }
     return(false);
 }
Exemplo n.º 23
0
 public void Init(ref ResourceModule module)
 {
     this.module = module;
     bind();
 }
Exemplo n.º 24
0
 private void dToolStripMenuItem_Click(object sender, EventArgs e)
 {
     ResourceModule.GetInstance().UpdatePieceResource(new _3DPiece());
     this.RefreshBoard();
 }
Exemplo n.º 25
0
        public void TestResourcePercentReturnsHigherThan1WhenOverMax()
        {
            ResourceModule resourceModule = new ResourceModule("Test", 100f, 150f, _subResourceModuleOwner, _subEventContext);

            Assert.AreEqual(1.5, resourceModule.Percent);
        }
Exemplo n.º 26
0
        public void TestResourcePercentReturns0WhenMaxIsVeryCloseTo0()
        {
            ResourceModule resourceModule = new ResourceModule("Test", 0.0001f, 40f, _subResourceModuleOwner, _subEventContext);

            Assert.AreEqual(0, resourceModule.Percent);
        }