protected virtual BlockCCControlData ParsePropTypeBlockCcControl(CCNode node, CCNode parent, CCBReader reader) { string selectorName = reader.ReadCachedString(); var selectorTarget = (kCCBTargetType) reader.ReadInt(false); var controlEvents = (CCControlEvent) reader.ReadInt(false); if (selectorTarget != kCCBTargetType.kCCBTargetTypeNone) { object target = null; if (selectorTarget == kCCBTargetType.kCCBTargetTypeDocumentRoot) { target = reader.AnimationManager.RootNode; } else if (selectorTarget == kCCBTargetType.kCCBTargetTypeOwner) { target = reader.Owner; } if (target != null) { if (selectorName.Length > 0) { SEL_CCControlHandler selCCControlHandler = null; var targetAsCCBSelectorResolver = target as CCBSelectorResolver; if (targetAsCCBSelectorResolver != null) { selCCControlHandler = targetAsCCBSelectorResolver.OnResolveCCBCCControlSelector(target, selectorName); } if (selCCControlHandler == null) { CCBSelectorResolver ccbSelectorResolver = reader.SelectorResolver; if (ccbSelectorResolver != null) { selCCControlHandler = ccbSelectorResolver.OnResolveCCBCCControlSelector(target, selectorName); } } if (selCCControlHandler == null) { CCLog.Log("Skipping selector '{0}' since no CCBSelectorResolver is present.", selectorName); } else { var blockCCControlData = new BlockCCControlData(); blockCCControlData.mSELCCControlHandler = selCCControlHandler; blockCCControlData.mTarget = target; blockCCControlData.mControlEvents = controlEvents; return blockCCControlData; } } else { CCLog.Log("Unexpected empty selector."); } } else { CCLog.Log("Unexpected NULL target for selector."); } } return null; }
protected virtual void OnHandlePropTypeBlockCcControl(CCNode node, CCNode parent, string propertyName, BlockCCControlData blockControlData, CCBReader reader) { CCLog.Log("Unexpected property type: '{0}'!", propertyName); Debug.Assert(false); }