本文整理汇总了C#中Cocos2D.CCBReader.ReadInt方法的典型用法代码示例。如果您正苦于以下问题:C# CCBReader.ReadInt方法的具体用法?C# CCBReader.ReadInt怎么用?C# CCBReader.ReadInt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cocos2D.CCBReader
的用法示例。
在下文中一共展示了CCBReader.ReadInt方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ParsePropTypeBlock
protected virtual BlockData ParsePropTypeBlock(CCNode node, CCNode parent, CCBReader reader)
{
string selectorName = reader.ReadCachedString();
var selectorTarget = (CCBTargetType) reader.ReadInt(false);
if (selectorTarget != CCBTargetType.None)
{
object target = null;
if (!reader.IsJSControlled())
{
if (selectorTarget == CCBTargetType.DocumentRoot)
{
target = reader.AnimationManager.RootNode;
}
else if (selectorTarget == CCBTargetType.Owner)
{
target = reader.Owner;
/* Scripting specific code because selector function is common for all callbacks.
* So if we had 1 target and 1 selector function, the context (callback function name)
* would get lost. Hence the need for a new target for each callback.
*/
if (reader._hasScriptingOwner)
{
var proxy = (ICCBScriptOwnerProtocol) reader.Owner;
if (proxy != null)
{
target = proxy.CreateNew() as object;
}
}
}
if (target != null)
{
if (selectorName.Length > 0)
{
Action<object> selMenuHandler = null;
var targetAsCCBSelectorResolver = target as ICCBSelectorResolver;
if (targetAsCCBSelectorResolver != null)
{
selMenuHandler = targetAsCCBSelectorResolver.OnResolveCCBCCMenuItemSelector(target,
selectorName);
}
if (selMenuHandler == null)
{
ICCBSelectorResolver ccbSelectorResolver = reader.SelectorResolver;
if (ccbSelectorResolver != null)
{
selMenuHandler = ccbSelectorResolver.OnResolveCCBCCMenuItemSelector(target,
selectorName);
}
}
if (selMenuHandler == null)
{
CCLog.Log("Skipping selector '{0}' since no CCBSelectorResolver is present.",
selectorName);
}
else
{
var blockData = new BlockData();
blockData.mSELMenuHandler = selMenuHandler;
blockData.mTarget = target;
return blockData;
}
}
else
{
CCLog.Log("Unexpected empty selector.");
}
}
else
{
CCLog.Log("Unexpected NULL target for selector.");
}
}
else
{
if (selectorTarget == CCBTargetType.DocumentRoot)
{
reader.AddDocumentCallbackNode(node);
reader.AddDocumentCallbackName(selectorName);
}
else
{
reader.AddOwnerCallbackNode(node);
reader.AddOwnerCallbackName(selectorName);
}
}
}
return null;
}
示例2: ParsePropTypeBlockCcControl
protected virtual BlockCCControlData ParsePropTypeBlockCcControl(CCNode node, CCNode parent, CCBReader reader)
{
string selectorName = reader.ReadCachedString();
var selectorTarget = (CCBTargetType) reader.ReadInt(false);
var controlEvents = (CCControlEvent) reader.ReadInt(false);
if (selectorTarget != CCBTargetType.None)
{
if (!reader.IsJSControlled())
{
object target = null;
if (selectorTarget == CCBTargetType.DocumentRoot)
{
target = reader.AnimationManager.RootNode;
}
else if (selectorTarget == CCBTargetType.Owner)
{
target = reader.Owner;
}
if (target != null)
{
if (selectorName.Length > 0)
{
Action<object, CCControlEvent> selCCControlHandler = null;
var targetAsCCBSelectorResolver = target as ICCBSelectorResolver;
if (targetAsCCBSelectorResolver != null)
{
selCCControlHandler = targetAsCCBSelectorResolver.OnResolveCCBCCControlSelector(target,
selectorName);
}
if (selCCControlHandler == null)
{
ICCBSelectorResolver 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.");
}
}
else
{
if (selectorTarget == CCBTargetType.DocumentRoot)
{
reader.AddDocumentCallbackNode(node);
reader.AddDocumentCallbackName(selectorName);
}
else
{
reader.AddOwnerCallbackNode(node);
reader.AddOwnerCallbackName(selectorName);
}
}
}
return null;
}
示例3: ParseProperties
public virtual void ParseProperties(CCNode node, CCNode parent, CCBReader reader)
{
int numRegularProps = reader.ReadInt(false);
int numExturaProps = reader.ReadInt(false);
int propertyCount = numRegularProps + numExturaProps;
for (int i = 0; i < propertyCount; i++)
{
bool isExtraProp = (i >= numRegularProps);
int type = reader.ReadInt(false);
string propertyName = reader.ReadCachedString();
// Check if the property can be set for this platform
bool setProp = false;
var platform = (PlatformType) reader.ReadByte();
if (platform == PlatformType.All)
{
setProp = true;
}
#if __CC_PLATFORM_IOS
if(platform == kCCBPlatform.kCCBPlatformIOS)
{
setProp = true;
}
#elif __CC_PLATFORM_MAC
if(platform == kCCBPlatform.kCCBPlatformMac)
{
setProp = true;
}
#endif
// Forward properties for sub ccb files
if (node is CCBFile)
{
var ccbNode = (CCBFile) node;
if (ccbNode.FileNode != null && isExtraProp)
{
node = ccbNode.FileNode;
// Skip properties that doesn't have a value to override
var extraPropsNames = (List<string>) node.UserObject;
bool bFound = false;
foreach (var pObj in extraPropsNames)
{
if (pObj == propertyName)
{
bFound = true;
break;
}
}
setProp &= bFound;
}
}
else if (isExtraProp && node == reader.AnimationManager.RootNode)
{
var extraPropsNames = (List<string>) node.UserObject;
if (extraPropsNames == null)
{
extraPropsNames = new List<string>();
node.UserObject = extraPropsNames;
}
extraPropsNames.Add(propertyName);
}
switch ((CCBPropertyType) type)
{
case CCBPropertyType.Position:
{
CCPoint position = ParsePropTypePosition(node, parent, reader, propertyName);
if (setProp)
{
OnHandlePropTypePosition(node, parent, propertyName, position, reader);
}
break;
}
case CCBPropertyType.Point:
{
CCPoint point = ParsePropTypePoint(node, parent, reader);
if (setProp)
{
OnHandlePropTypePoint(node, parent, propertyName, point, reader);
}
break;
}
case CCBPropertyType.PointLock:
{
CCPoint pointLock = ParsePropTypePointLock(node, parent, reader);
if (setProp)
{
OnHandlePropTypePointLock(node, parent, propertyName, pointLock, reader);
}
break;
}
case CCBPropertyType.Size:
{
CCSize size = ParsePropTypeSize(node, parent, reader);
if (setProp)
{
//.........这里部分代码省略.........
示例4: ParsePropTypeBlendFunc
protected virtual CCBlendFunc ParsePropTypeBlendFunc(CCNode node, CCNode parent, CCBReader reader)
{
int source = reader.ReadInt(false);
int destination = reader.ReadInt(false);
CCBlendFunc blendFunc;
blendFunc.Source = source;
blendFunc.Destination = destination;
return blendFunc;
}
示例5: ParsePropTypeIntegerLabeled
protected virtual int ParsePropTypeIntegerLabeled(CCNode node, CCNode parent, CCBReader reader)
{
return reader.ReadInt(true);
}
示例6: ParsePropTypeFloatScale
protected virtual float ParsePropTypeFloatScale(CCNode node, CCNode parent, CCBReader reader)
{
float f = reader.ReadFloat();
int type = reader.ReadInt(false);
if ((CCBScaleType) type == CCBScaleType.MultiplyResolution)
{
f *= CCBReader.ResolutionScale;
}
return f;
}
示例7: ParsePropTypeScaleLock
protected virtual float[] ParsePropTypeScaleLock(CCNode node, CCNode parent, CCBReader reader, string propertyName)
{
float x = reader.ReadFloat();
float y = reader.ReadFloat();
var type = (CCBScaleType) reader.ReadInt(false);
CCBHelper.SetRelativeScale(node, x, y, type, propertyName);
if (reader.AnimatedProperties.Contains(propertyName))
{
var baseValue = new List<CCBValue>
{
new CCBValue(x),
new CCBValue(y),
new CCBValue((int) type)
};
reader.AnimationManager.SetBaseValue(baseValue, node, propertyName);
}
if (type == CCBScaleType.MultiplyResolution)
{
x *= CCBReader.ResolutionScale;
y *= CCBReader.ResolutionScale;
}
var scaleLock = new float[2];
scaleLock[0] = x;
scaleLock[1] = y;
return scaleLock;
}
示例8: ParsePropTypeSize
protected virtual CCSize ParsePropTypeSize(CCNode node, CCNode parent, CCBReader reader)
{
float width = reader.ReadFloat();
float height = reader.ReadFloat();
int type = reader.ReadInt(false);
CCSize containerSize = reader.AnimationManager.GetContainerSize(parent);
switch ((SizeType) type)
{
case SizeType.Absolute:
{
/* Nothing. */
break;
}
case SizeType.RelativeContainer:
{
width = containerSize.Width - width;
height = containerSize.Height - height;
break;
}
case SizeType.Percent:
{
width = (int) (containerSize.Width * width / 100.0f);
height = (int) (containerSize.Height * height / 100.0f);
break;
}
case SizeType.HorizontalPercent:
{
width = (int) (containerSize.Width * width / 100.0f);
break;
}
case SizeType.VerticalPercent:
{
height = (int) (containerSize.Height * height / 100.0f);
break;
}
case SizeType.MultiplyResolution:
{
float resolutionScale = CCBReader.ResolutionScale;
width *= resolutionScale;
height *= resolutionScale;
break;
}
default:
{
CCLog.Log("Unknown CCB type.");
}
break;
}
return new CCSize(width, height);
}
示例9: ParsePropTypePosition
protected virtual CCPoint ParsePropTypePosition(CCNode node, CCNode parent, CCBReader reader, string propertyName)
{
float x = reader.ReadFloat();
float y = reader.ReadFloat();
var type = (CCBPositionType) reader.ReadInt(false);
CCSize containerSize = reader.AnimationManager.GetContainerSize(parent);
CCPoint pt = CCBHelper.GetAbsolutePosition(new CCPoint(x, y), type, containerSize, propertyName);
node.Position = CCBHelper.GetAbsolutePosition(pt, type, containerSize, propertyName);
if (reader.AnimatedProperties.Contains(propertyName))
{
var baseValue = new List<CCBValue>
{
new CCBValue(x),
new CCBValue(y),
new CCBValue((int) type)
};
reader.AnimationManager.SetBaseValue(baseValue, node, propertyName);
}
return pt;
}