示例#1
0
        // Execute the action
        public int Execute(HeroKitObject hko)
        {
            heroKitObject = hko;

            // get field values
            startColor = ColorValue.GetValue(heroKitObject, 0);
            speed      = IntegerFieldValue.GetValueA(heroKitObject, 1) * 0.01f;

            // get the fade UI
            HeroKitObject targetObject = HeroKitCommonRuntime.GetPrefabFromAssets(HeroKitCommonRuntime.settingsInfo.fadeInOutScreen, true);
            bool          runThis      = (targetObject != null);

            if (runThis)
            {
                targetObject.gameObject.SetActive(true);

                // fade out the scene
                uiColor             = targetObject.GetHeroComponent <UIColor>("UIColor", true);
                uiColor.targetImage = targetObject.GetComponentInChildren <Image>(true);
                uiColor.targetColor = startColor;
                uiColor.startColor  = new Color(0, 0, 0, 0);
                uiColor.speed       = speed;
                uiColor.Initialize();

                // set up update for long action
                eventID = heroKitObject.heroStateData.eventBlock;
                heroKitObject.heroState.heroEvent[eventID].waiting = true;
                updateIsDone = false;
                heroKitObject.longActionsFixed.Add(this);
            }

            // show debug message
            if (heroKitObject.debugHeroObject)
            {
                string debugMessage = "Speed: " + speed + "\n" +
                                      "Start Color:" + startColor;
                Debug.Log(HeroKitCommonRuntime.GetActionDebugInfo(heroKitObject, debugMessage));
            }

            // return value
            return(-99);
        }