private void AdditionalColorSet(Library_SpriteStudio6.Control.AdditionalColor additionalColor) { AdditionalColor = additionalColor; if ((null != DataAnimation) && (null != TableControlParts)) { int count; int indexParts; int[] tableIndexParts = null; /* Set child-"Instance"s */ tableIndexParts = DataAnimation.CatalogParts.TableIDPartsInstance; if (null != tableIndexParts) { count = tableIndexParts.Length; for (int i = 0; i < count; i++) { indexParts = tableIndexParts[i]; if (null != TableControlParts[indexParts].InstanceRootUnderControl) { TableControlParts[indexParts].InstanceRootUnderControl.AdditionalColorSet(additionalColor); } } } /* Set child-"Effect"s */ tableIndexParts = DataAnimation.CatalogParts.TableIDPartsEffect; if (null != tableIndexParts) { count = tableIndexParts.Length; for (int i = 0; i < count; i++) { indexParts = tableIndexParts[i]; if (null != TableControlParts[indexParts].InstanceRootEffectUnderControl) { TableControlParts[indexParts].InstanceRootEffectUnderControl.AdditionalColor = additionalColor; } } } } }
/* ******************************************************** */ //! Create "AdditionalColor" Parameter /*! * @param flagInvolveChildren * true == Children are set same buffer.<br> * false == only oneself.<br> * default: true * @retval Return-Value * "AdditionalColor" Setting Buffer * * Get(Create) the Parameter-Buffer of "AdditionalColor" for instances of this class.<br> * <br> * Caution that "Additional-Color" affects differs for each animation-object.<br> * <br> * - Script_SpriteStudio 6_Root (Animation)<br> * Overwrite "Parts Color" attribute state for all sprite data used in animation. (No effect to "Mask")<br> * <br> * - Script_SpriteStudio6_RootEffect (Effect)<br> * Execute processing equivalent to animation's "Parts Color" attribute for all particles' vertex-color used in "Effect".<br> * (The result color is "particles' vertex-color processed with AdditionalColor" * "pixel of particle")<br> * <br> * When continue using AdditionalColor, need not to call this function more than once.<br> * <br> * The detail of how to set, refer to the commentary of "Library_SpriteStudio6.Control.AdditionalColor".<br> */ public Library_SpriteStudio6.Control.AdditionalColor AdditionalColorCreate(bool flagInvolveChildren = true) { Library_SpriteStudio6.Control.AdditionalColor additionalColor = AdditionalColor; if (null == additionalColor) { /* Create Parameter-instance */ additionalColor = new Library_SpriteStudio6.Control.AdditionalColor(); if (null == additionalColor) { /* Error */ return(null); } additionalColor.BootUp(); if (true == flagInvolveChildren) { AdditionalColorSet(additionalColor); } else { AdditionalColor = additionalColor; } } return(additionalColor); }
void Start() { /* Initialize WorkArea */ FlagPaddingZeroPrevious = !FlagPaddingZero; /* Since this value can not be set with initializer... */ FlagProportionalPrevious = !FlagProportional; FlagChangeColorPrevious = !FlagChangeColorPrevious; FlagVibrationPrevious = !FlagVibrationPrevious; /* Get Animation Control Script-Component */ GameObject gameObjectBase = GameObjectRoot; if(null == gameObjectBase) { gameObjectBase = gameObject; } /* MEMO: "Script_SpriteStudio6_Root.Parts.RootGet" is function for finding "Script_SpriteStudio6_Root" in GameObjects below. */ /* (However, "Instance" is excluded. Find only "Highest-Root"-parts) */ /* You can find "shallowest hierarchy"-one from direct-children, but not guarantee the shallowest when deeper than children. */ /* Because wasteful to search every time access, recommend to cache. */ ScriptRoot = Script_SpriteStudio6_Root.Parts.RootGet(gameObjectBase); if(null == ScriptRoot) { /* Error */ return; } /* Set UserData callback function */ /* MEMO: Set up function to handle UserData callback. */ /* To avoid receiving UserData callback, set "ScriptRoot.FunctionUserData" to null. */ ScriptRoot.FunctionUserData = FunctionCallBackUserData; /* Get Animation Index */ /* MEMO: Collect animation-indexs ahead of time. */ /* Every change animation, also you can get index by name. */ /* But wasteful to search each time. */ TableIndexAnimation = AnimationIndexGet(); if(null == TableIndexAnimation) { return; } /* Animation Start */ KindAnimationPlay = (true == FlagVibration) ? KindAnimation.ANIMATION_VIBRATION : KindAnimation.ANIMATION_NOMOVE; AnimationPlay(); /* Get Digit's Animation Parts */ TablePartsDigit = PartsInformationGet(); if(null == TablePartsDigit) { return; } /* MEMO: When position refresh occurs at animation initialize, refresh is prohibited */ /* to prevent overwriting position of digits' animation parts set at Update() with refreshing. */ int countPartsDigit = TablePartsDigit.Length; int idParts; for(int i=0; i<countPartsDigit; i++) { idParts = TablePartsDigit[i].IDParts; if(0 <= idParts) { ScriptRoot.RefreshCancelTransform(idParts, true, false, false); } } /* Get Cell Information */ TableCellCharacter = CellInformationGet(); if(null == TableCellCharacter) { return; } /* Create Additional-Color Parameter */ /* MEMO: Call "AdditionalColorRelease" when created parameter with "AdditionalColorCreate" are no longer used. */ AdditionalColor = ScriptRoot.AdditionalColorCreate(); /* Initialize Complete */ FlagInitialized = true; }