Exemplo n.º 1
0
        //moved it to util for easier implementation with MAD
        public static void DestroyNCreateGlower(ThingWithComps parent, ColorInt glowColour, float glowRadius, Map map)
        {
            CompGlower      oldGlower = null;
            CompPowerTrader pwrTrader = null;

            List <ThingComp> list = parent.GetComps();

            foreach (ThingComp comp in list)
            {
                if (typeof(CompGlower) == comp.GetType())
                {
                    oldGlower = (CompGlower)comp;
                }
                if (typeof(CompPowerTrader) == comp.GetType())
                {
                    pwrTrader = (CompPowerTrader)comp;
                }
            }

            if (oldGlower != null)
            {
                //Boolean isLit = oldGlower.;
                //oldGlower.Lit = false;
                //parent.BroadcastCompSignal("FlickedOff");

                //oldGlower.PostDeSpawn();
                map.glowGrid.DeRegisterGlower(oldGlower);

                CompGlower newGlower = Util.newCompGlower(parent, glowColour, glowRadius);
                list.Remove(oldGlower);
                list.Add(newGlower);
                //Find.GlowGrid.RegisterGlower(newGlower);

                //(CompGlower)oldGlower.


                //replaced with an extention to thingWithComps... doesnt feel safe but hey
                //typeof(BuildingGlowTnC).GetField("comps", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(parent, List_AllThingComps);
                parent.SetComps(list);
                //parent.BroadcastCompSignal("FlickedOn");

                newGlower.UpdateLit(map);
                //newGlower.Lit = false;
                updateMap(parent.Position, map);


                //if (pwrTrader != null)
                //{
                //    if (isLit && pwrTrader.PowerOn)
                //    {
                //        newGlower.Lit = true;
                //    }
                //}
            }
        }
Exemplo n.º 2
0
        //moved it to util for easier implementation with MAD
        public static void DestroyNCreateGlower(ThingWithComps parent, ColorInt glowColour, float glowRadius)
        {
            CompGlower oldGlower = null;
            CompPowerTrader pwrTrader = null;

            List<ThingComp> list = parent.GetComps();

            foreach (ThingComp comp in list)
            {
                if (typeof(CompGlower) == comp.GetType())
                {
                    if (oldGlower == null)
                    {
                        oldGlower = (CompGlower)comp;
                    }

                }
                if (typeof(CompPowerTrader) == comp.GetType())
                {
                    pwrTrader = (CompPowerTrader)comp;
                }
            }
            if (oldGlower != null)
            {

                Boolean isLitoldGlower = oldGlower.Lit;
                oldGlower.Lit = false;

                CompGlower newGlower = Util.newCompGlower(parent, glowColour, glowRadius);
                list.Remove(oldGlower);
                list.Add(newGlower);

                parent.SetComps(list);

                newGlower.Lit = false;
                updateMap(parent.Position);

                if (pwrTrader != null)
                {
                    if (isLitoldGlower && pwrTrader.PowerOn)
                    {
                        newGlower.Lit = true;
                    }
                }
            }

        }
Exemplo n.º 3
0
        //moved it to util for easier implementation with MAD
        public static void DestroyNCreateGlower(ThingWithComps parent, ColorInt glowColour, float glowRadius)
        {
            CompGlower      oldGlower = null;
            CompPowerTrader pwrTrader = null;

            List <ThingComp> list = parent.GetComps();

            foreach (ThingComp comp in list)
            {
                if (typeof(CompGlower) == comp.GetType())
                {
                    if (oldGlower == null)
                    {
                        oldGlower = (CompGlower)comp;
                    }
                }
                if (typeof(CompPowerTrader) == comp.GetType())
                {
                    pwrTrader = (CompPowerTrader)comp;
                }
            }
            if (oldGlower != null)
            {
                Boolean isLitoldGlower = oldGlower.Lit;
                oldGlower.Lit = false;

                CompGlower newGlower = Util.newCompGlower(parent, glowColour, glowRadius);
                list.Remove(oldGlower);
                list.Add(newGlower);

                parent.SetComps(list);

                newGlower.Lit = false;
                updateMap(parent.Position);

                if (pwrTrader != null)
                {
                    if (isLitoldGlower && pwrTrader.PowerOn)
                    {
                        newGlower.Lit = true;
                    }
                }
            }
        }