예제 #1
0
        public override void AwakeComponent()
        {
            /*tokenBuckets[0] = new LeakyTokenBucket(3, 5);
             * tokenBuckets[1] = new LeakyTokenBucket(3, 5);
             * loadBalancer = new LeakyTokenBucket(35, 10);
             */tokenBuckets[0] = new LeakyTokenBucket(9, 15);
            tokenBuckets[1] = new LeakyTokenBucket(9, 15);
            loadBalancer    = new LeakyTokenBucket(100, 30);

            Game.current.tokenBuckets.Add(tokenBuckets[0]);
            Game.current.tokenBuckets.Add(tokenBuckets[1]);
            Game.current.tokenBuckets.Add(loadBalancer);
            speed = TraversalSpeed;
            base.AwakeComponent();

            TBFlash_Escalators_Utils.TBFlashLogger(Log.FromPool("").WithCodepoint());

            GameObject go0 = new GameObject("light0go");

            light0 = go0.AddComponent <SpriteRenderer>();

            GameObject go1 = new GameObject("light1go");

            light1 = go1.AddComponent <SpriteRenderer>();
        }
예제 #2
0
 public override void SetDirection(FloorPortal.CurrentDir dir)
 {
     TBFlash_Escalators_Utils.TBFlashLogger(Log.FromPool("").WithCodepoint());
     if (isBidirectional)
     {
         dir = FloorPortal.CurrentDir.BiDirectional;
     }
     base.SetDirection(dir);
     SetupLightColors(dir == FloorPortal.CurrentDir.One_To_Zero);
 }
예제 #3
0
 private void SetupLightColors(bool flip)
 {
     TBFlash_Escalators_Utils.TBFlashLogger(Log.FromPool("").WithCodepoint());
     if (light0 == null || light1 == null)
     {
         return;
     }
     if (flip)
     {
         light0.color = new Color(0f, 1f, 0f, 0.1f);
         light1.color = new Color(1f, 0f, 0f, 0.1f);
         return;
     }
     light0.color = new Color(1f, 0f, 0f, 0.1f);
     light1.color = new Color(0f, 1f, 0f, 0.1f);
 }
예제 #4
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            string text = serializer.Deserialize <string>(reader);

            if (text == null)
            {
                return(null);
            }
            IPrefab prefab = GUID.Fetch(int.Parse(text));

            if (prefab == null)
            {
                TBFlash_Escalators_Utils.TBFlashLogger(Log.FromPool(string.Format("GUID.Fetch {0} was NULL // NOT FOUND", text)).WithCodepoint());
                return(null);
            }
            if (prefab.zone != null)
            {
                return(prefab.zone);
            }
            if (prefab.agent != null)
            {
                return(prefab.agent);
            }
            if (prefab.iPoolable != null)
            {
                return(prefab.iPoolable);
            }
            if (prefab.prefab != null)
            {
                Component component = prefab.prefab.gameObject.GetComponent(usingType);
                if (component == null)
                {
                    TBFlash_Escalators_Utils.TBFlashLogger(Log.FromPool("NULL GetComponent<T> Lookup").WithCodepoint());
                }
                return(component);
            }
            TBFlash_Escalators_Utils.TBFlashLogger(Log.FromPool("NULL GetComponent<T> Lookup").WithCodepoint());
            return(null);
        }
예제 #5
0
 public TBFlash_Converter()
 {
     usingType = typeof(T);
     TBFlash_Escalators_Utils.TBFlashLogger(Log.FromPool($"Created TBFlash_Converter of Type: {usingType}").WithCodepoint());
 }